[PATCH 8/9 v2] MXC: Add a digital audio multiplexer driver
Sascha Hauer
s.hauer at pengutronix.de
Mon Nov 30 07:10:17 EST 2009
On Mon, Nov 30, 2009 at 12:56:19PM +0100, javier Martin wrote:
> Hi Sascha,
> as you know I have been testing your i.MX27 support and I have found a
> problem in this audmux patch.
>
> Please, see my comment below:
>
>
> +++ b/arch/arm/plat-mxc/audmux-v1.c
> > @@ -0,0 +1,53 @@
> > +/*
> > + * Copyright 2009 Pengutronix, Sascha Hauer <s.hauer at pengutronix.de>
> > + *
> > + * Initial development of this code was funded by
> > + * Phytec Messtechnik GmbH, http://www.phytec.de
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License as published by
> > + * the Free Software Foundation; either version 2 of the License, or
> > + * (at your option) any later version.
> > + *
> > + * This program is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> > + * GNU General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU General Public License
> > + * along with this program; if not, write to the Free Software
> > + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> > + */
> > +
> > +#include <linux/module.h>
> > +#include <linux/err.h>
> > +#include <linux/io.h>
> > +#include <linux/clk.h>
> > +#include <mach/audmux.h>
> > +#include <mach/hardware.h>
> > +
> > +static void __iomem *audmux_base;
> > +
> > +#define MXC_AUDMUX_V1_PCR(x) ((x) * 4)
> >
>
> 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
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the linux-arm-kernel
mailing list