Alsa sound card not found when setting Linux kernel configratuon CONFIG_IMX_SDMA=m

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Alsa sound card not found when setting Linux kernel configratuon CONFIG_IMX_SDMA=m

3,703 次查看
jerry_zeng1
Contributor IV

Hi NXP support,

I faced the problem about ALSA sound card detection issue. The reference yocto BSP is imx-yocto-L5.15.32-2.0.0. My board uses iMX6dp and sgtl5000 audio codec.

When I set CONFIG_IMX_SDMA=m or do not set CONFIG_IMX_SDMA the Linux kernel detected sgtl5000 codec, but ALSA device list complained "No soundcards found.". If I make CONFIG_IMX_SDMA=y the sgtl5000 codec is detected, and "ALSA device list" shows "#0: sgtl5000-audio".

On old Yocto BSP version, we set CONFIG_IMX_SDMA=m, and ALSA sound card was detected. I prefer to make CONFIG_IMX_SDMA=m, because we need iMX6 SDMA for the RS-485 communication.

Thanks for the help.

Jerry

标签 (1)
0 项奖励
回复
5 回复数

3,665 次查看
jimmychan
NXP TechSupport
NXP TechSupport

Is there any error message during boot up?

0 项奖励
回复

3,656 次查看
jerry_zeng1
Contributor IV

The following is the portion of kernel boot messages for your reference.

1. CONFIG_IMX_SDMA=m

...

[ 2.143352] mxc_vpu 2040000.vpu_fsl: VPU initialized
[ 2.151141] sgtl5000 0-000a: sgtl5000 revision 0x11
[ 2.180601] random: fast init done

...

[ 2.535362] fsl-ssi-dai 2028000.ssi: Unbalanced pm_runtime_enable!
[ 2.542383] ALSA device list:
[ 2.545397] No soundcards found.
[ 2.582753] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: disabled.
[ 2.592948] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 2.602724] devtmpfs: mounted

...

2. CONFIG_IMX_SDMA=y

...

[ 2.181997] mxc_vpu 2040000.vpu_fsl: VPU initialized
[ 2.189832] sgtl5000 0-000a: sgtl5000 revision 0x11
[ 2.219494] random: fast init done

...

[ 2.555106] hub 2-0:1.0: 1 port detected
[ 2.561200] imx_thermal 20c8000.anatop:tempmon: Industrial CPU temperature grade - max:105C critical:100C passive:95C
[ 2.573154] ALSA device list:
[ 2.576133] #0: sgtl5000-audio
[ 2.608892] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: disabled.
[ 2.619079] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 2.628700] devtmpfs: mounted

...

0 项奖励
回复

3,639 次查看
jimmychan
NXP TechSupport
NXP TechSupport

"we need iMX6 SDMA for the RS-485 communication.".

 

>> As you need the SDMA, why not set CONFIG_IMX_SDMA to "y".

0 项奖励
回复

3,626 次查看
jerry_zeng1
Contributor IV

When I set CONFIG_IMX_SDMA as "y" Linux kernel failed to load SDMA firmware. You can see it from the following boot messages.

...

[ 0.292756] mxc_sdc_fb fb@0: registered mxc display driver ldb
[ 0.391028] Console: switching to colour frame buffer device 100x30
[ 0.431837] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with e2
[ 0.431860] imx-sdma 20ec000.sdma: Falling back to sysfs fallback for: imx/sdma/sdma-imx6q.bin
[ 0.433512] mxs-dma 110000.dma-apbh: initialized
[ 0.438043] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 30, base_baud = 5000000) is a IMX
[ 1.397003] printk: console [ttymxc0] enabled

...

My understanding is that the SDMA firmware (sdma-imx6q.bin) is not the part of Linux kernel image. It's why we need to set CONFIG_IMX_SDMA as "m" (kernel module)

0 项奖励
回复

3,619 次查看
jimmychan
NXP TechSupport
NXP TechSupport

The firmware is in the firmware-imx package.

You could add "firmware-imx" package in your image building.

0 项奖励
回复