[alsa-devel] [PATCH] ASoC: wm8903: add regulator handling

Charles Keepax ckeepax at opensource.wolfsonmicro.com
Mon Mar 20 12:51:55 CET 2017


On Mon, Mar 20, 2017 at 10:13:52AM +0100, Linus Walleij wrote:
> The WM8903 has four different voltage inputs: AVDD, CPVDD, DBVDD
> and DCVDD. On the Qualcomm APQ8060 Dragonboard these are all
> supplied from proper regulators and thus need activating and
> binding.
> 
> This is a quick-and-dirty solution just grabbing and enabling the
> regulator supplies on probe() and disabling them on remove() and
> the errorpath. More elaborate power management is likely possible.
> 
> I assume the nVidia designs using this codec have some hard-wired
> always-on power and will be happy with using the dummy regulators
> for this. But someone from the nVidia camp should probably check
> whether they can bind these to proper regulators instead.
> 
> We also amend the DT binding document. A small change like this
> does not warrant a separate patch for augmenting these.
> 
> Cc: devicetree at vger.kernel.org
> Cc: Mark Brown <broonie at kernel.org>
> Cc: Liam Girdwood <lgirdwood at gmail.com>
> Cc: Stephen Warren <swarren at nvidia.com>
> Cc: Charles Keepax <ckeepax at opensource.wolfsonmicro.com>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
> Mark: I was thinking about adding runtime PM for disabling
> these regulators when unused, but I'm uncertain about the
> interaction with DAPM in that regard. This atleast gives us
> control over the supplies.

DAPM will hold a pm_runtime reference whilst the chip is active
so usually there isn't really much interaction to worry about.

I think the patch looks fine for a first pass adding the supplies
to me, someone can always add the suspend/resume and controlling
the supplies across that when they need it.

Acked-by: Charles Keepax <ckeepax at opensource.wolfsonmicro.com>

Thanks,
Charles


More information about the Alsa-devel mailing list