We have been running kernel 4.8 with Robert C. Nelson’s patches for years on our custom embedded AM335x platform (thank you!). Our device uses many of the same components as the Beaglebone Black, including the TLV320AIC3x audio codec. We have created a custom DTS for our board, but otherwise, not made changes to his am33x-v4.8 patched kernel.
I’ve recently attempted to upgrade the kernel to LTS versions 5.4 and 5.10 by following the RobertCNelson/bb-kernel github instructions. I then added our DTS files and built the kernel with our board’s defconfig. I ran into several issues running these 5.x kernel versions:
Kernel 5.4 boots OK, but the soundcard is not found:
aplay: device_list:270: no soundcards found…
It looks like the davinci and omap sound directories were merged into the sound/soc/ti directory, and the davinci-evm machine driver config option (SND_AM33XX_SOC_EVM) we were using was removed:
With our old kernel defconfig, the davinci-evm driver was not being built in the 5.4 kernel, so I tried to build it with the SND_SOC_DAVINCI_EVM config option, but this depends on ARCH_DAVINCI, which depends on ARCH_MULTI_V5; this apparently conflicts with ARCH_MULTI_V7, which is used for the ARMv7 Cortex-A platform.
Even when I build the davinci-evm driver with a different defconfig or hack, I still do not see the soundcard. Has anyone run into anything like this with the Beaglebone Black running kernel 5.4? Maybe there is something else I need to adjust in my kernel config and/or DTS with this kernel change?
I was originally hoping to get kernel 5.10 working on our board, but I ran into an entirely different problem: the kernel wouldn’t boot; it would just hang here when starting:
Starting kernel …
We are booting the image from an eMMC, but it looks like this could be problematic?
I will keep investigating, but any help or insight you can provide would be greatly appreciated.