[Letux-kernel] AESS driver

Peter Ujfalusi peter.ujfalusi at ti.com
Wed Jul 18 10:28:48 CEST 2018


Hi,

On 2018-07-10 10:12, H. Nikolaus Schaller wrote:
> Hi Marek,
> 
>> Am 10.07.2018 um 08:10 schrieb Belisko Marek <marek.belisko at gmail.com>:
>>
>> Hi Nikolaus,
>> On Tue, Jul 10, 2018 at 8:06 AM H. Nikolaus Schaller <hns at goldelico.com> wrote:
>>>
>>> Hi Marek,
>>> I merged letux-4.17.3 (and replaced the gab driver merge conflict by the new version).
>>> Then I added the firmware ED had sent by mail and got this:
>> cool thanks. I plan to do it today but you're faster than me ;).
> 
> Well, I did take a shortcut by merge+quick fix. Should better be a rebase so that we can
> have all aess stuff at the tip of the branch.
> 
>>>
>>> root at letux:~# lsmod|fgrep aess
>>> snd_soc_omap_aess      61440  2 snd_soc_omap_abe_twl6040,snd_soc_omap_mcpdm
>>> root at letux:~# dmesg|fgrep aess
>>> [    6.349644] aess 401f1000.aess: ASoC: invalid header size for type 0 at offset 0x0 size 0x1a5e8.
>>> [    6.362569] aess 401f1000.aess: request for AESS FW failed -22
>>> [    6.373974] aess 401f1000.aess: ASoC: failed to probe component -22
>>> root at letux:~# aplay -l
>>> **** List of PLAYBACK Hardware Devices ****
>>> card 0: H58040000encode [HDMI 58040000.encoder], device 0: HDMI 58040000.encoder snd-soc-dummy-dai-0 []
>>>  Subdevices: 1/1
>>>  Subdevice #0: subdevice #0
>>> root at letux:~# ls -l /lib/firmware/omap_aess-adfw.bin
>>> -rw-r--r-- 1 root root 108008 Jul 10 05:57 /lib/firmware/omap_aess-adfw.bin
>>> root at letux:~# file /lib/firmware/omap_aess-adfw.bin
>>> /lib/firmware/omap_aess-adfw.bin: data
>>> root at letux:~# xxd /lib/firmware/omap_aess-adfw.bin | head -10
>>> 0000000: 436f 5341 0100 0000 0500 0000 0000 0000  CoSA............
>>> 0000010: a032 0f00 4404 0000 0500 0000 444c 3120  .2..D.......DL1
>>> 0000020: 4571 7561 6c69 7a65 7200 0000 0000 0000  Equalizer.......
>>> 0000030: 0000 0000 0000 0000 0000 0000 0683 8300  ................
>>> 0000040: 0300 0000 0000 0000 3b00 0000 0000 0000  ........;.......
>>> 0000050: 0000 0000 0500 0000 ffff ffff 466c 6174  ............Flat
>>> 0000060: 2052 6573 706f 6e73 6500 0000 0000 0000   Response.......
>>> 0000070: 0000 0000 0000 0000 0000 0000 3830 3048  ............800H
>>> 0000080: 7a20 4850 4620 3064 4200 0000 0000 0000  z HPF 0dB.......
>>> 0000090: 0000 0000 0000 0000 0000 0000 3830 3048  ............800H
>>> root at letux:~#
>>>
>>> This seems to confirm that the firmware blob is not what the driver code expects...
>> Hmm well then we need to get it somehow from TI guys. Do you have any
>> contact? Thanks.
> 
> Peter should have best contacts and recommendations. So I put him on To: address.

the omap-aess-adfw.bin is the AESS firmware with the
dynamic firmware 'wrap'. It is most likely not what you want...

It was created with:
https://github.com/omap-audio/abefw/tree/peter/bnw
https://github.com/omap-audio/asoc-fw/tree/peter/bnw

the abefw repo contains the bare AESS firmware. There are instructions
on how to build it.

The asoc-fw repo is to build the ASoC dynamic firmware image using the
fw image from abefw.

- Péter

