[Letux-kernel] AESS

Belisko Marek marek.belisko at gmail.com
Fri Aug 3 08:03:25 CEST 2018

Hi Nikolaus,
On Thu, Aug 2, 2018 at 9:06 PM H. Nikolaus Schaller <hns at goldelico.com> wrote:
> Hi,
> > Am 02.08.2018 um 11:51 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
> >
> > Hi,
> > while Marek is trying to get the firmware properly built and/or loaded,
> > I have started to rebase the aess patch set on top of 4.18.
> >
> > The key issue and task is to get rid of all sound_soc_platform
> > references and replace by sound_soc_component.
> >
> > To make it a little more clear which files we touch, I have rearranged
> > and reworded the patch set so that we can easily identify the subsystem.
> > And patches affecting more than one are split up into two patches now.
> >
> > So basically, there are three groups of patches:
> >
> > a) for sound/soc - they mainly export internal functions or add new helper functions
> >   I am not sure if these patches are still needed and/or good
> >
> > b) sound/soc/omap - here we add an mcasp driver, make mcbsp export functions and
> >   the main change is to add firmware download to abe-twl6040.
> >
> > c) sound/soc/omap/aess - this is the real aess driver
> >
> > The next steps are:
> >
> > 1. fix compile issues in sound/soc/core
> >
> > 2. upstream abe-twl6040 driver has already been converted to sound_soc_component,
> >   so I have to make sure that patching in the firmware loader code does not undo
> >   something important...
> >
> > 3. go through the aess code and convert to sound_soc_component
> >   This may make some patches of a) no longer needed. Some of them might need
> >   additional modifications.
> >
> > The current work is here:
> >
> > http://git.goldelico.com/?p=gta04-kernel.git;a=shortlog;h=refs/heads/work-aess
> >
> > I plan to add patches for each step.
> Well, I tried to work on 1. first, but it turned out to be a mess.
> Therefore I reverted all(most all) sound/soc/core patches and started to work on 2.
> It was partially straightforward, partially difficult to decide what is new, what
> is needed and and what is duplicated code... So I hope I did not introduce too many
> bugs we have to hunt...
> Regarding 1. I did just need to copy&paste two helper functions to make 2. compiling.
> Which means, that the new abe-twl6040 doesn't rely on patches for sound/soc.
> Here is the first result:
> http://git.goldelico.com/?p=letux-kernel.git;a=shortlog;h=refs/heads/work-aess
> http://git.goldelico.com/?p=letux-kernel.git;a=blob;f=sound/soc/omap/omap-abe-twl6040.c;h=c2bfcc40bbd3f0f18ee0e549fd792900644acc1a;hb=27760c1a5f65c0c426c3ea646868d126ba3d39ef
> I have collected some questions for review at the beginning of the code.
Cool I'l take a loot.
> What I also observed is that there is addidtional stuff we do not necessarily
> need for the Pyra, and which should IMHO go into separate patches against
> upstream:
> * special support for OMAP4_SDP
> * spdif stuff
> * support for multiple DMICs
> BTW: if we disable AESS it should compile fine - and we should be able to test
> if the twl6040 audio still works or is broken...
> So the next big step is 3. Let's see how many of the patches from 1. we really
> need. The less we need them, the better...
I'm still strugling with creating aess FW which can be loaded properly
with recent kernel.
Basically old asoc-fw repo have methods to create dynamic wrap which
is prepend at the beginning of firmware (part which soc-topology then
As Peter mentioned it work only with 3.15 linux-audio kernel. Problem
is that from 3.15 to 4.17(18) a lot of headers was changed. I tried
simply use 4.17 kernel
header to compile but basically it's mess (kernel headers are changes
so dramatically and I spend 1 hour only trying to resolve error issues
but without success).
So I decided to first try only aess FW without wrap header and after
hacking of driver I also cannot load because something was missing
from header (some memory offsets or so).

I think we should first try to use firmware without dynamic header (at
least it should do something) and then try to somehow update it (can
be lot of time consuming). Ideas? Thanks.

> BR,
> Nikolaus


as simple and primitive as possible
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com

More information about the Letux-kernel mailing list