Re: [PATCHv2 5/7] ASoC: TWL6030: Add support for low-power mode

Mark Brown
2009-09-28T13:28:00Z

On Fri, Sep 25, 2009 at 09:03:30PM -0500, Lopez Cruz, Misael wrote:

> TWL6030 codec supports two power modes: low-power and high
> performance.

> In low-power mode, headset downlink must be the only path enabled
> and components in that path (headset DAC and driver) should be in
> that mode too. In this mode, codec can stream audio at 44.1 and
> 48 kHz if sys clock from CLK32K is configured to 17.64 and 19.2
> MHz using low-power PLL, respectively.

> In high-performance mode, codec can only work at 19.2 MHz from
> high-performance PLL. All paths supported in the codec can be used
> but audio can be streamed only at 48 kHz.

The driver should also set constraints at runtime so that applications
know they shouldn't use an unsupported sample rate. See wm8988 for an
example of doing this - it has some similar SYSCLK based restrictions.

It also strikes me that this is something that should be exposed to user
space since if there's a 19.2MHz MCLK it's something that the system
could reasonably want to activate and deactivate on the fly. For bonus
points the driver could prevent switching to low power mode if any paths
are active which conflict with it. Doing it automatically would be
ideal but since it sounds like a performance degradation to use low
power mode that's not really suitable.