
Hi
On Fri, Sep 12, 2014 at 7:57 AM, Mike Looijmans mike.looijmans@topic.nl wrote:
On 09/12/2014 06:04 AM, Anatol Pomozov wrote:
Hi
I bringing up a board that has Realtek 5677 codec. The codec has 6 gpios and two of them are used by the board. pin3 is used to enable headphones amplifier. pin2 is used to gate DMIC clock for 3 of 4 DMICs
- it allows to leave only one DMIC working in low-power mode.
Now I need to configure the codec that when "Headphones" audio path is enabled then pin3 should go high. The same true for DMIC/pin2. I was looking for existing similar solutions but cannot find one.
I need something similar to SND_SOC_DAPM_REGULATOR_SUPPLY that allows to turn on/off part of the system. But instead of manipulating a voltage regulator I just need to set/unset codec's gpio. What would be the best way to achieve it?
You can "convert" gpios to supply regulators using a "fixed" regulator driver (instantiated in the devicetree, or platform code on older kernels).
In my case it is not a system gpio, it is an audio codec pin. To configure these pins I need to program codec (rt5677) registers. Pins drive devices like headphones amp.
To convert the pins to gpio devicetree object I need to implement a driver similar to gpio-tegra.c. The driver will expose rt5677 pins as gpio. And then use fixed-regulator. Do I understand your proposal correctly?
Is there an easier way?