[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