[linux-sunxi] Re: [PATCH v3 3/3] ARM: dts: sun4i: gemei-g9: Enable sun4i audio codec support
Hans de Goede
hdegoede at redhat.com
Fri Nov 20 00:23:05 PST 2015
Hi,
On 20-11-15 03:56, Chen-Yu Tsai wrote:
> 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.
Right, I needed support for the pa pin on one of my own tablets, and
there things just did not work without it.
Note this patch is ready for upstream submission, I just did not get
around to submitting it yet (I wrote it Tuesday evening).
Regards,
Hans
>
> 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