[Letux-kernel] AESS / Audio Driver for Pyra

H. Nikolaus Schaller hns at goldelico.com
Mon Oct 29 15:42:49 CET 2018

Hi all,

> Am 29.10.2018 um 13:50 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>> Am 29.10.2018 um 12:44 schrieb Michael Mrozek <EvilDragon at openpandora.org>:
>> Hi,
>> AESS / Audio is one of the biggest remaining issues we have on the Pyra.
>> Everything else seems to work good enough for a start now, but missing audio on
>> a gaming handheld is a bit annoying :)
>> With some kernel version, speaker output stopped completely, but Nikolaus is
>> currently looking into what changed with each kernel version and when exactly it
>> stopped working to get this to work again, at least.
> Ok, here is the result:
> letux-4.16-rc3	is the last version where audio works fine
> letux-4.16-rc4	makes the play command stop after some random time (ca. 1 .. 8 seconds)
> 		and audio sounds fluttering like a damaged capstan
> In letux-4.17 and later there is no sound from the handsfree speakers any more,
> but headsets work. At least sometimes.

I have tried to find diffs for twl6040 or generally sound/ or mcpdm driver or
device tree changes. But there aren't any.

What I did ffind is a diff in the letux_defconfig:

> -# CONFIG_CPU_IDLE is not set
> +
> +#
> +# ARM CPU Idle Drivers
> +#

Could CPU_IDLE break the twl6040 audio subsystem? No idea. Therefore, I tried to remove it from 4.19.

And ... it makes audio work!

So we have a simple fix for 4.19. Although no explanation. And no idea how to make it work with CONFIG_CPU_IDLE=y.

If I now look at the commit message where it was introduced into letux-4.16-rc4:


it says:

	CPU idle support was not enabled, so lets enable it.
	That reduces the idle current seen by around 10mA.

(where the 10mA refers to the GTA04 board.)

BTW: omap2plus_defconfig also sets this config (but because the omap5evm has no handsfree speakers
I assume nobody can notice such audio problems).

So we face this situation:
* CONFIG_CPU_IDLE=y reduces idle current of OMAP3 by 10mA (important ower saving!)
* CONFIG_CPU_IDLE=y breaks audio on OMAP5 + twl6040 (but not on OMAP4 + twl6040)

Which config can we use that works for both, GTA04 and Pyra?


More information about the Letux-kernel mailing list