> 
> BR,
> Nikolaus
> 
>>>
>>> BR,
>>> Nikolaus
>>>
>>
>> BR,
>>
>> marek
>>>
>>>> Am 09.07.2018 um 21:56 schrieb H. Nikolaus Schaller <hns at goldelico.com>:
>>>>
>>>>
>>>>> Am 09.07.2018 um 20:36 schrieb Belisko Marek <marek.belisko at gmail.com>:
>>>>>
>>>>> Hi Nikolaus,
>>>>> On Mon, Jul 9, 2018 at 8:08 PM H. Nikolaus Schaller <hns at goldelico.com> wrote:
>>>>>>
>>>>>> Hi Marek,
>>>>>>
>>>>>>> Am 05.07.2018 um 16:31 schrieb Belisko Marek <marek.belisko at gmail.com>:
>>>>>>>
>>>>>>> Moving forward a bit:
>>>>>>> dmesg | grep -i aess
>>>>>>> [    6.698601] aess 401f1000.aess: ASoC: dai register 401f1000.aess #6
>>>>>>> [    6.722268] aess 401f1000.aess: ASoC: invalid header size for type
>>>>>>> 0 at offset 0x0 size 0x1a5e8.
>>>>>>> [    6.778381] aess 401f1000.aess: request for AESS FW failed -22
>>>>>>> [    6.784506] aess 401f1000.aess: ASoC: failed to probe component -22
>>>>>>>
>>>>>>> looks like I need to grab some other FW. Everything (wip) pushed to:
>>>>>>> work-aess-4.17.3
>>>>>>>
>>>>>>> BR,
>>>>>>>
>>>>>>> marek
>>>>>>> On Thu, Jul 5, 2018 at 3:26 PM Belisko Marek <marek.belisko at gmail.com> wrote:
>>>>>>>>
>>>>>>>> Hi Nikolaus,
>>>>>>>>
>>>>>>>> yes it needs more patches from ti, working on it.
>>>>>>>>
>>>>>>>> BR,
>>>>>>>>
>>>>>>>> marek
>>>>>>>> On Thu, Jul 5, 2018 at 3:22 PM H. Nikolaus Schaller <hns at goldelico.com> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Am 05.07.2018 um 10:53 schrieb Belisko Marek <marek.belisko at gmail.com>:
>>>>>>>>>>
>>>>>>>>>> Hi Nikouals,
>>>>>>>>>>
>>>>>>>>>> on my aess branch when added compatible to dts I cannot boot kernel at all:
>>>>>>>>>> [    0.000000] Booting Linux on physical CPU 0x0
>>>>>>>>>> [    0.000000] Linux version 4.17.0-letux+ (marek at mbuntu) (gcc version
>>>>>>
>>>>>> I have tried to compile, which went fine, and I was able to boot.
>>>>>> But I did not have installed the firmware...
>>>>>>
>>>>>> Some observations:
>>>>>> 1. the kernel reports to be letux-4.17.0 and not 4.17.3
>>>>> OK this is minor stuff I think.
>>>>
>>>> Well, for example, letux-4.17.0 does not have our GAB out-of-bounds write fix.
>>>> So this may trigger unexpected side-effects. And there were also other minor
>>>> issues.
>>>>
>>>>> My problem now is that during FW
>>>>> loading I get an parse error. So IMO it looks like FW is not correct.
>>>>> I need to dig to the code in soc-topology.c what it is parsing and try
>>>>> to find such areas in actual firmware.
>>>>
>>>> Ok, fine that you have a traceable symptom!
>>>>
>>>> BR,
>>>> Nikolaus
>>>>
>>>>
>>>>>>
>>>>>> root at letux:~# uname -a
>>>>>> Linux letux 4.17.0-letux+ #2535 SMP PREEMPT Mon Jul 9 17:32:57 CEST 2018 armv7l GNU/Linux
>>>>>> root at letux:~#
>>>>>>
>>>>>> I'd suggest to merge/rebase on top of letux-4.17.3
>>>>>> (http://git.goldelico.com/?p=letux-kernel.git;a=shortlog;h=refs/heads/letux-4.17.3)
>>>>>> because that version includes some significant fixes and this may be part of your trouble.
>>>>>>
>>>>>> 2. aess driver is loaded (but not firmware)
>>>>>>
>>>>>> root at letux:~# dmesg|fgrep aess
>>>>>> [    6.044004] omap-abe-twl6040 sound: Direct firmware load for omap_aess-adfw.bin failed with error -2
>>>>>> [    6.095322] omap-abe-twl6040 sound: Failed to load firmware omap_aess-adfw.bin: -2
>>>>>> root at letux:~#
>>>>>>
>>>>>> root at letux:~# lsmod|fgrep abe
>>>>>> snd_soc_omap_abe_twl6040    20480  0
>>>>>> snd_soc_twl6040        28672  1 snd_soc_omap_abe_twl6040
>>>>>> snd_soc_omap_mcbsp     24576  1 snd_soc_omap_abe_twl6040
>>>>>> snd_soc_omap_aess      61440  2 snd_soc_omap_abe_twl6040,snd_soc_omap_mcpdm
>>>>>> root at letux:~#
>>>>>>
>>>>>> 3. aplay does only report the HDMI encoder
>>>>>>
>>>>>> root at letux:~# aplay -l
>>>>>> **** List of PLAYBACK Hardware Devices ****
>>>>>> card 0: H58040000encode [HDMI 58040000.encoder], device 0: HDMI 58040000.encoder snd-soc-dummy-dai-0 []
>>>>>> Subdevices: 1/1
>>>>>> Subdevice #0: subdevice #0
>>>>>> root at letux:~#
>>>>>>
>>>>>> I hope this helps to move forwards.
>>>>>>
>>>>>> BR,
>>>>>> Nikolaus
>>>>>>
>>>>>
>>>>> BR,
>>>>>
>>>>> marek
>>>>>
>>>>> --
>>>>> 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
>>>>
>>>> _______________________________________________
>>>> http://projects.goldelico.com/p/gta04-kernel/
>>>> Letux-kernel mailing list
>>>> Letux-kernel at openphoenux.org
>>>> http://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel
>>>
>>
>>
>> -- 
>> 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
> 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki


More information about the Letux-kernel mailing list