[linux-sunxi] Re: [PATCH v3 3/3] ARM: dts: sun4i: gemei-g9: Enable sun4i audio codec support
Chen-Yu Tsai
wens at csie.org
Thu Nov 19 18:56:16 PST 2015
On Fri, Nov 20, 2015 at 12:09 AM, Maxime Ripard
<maxime.ripard at free-electrons.com> wrote:
> Hi,
>
> On Thu, Nov 12, 2015 at 08:53:19PM +0200, Priit Laes wrote:
>> On Mon, 2015-11-09 at 11:59 +0800, Chen-Yu Tsai wrote:
>> > On Sat, Nov 7, 2015 at 1:54 AM, Priit Laes <plaes at plaes.org> wrote:
>> > > Gemei G9 has internal speakers and headphone jack. Audio switching
>> > > from internal speakers to headphones is automatically handled by
>> > > extra FT2012Q audio amplifier chip that works out of the box.
>> >
>> > Nice that it works out of the box. The FEX file does mention:
>> >
>> > audio_pa_ctrl = port:PH15<1><default><default><0>
>>
>> Nice catch.
>>
>> Setting it low mutes audio, and setting it back high unmutes.
>
> Then you just volunteered yourself to fix the FIXME in the driver ;)
>
Hans seems to have a patch for this in his sunxi-wip branch.
I haven't looked at it though.
ChenYu
>> > So either it is floating or pulled up by default? Since it works
>> > now I don't see any reason to block it. On the other hand once
>> > that binding is introduced it would be nice to add it for power
>> > management reasons.
>>
>> Should I just add comment about it or do something like this:
>>
>> &codec {
>> status = "okay";
>> /*
>> * TODO: Add codec_ext_pwr_pin to turn off external audio AMP
>> &pio {
>> codec_ext_pwr_pin: codec_ext_pwr_pin at 0 {
>> allwinner,pins = "PH15";
>> allwinner,function = "gpio_out";
>> allwinner,drive = <SUN4I_PINCTRL_10_MA>;
>> allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
>> }
>> }
>> */
>> }
>
> More like
>
> &pio {
> codec_ext_pwr_pin: codec_ext_pwr_pin at 0 {
> allwinner,pins = "PH15";
> allwinner,function = "gpio_out";
> allwinner,drive = <SUN4I_PINCTRL_10_MA>;
> allwinner,pull = <SUN4I_PINCTRL_PULL_UP>;
> };
> };
>
> &codec {
> /* This pin is used to turn off the GPIO amp pin */
> pinctrl-names = "default";
> pinctrl-0 <&codec_ext_pwr_pin>;
> status = "okay";
> };
>
> Of course, that's a temporary measure, and you should actually use
> that GPIO to enable / disable the Amplifier when you are playing
> sound. It shouldn't be that hard with ASoC.
>
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
More information about the linux-arm-kernel
mailing list