ABE/AESS on modern kernel: clocks, hwmods etc.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Tony,
we are still struggling with ABE/AESS on the OMAP4/5 (PandaES, Pyra, OMAP5UEVM, BT-200).

Symptoms are that
* pmem access will be broken after initializing the ABE-DSP
* it seems the AES DSP is not running (and leads to timeouts when sending audio data to the buffers)
* boot issues on BT-200

What we have found is that a TI kernel v3.8 works on the OMAP5EVM but newer kernels start to fail.

A major observation ist that hwmods have been removed in smaller pieces and the last removal
was in v5.6: c33ff4c864d2b ARM: OMAP2+: Drop unused PRM defines for omap4

There are also some other unknown factors in our code where we do not know how to port to modern
kernels:
* there is a context lost code but how to make use of it?
* pmem fails unless we disable omap_aess_write_event_generator(aess, EVENT_TIMER);

It seems as if clocks and code like omap_hwmod_aess_preprogram() is missing. Especially for the
omap4 we have found no equivalent to aess_fclk which exists for omap5 and dra7.
Nowhere is a reference using the abe_iclk node.

This would mean that power/clock management for ABE/AESS is incomplete/missing.

So maybe can you review our device tree definitions?
Our patched DTS is included here:

https://github.com/goldelico/letux-kernel/tree/letux/aess-v12
https://github.com/goldelico/letux-kernel/tree/letux/aess-v12/arch/arm/boot/dts/ti/omap

and compare e.g. with the old hwmods code which is doing quite special AESS setup like

https://elixir.bootlin.com/linux/v4.18.20/source/arch/arm/mach-omap2/omap_hwmod_reset.c#L43
https://elixir.bootlin.com/linux/v4.18.20/source/include/sound/aess.h#L37

I hope that I properly summarized the discussions with Patrik and Andreas who please add if
I forgot something important.

BR and thanks,
Nikolaus





[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux