[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