[PATCH 1/4] ASoC: Add TI tlv320aic32x4 codec support.

Mark Brown broonie at opensource.wolfsonmicro.com
Tue Mar 1 09:11:06 EST 2011


On Tue, Mar 01, 2011 at 08:59:23AM +0100, javier Martin wrote:

> > What are these "aic32x4_configs" all about?  They look like you're
> > setting non-default configurations...

> This tlv320aic32x4 codec is kind of a huge monster; it has more than
> 200 registers which provide more flexibility than it is needed.

So what is all this magic stuff and why is it using such an odd way of
implementing whatever it's doing?  Part of the problem here is that the
functionality is scattered all the way through the driver so it's less
clear than it should be what's going on.

> For example, BCLK and MCLK are forced here to derive from internal PLL
> which is needed for frequency calculation table to be valid. Bypassing
> this PLL doesn't provide new or better functionality.

I rather suspect it provides lower power consumption.

> The same happens regarding DAC internal connections. I don't think
> allowing the user to swap left and right channels makes sense here.

There are a number of CPUs out there that end up being happier with
channels in the wrong order due to peculiarities of the DMA.  This is
also used to get a microphone input connected to the right analogue
input to appear on the left channel of a recording for mono use.



More information about the linux-arm-kernel mailing list