I’m missing the audio devices on my HummingBoard Pulse & i.MX8M Plus.
I’m using the yocto gatesgarth imx8mpsolidrun image provided by solidrun.
aplay -L only display the null and die pulse audio interface, no hardware audio interfaces.
I found some messages around the audio interfaces in dmesg:
[ 1.827337] fsl-sai 30c30000.sai: failed to get bus clock: -517
[ 1.835206] fsl-easrc 30c90000.easrc: failed to get mem clock
[ 1.843562] imx-cdnhdmi sound-hdmi: failed to find SAI platform device
[ 1.850122] imx-cdnhdmi: probe of sound-hdmi failed with error -22
[ 6.213189] wm8904 1-001a: supply DCVDD not found, using dummy regulator
[ 6.218952] basler_camera_driver_vvcam: loading out-of-tree module taints kernel.
[ 6.222899] at24 0-0050: 256 byte 24c02 EEPROM, writable, 16 bytes/write
[ 6.223725] wm8904 1-001a: supply DBVDD not found, using dummy regulator
[ 6.223769] wm8904 1-001a: supply AVDD not found, using dummy regulator
[ 6.223807] wm8904 1-001a: supply CPVDD not found, using dummy regulator
[ 6.223845] wm8904 1-001a: supply MICVDD not found, using dummy regulator
[ 6.230431] wm8904 1-001a: Failed to read ID register: -6
Support for this hardware has been added in our upcoming hardknott yocto release, and should be able to be integrated into gategarth as well. The kernel repository is here GitHub - SolidRun/linux-stable at lf-5.10.72-2.2.0-sr and the meta layer and official image will be out this week.
I still get into trouble with audio playback using your pre-built image, imx8mp_yocto_hardknott-5.10.72-2.2.0/imx-image-full-imx8mpsolidrun-20220225.rootfs.wic.bz2. wm8904 is found by gst-device-monitor-1.0
but the process of playing audio test is failed as below.
root@imx8mpsolidrun:~# gst-launch-1.0 audiotestsrc ! alsasink device="hw:1\,0"
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not get/set settings from/on resource.
Additional debug info:
../git/ext/alsa/gstalsasink.c(658): set_hwparams (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Unable to set hw params for playback: Invalid argument
ERROR: pipeline doesn't want to preroll.
ERROR: from element /GstPipeline:pipeline0/GstAlsaSink:alsasink0: Could not get/set settings from/on resource.
Setting pipeline to NULL ...
Additional debug info:
../git/ext/alsa/gstalsasink.c(982): gst_alsasink_prepare (): /GstPipeline:pipeline0/GstAlsaSink:alsasink0:
Setting of hwparams failed: Invalid argument
ERROR: pipeline doesn't want to preroll.
Freeing pipeline ...