hi NXP supports,
I used yocto-real-time time-edge v2.5 to build the yocto-real-time time-edge-to-plc project and add ALSA support. add ALSA featrue in conf as follows:
IMAGE_INSTALL:append = "alsa-lib "
IMAGE_INSTALL:append = "alsa-plugins "
IMAGE_INSTALL:append = "alsa-utils "
IMAGE_INSTALL:append = "alsa-state "
I used this image to record micfil audio card, but it failed, I don't know the reason, could you please help me check? Thinks!
root@imx8mp-lpddr4-evk:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: btscoaudio [bt-sco-audio], device 0: 30c20000.sai-bt-sco-pcm-wb bt-sco-pcm-wb-0 [30c20000.sai-bt-sco-pcm-wb bt-sco-pcm-wb-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: imxaudiomicfil [imx-audio-micfil], device 0: micfil hifi snd-soc-dummy-dai-0 [micfil hifi snd-soc-dummy-dai-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@imx8mp-lpddr4-evk:~# arecord -D hw:imxaudiomicfil,0 -f S32_LE -r 48000 -c 4 -vvv 1.wav
Recording WAVE '1.wav' : Signed 32 bit Little Endian, Rate 48000 Hz, Channels 4
Hardware PCM card 1 'imx-audio-micfil' device 0 subdevice 0
Its setup is:
stream : CAPTURE
access : RW_INTERLEAVED
format : S32_LE
subformat : STD
channels : 4
rate : 48000
exact rate : 48000 (48000/1)
msbits : 32
buffer_size : 24570
period_size : 4095
period_time : 85312
tstamp_mode : NONE
tstamp_type : MONOTONIC
period_step : 1
avail_min : 4095
period_event : 0
start_threshold : 1
stop_threshold : 24570
silence_threshold: 0
silence_size : 0
boundary : 6915840177780817920
appl_ptr : 0
hw_ptr : 0
arecord: pcm_read:2221: read error: Cannot allocate memory
I used “dmsg” dump system error log as follows:
[ 31.714402] can2-stby: disabling
[ 60.384644] cfg80211: failed to load regulatory.db
[ 60.411305] imx-sdma 30e10000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[ 60.411320] imx-sdma 30e10000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin
[ 60.859400] fsl-micfil-dai 30ca0000.micfil: qsel = 201326592.
[ 60.859415] fsl-micfil-dai 30ca0000.micfil: clk_div = 2
[ 60.860097] imx-sdma 30e10000.dma-controller: sdma firmware not ready!
[ 60.860115] fsl-micfil-dai 30ca0000.micfil: ASoC: error at soc_component_trigger on 30ca0000.micfil: -12
[ 121.822450] imx-sdma 30bd0000.dma-controller: external firmware not found, using ROM firmware
[ 121.822567] imx-sdma 30e10000.dma-controller: external firmware not found, using ROM firmware
Hello,
Please try to modify the recipe, using default configuration as reference. Add:
packagegroup-real-time-edge-multimedia \
Best regards.
Hello,
Please try to use nxp-image-real-time-edge.bb and add:
net-tools \
Maybe there is a dependency in the packages.
Best regards.
hi@JorgeCas,
It seems that the firmware-imx has not been deploy into the real-time-edge-plc image. How should the Yocto project be configured to directly import firmware-imx into the image?
Another issue was also discovered. If the file "sdma-imx7d.bin" from the "firmware-imx" directory is manually imported into the "/lib/firmware/imx/sdma/" directory, the system will fail to read this file for the first time during startup, how did this happen?
root@imx8mp-lpddr4-evk:~# dmesg | grep imx-sdma
[ 0.128511] imx-sdma 30bd0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[ 0.128521] imx-sdma 30bd0000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin
[ 60.412773] imx-sdma 30bd0000.dma-controller: firmware found.
[ 60.412931] imx-sdma 30bd0000.dma-controller: loaded firmware 4.6
[ 60.413103] imx-sdma 30e10000.dma-controller: firmware found.
Hello,
Are you using our EVK?
How is connected your microphone?
Also, please share your device tree configuration.
Best regards.