Re: [PATCH] ASoC: fsl: select SND_SOC_FSL_SAI or SND_SOC_FSL_SSI depending on SoC type

From: Nicolin Chen
Date: Fri Jan 29 2016 - 01:25:40 EST


On Fri, Jan 29, 2016 at 06:51:33AM +0100, Lothar Waßmann wrote:
> Hi,
>
> On Thu, 28 Jan 2016 15:08:47 -0800 Nicolin Chen wrote:
> > On Thu, Jan 28, 2016 at 11:33:52PM +0100, Mark Brown wrote:
> > > On Wed, Jan 20, 2016 at 01:30:38PM +0100, Lothar Waßmann wrote:
> > >
> > > > - select SND_SOC_FSL_SSI
> > > > + select SND_SOC_FSL_SAI if SOC_IMX6UL
> > > > + select SND_SOC_FSL_SSI if SOC_IMX6Q || SOC_IMX6SL || SOC_IMX6SX
> > >
> > > Does this card not work for older i.MXs (which had the same SSI/AUDMUX
> > > combination as the majority of the i.MX6 family) as well?
> >
> > It's widely used in older i.MXs according to their DTS files. So
> > it should be safer to just leave SSI over here.
> >
> Nothing prevents you to enable the SSI driver on any i.MX6 module.

What about i.MX2, 3 and 5 series? Will they still be able to enable
SSI without changing .config file as usual?

> The only change I made is to select the SAI driver instead of the SSI
> driver on i.MX6UL because the i.MX6UL does not have an SSI unit!
>
> > And I actually doubt the feasibility of running this driver with
> > i.MX6UL as there might not be an AUDMUX on i.MX6UL since it does
> > not have SSI any more while the driver always touches the address
> > space of AUDMUX which may not exist on i.MX6UL.
> >
> #define this driver

Your change is applied to "SND_SOC_IMX_SGTL5000" whose corresponding
driver is the imx-sgtl5000.c file.

> The FSL_SAI driver does not touch the audmux address space in any way.

This imx-sgtl5000 driver does access AUDMUX registers. And I thought
you tried to use this one which made me very confused.

> The simple-card audio driver works perfectly well with the FSL_SAI
> driver on i.MX6UL.

It seems like you are using simple-card while letting the other driver
(imx-sgtl5000) select SAI for you. It doesn't sound so right to me.