[Letux-kernel] AESS for Pyra

H. Nikolaus Schaller hns at goldelico.com
Mon Aug 27 19:55:41 CEST 2018

I have worked a little on our patch set for omap-abe-twl6040 and AESS
and disabled some features that make trouble when no firmware can
be loaded.

Now I have a hack that does not break booting and ends up in a sound
card with ca. 7 subcards. What is strangely missing, are all mixer settings.

This version has the same problems with loading firmware as Marek reported

Most likely it is that firmware loading is a standard "topology" feature of
sound/soc/soc-topology.c which defines the header format and we know that
it has changed a while ago. So prebuilt binaries may simply be incompatible.

Well, to be honest, I understand less than 10% of the code and did only
analyse stack traces to find out why there were NULL pointer dereferences
and other issues. And find a quick work-around (mostly by disabling
offending code).

So I'd like to ask as many people as possible to dig into the code and
review and send patches. Cooperation seems to be the only way to get
this aess audio beast tames and working for us...

I don't know if there is an official Linux mailing list where this could
also be discussed. So if you know one, please forward.


Here is the patch set on top of mainline:


And here is a complete letux kernel tree with all patches plus some more for
debugging printk:


And I have collected a lot of questions, e.g. about legacy things,
missing mcpdm-abe DAI etc.:


* are omap_abe_hw_params() and omap_abe_mcpdm_hw_params() the same? then keep upstream omap_abe_hw_params() only
* what should we do with OMAP4_SDP and tps6130x stuff?
* the extension to handle more DMICs seems not to be upstream!
* support for spdif-dit unclear
* what is this "legacy" stuff? Is this still needed for anything?
* error path in probe() and to err_unregister isn't sane
* here, we have better error messages than upstream
* dmic_codec_dev is duplicated
* there is a problem with "mcbsp-abe" dai_link which is defined nowhere else
* no support for McBSP3?
* how does this twl6040_dapm_widgets[] relate to the one defined in sound/soc/codecs/twl6040.c? If at all...
* why do we define mcbsps and dai links in code; shouldn't they be by DT?

More information about the Letux-kernel mailing list