[PATCH 8/9 v2] MXC: Add a digital audio multiplexer driver
Sascha Hauer
s.hauer at pengutronix.de
Mon Nov 30 07:34:12 EST 2009
On Mon, Nov 30, 2009 at 01:25:12PM +0100, javier Martin wrote:
> > > You cannot calculate AUDMUX register offsets this way because according
> > to
> > > i.MX27 manual:
> > >
> > > 0x1001_6000 (HPCR1)
> > > 0x1001_6004 (HPCR2)
> > > 0x1001_6008 (HPCR3)
> > > 0x1001_6010 (PPCR1) <-- You are using 0x0C for this
> > > 0x1001_6014 (PPCR2) <--- You are using 0x10 for this
> > > 0x1001_601C (PPCR3) <--- You are using 0x18 for this
> >
> > It's fine the way it is. See mach/audmux.h:
> >
> > #define MX27_AUDMUX_HPCR1_SSI0 0
> > #define MX27_AUDMUX_HPCR2_SSI1 1
> > #define MX27_AUDMUX_HPCR3_SSI_PINS_4 2
> > #define MX27_AUDMUX_PPCR1_SSI_PINS_1 3
> > #define MX27_AUDMUX_PPCR2_SSI_PINS_2 4
> > #define MX27_AUDMUX_PPCR3_SSI_PINS_3 5
> >
>
>
> Sorry for my insistence but, unless I am missing something weird, I have
> looked at mach/audmux.h and still think that it is wrong:
>
> AUDMUX PORT Your offset i.MX27 Manual offset
> --------------------------- ------------------
> ---------------------------------------
> (0) HPCR1 (0 x 4) = 0x0 0x00
> (1) HPCR2 (1 x 4) = 0x4 0x04
> (2) HPCR3 (2 x 4) = 0x8 0x08
> (3) PPCR1 (3 x 4) = 0xC 0x10
> (4) HPCR2 (4 x 4) = 0x10 0x14
> (5) HPCR3 (5 x 4) = 0x14 0x1C
Oops, you're right. I have overlooked this whole in the register space.
The following should fix it.
Sascha
More information about the linux-arm-kernel
mailing list