Hi Marrek,
On 2018-07-19 09:58, Belisko Marek wrote:
root@letux:~# lsmod|fgrep aess snd_soc_omap_aess 61440 2 snd_soc_omap_abe_twl6040,snd_soc_omap_mcpdm root@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@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@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@letux:~# file /lib/firmware/omap_aess-adfw.bin /lib/firmware/omap_aess-adfw.bin: data root@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@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...
I don't get that point. By 'wrap' you mean this extra data on the beginning which we cannot parse due to the soc-topology or? Thanks for clarification.
Yes, the 'wrap' is the ASoC Dynamic Firmware stuff which need to be replaced by soc-topology. The Dynamic Firmware evolved to soc-topology over time. The asoc-fw should give details on what ADFW was adding to the firmware and I believe most of the functionality exist in soc-topology with different name or in a bit different way.
It was created with: https://github.com/omap-audio/abefw/tree/peter/bnw https://github.com/omap-audio/asoc-fw/tree/peter/bnw
I tried to compile tools but it fails (I can report what was the problem)
They will only compile with https://github.com/omap-audio/linux-audio/commits/next-bnw/ti-audio-next_3.1...
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.
Not I'm bit confused. So which repo we should use to get AESS FW up & running in 4.17 kernel. Thanks ;)
The AESS firmware itself is in the abefw repo. See the peter/bnw branch. I have one patch on top which makes it compile with my bnw rewrite of the AESS/ABE code (bnw == Brave New World). As it is, it depends on the 3.15 bnw kernel to get the base addresses.
This will give you the AESS firmware itself which can be loaded to AESS.
On top of that you need to create the soc-topology image using the AESS firmware and using the information in asoc-fw repo on what we did with the dynamic firmware.
- Péter
BR,
marek
BR, Nikolaus
BR, Nikolaus
BR,
marek
Am 09.07.2018 um 21:56 schrieb H. Nikolaus Schaller hns@goldelico.com:
> Am 09.07.2018 um 20:36 schrieb Belisko Marek marek.belisko@gmail.com: > > Hi Nikolaus, > On Mon, Jul 9, 2018 at 8:08 PM H. Nikolaus Schaller hns@goldelico.com wrote: >> >> Hi Marek, >> >>> Am 05.07.2018 um 16:31 schrieb Belisko Marek marek.belisko@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@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@goldelico.com wrote: >>>>> >>>>> >>>>>> Am 05.07.2018 um 10:53 schrieb Belisko Marek marek.belisko@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@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@letux:~# uname -a >> Linux letux 4.17.0-letux+ #2535 SMP PREEMPT Mon Jul 9 17:32:57 CEST 2018 armv7l GNU/Linux >> root@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...) >> because that version includes some significant fixes and this may be part of your trouble. >> >> 2. aess driver is loaded (but not firmware) >> >> root@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@letux:~# >> >> root@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@letux:~# >> >> 3. aplay does only report the HDMI encoder >> >> root@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@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@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
- Péter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki