RFC: MPC5200 PSC AC97 driver
Juergen Beisert
jbe at pengutronix.de
Sat Apr 19 02:02:34 EST 2008
On Friday 18 April 2008 17:43, Peter Czanik wrote:
> Hello,
>
> Juergen Beisert írta:
> > Hi,
> >
> > if someone is interested: Here the full patch to get sound support for
> > MPC5200b and a current 2.6.25 kernel.
>
> First of all, thanks for fixing the driver. I just tested it on the
> EFIKA, it (almost) works. In its current state loading the kernel module
> results in a segfault and oops. The fix is to add a missing line to the
> device-tree. The forth version of the EFIKA fix works fine (taken from
> http://www.powerdeveloper.org/platforms/efika/devicetree ):
>
> efika:~ # cat /mnt/sound.forth
> \ FORTH
>
> s" /builtin/sound" find-device
> \ Audio is on PSC2, just for informational purposes
> 1 encode-int s" cell-index" property
> device-end
> efika:~ #
>
> But trying to fix it up from prom_init.c does not seem to work, the
> missing 'cell-index' property does not show up. Please let me know, how
> to add it properly. Here is what I tried:
>
> factory:/usr/src/linux-2.6.25 # diff -u
> arch/powerpc/kernel/prom_init.c.orig arch/powerpc/kernel/prom_init.c
> --- arch/powerpc/kernel/prom_init.c.orig 2008-04-18
> 13:55:07.000000000 +0200
> +++ arch/powerpc/kernel/prom_init.c 2008-04-18 16:26:51.000000000 +0200
> @@ -2212,6 +2212,7 @@
>
> static void __init fixup_device_tree_efika(void)
> {
> + int sound_ci = 1;
> int sound_irq[3] = { 2, 2, 0 };
> int bcomm_irq[3*16] = { 3,0,0, 3,1,0, 3,2,0, 3,3,0,
> 3,4,0, 3,5,0, 3,6,0, 3,7,0,
> @@ -2257,6 +2258,8 @@
> rv = prom_getprop(node, "interrupts", prop, sizeof(prop));
> if (rv == PROM_ERROR) {
> prom_printf("Adding sound interrupts property\n");
> + prom_setprop(node, "/builtin/sound", "cell-index",
> + &sound_ci, sizeof(int));
> prom_setprop(node, "/builtin/sound", "interrupts",
> sound_irq, sizeof(sound_irq));
> }
> factory:/usr/src/linux-2.6.25 #
>
> Bye,
> CzP
I'm not sure if "cell-index" is a correct property. I copied it from the uart
driver, because this driver needs something to distinguish between PSC1 and
PSC2. Maybe there is a better and correct oftree solution? Any oftree expert
here?
Juergen
--
Dipl.-Ing. Juergen Beisert | http://www.pengutronix.de
Pengutronix - Linux Solutions for Science and Industry
Handelsregister: Amtsgericht Hildesheim, HRA 2686
Vertretung Sued/Muenchen, Germany
Phone: +49-8766-939 228 | Fax: +49-5121-206917-9
More information about the Linuxppc-dev
mailing list