[PATCH 8/9 v2] MXC: Add a digital audio multiplexer driver

javier Martin javier.martin at vista-silicon.com
Mon Nov 30 11:15:45 EST 2009


2009/11/30 Sascha Hauer <s.hauer at pengutronix.de>

> On Mon, Nov 30, 2009 at 02:09:16PM +0100, javier Martin wrote:
> > From fa87b65915e78ad29a8e4f3f22b26ed0fa6dc7f5 Mon Sep 17 00:00:00 2001
> >
> > > From: Sascha Hauer <s.hauer at pengutronix.de>
> > > Date: Mon, 30 Nov 2009 13:31:29 +0100
> > > Subject: [PATCH] i.MX27 audmux: Fix register offsets
> > >
> > > The PPCR registers start at 0x10, not 0xc. Fix this.
> > >
> > > Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> > > ---
> > >  arch/arm/plat-mxc/include/mach/audmux.h |    6 +++---
> > >  1 files changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/arch/arm/plat-mxc/include/mach/audmux.h
> > > b/arch/arm/plat-mxc/include/mach/audmux.h
> > > index 5cd6466..dcc12d4 100644
> > > --- a/arch/arm/plat-mxc/include/mach/audmux.h
> > > +++ b/arch/arm/plat-mxc/include/mach/audmux.h
> > > @@ -4,9 +4,9 @@
> > >  #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
> > > +#define MX27_AUDMUX_PPCR1_SSI_PINS_1   4
> > > +#define MX27_AUDMUX_PPCR2_SSI_PINS_2   5
> > > +#define MX27_AUDMUX_PPCR3_SSI_PINS_3   6
> > >
> >
> > Be careful,
> > I think this patch breaks some of the boards currently using
> > MXC_AUDMUX_V1_PCR_RXDSEL(x) and similar macros defined in mach/audmux.h
> (for
> > example pcm038).
> > For those macros the old AUDMUX register indexes are fine.
> >
> > I suggest fixing this inside audmux_v1.c instead of modifying
> mach/audmux.h.
>
> Ok. The AUDMUX V1 is used on i.MX21 and i.MX27 and both have this hole
> in the register space, so fixing it in the driver should be safe.
>
> How about this one then?
>
> Sascha
>
>
> From 297b5c4cea40c2e7023bbdb96a0c90c13b0e02a1 Mon Sep 17 00:00:00 2001
> From: Sascha Hauer <s.hauer at pengutronix.de>
> Date: Mon, 30 Nov 2009 13:31:29 +0100
> Subject: [PATCH] i.MX27 audmux: Fix register offsets
>
> The PPCR registers start at 0x10, not 0xc. Fix this.
>
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> ---
>  arch/arm/plat-mxc/audmux-v1.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/plat-mxc/audmux-v1.c b/arch/arm/plat-mxc/audmux-v1.c
> index 70ab5af..8fbce7b 100644
> --- a/arch/arm/plat-mxc/audmux-v1.c
> +++ b/arch/arm/plat-mxc/audmux-v1.c
> @@ -37,6 +37,10 @@ int mxc_audmux_v1_configure_port(unsigned int port,
> unsigned int pcr)
>                return -ENOSYS;
>        }
>
> +       /* handle hole in the register space */
> +       if (port > 2)
> +               port++;
> +
>         writel(pcr, audmux_base + MXC_AUDMUX_V1_PCR(port));
>
>        return 0;
> --
> 1.6.5.2
>

Sascha,
there are actually two holes, with this current patch, PPCR3 still receives
a wrong value:

0x1001_6000 (HPCR1)
0x1001_6004 (HPCR2)
0x1001_6008 (HPCR3)
0x1001_600C (hole)
0x1001_6010 (PPCR1)
0x1001_6014 (PPCR2)
0x1001_6018 (hole)
0x1001_601C (PPCR3)


Thank you.

-- 
Javier Martin
Vista Silicon S.L.
CDTUC - FASE C - Oficina S-345
Avda de los Castros s/n
39005- Santander. Cantabria. Spain
+34 942 25 32 60
www.vista-silicon.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20091130/33464ed9/attachment-0001.htm>


More information about the linux-arm-kernel mailing list