IMX8 Audio声卡

    技术2025-11-09  22

    IMX8 Audio接口有SAI 与 ESAI。

    确认硬件是采用哪种,然后进行配置。

     DTS相关文件: 配置相关:         Start Address    End Address   Region Size   Allocation         5907_0000        5907_FFFF     64KB          SAI3         5906_0000        5906_FFFF     64KB          SAI2         5905_0000        5905_FFFF     64KB          SAI1         5904_0000        5904_FFFF     64KB          SAI0         5902_0000        5902_FFFF     64KB          SPDIF0         5901_0000        5901_FFFF     64KB          ESAI0         5900_0000        5900_FFFF     64KB          ASRC0         SAI:         sound-sai0-card {             compatible = "fsl,imx-sai-machine";             model = "sai0-card";             cpu-dai = <&sai0>;             audio-codec = <&codec_demo1>;//声卡驱动             codec_dai_str = "codec-sai0";             //asrc-controller = <&asrc0>;//自定义,依据需要             codec-master;         };         sound-sai1-card {             compatible = "fsl,imx-sai-machine";             model = "sai1-card";             cpu-dai = <&sai1>;             audio-codec = <&codec_demo1>;//声卡驱动             codec_dai_str = "codec-sai1";             //asrc-controller = <&asrc1>;//自定义,依据需要             codec-master;         };     // ESAI     sound-esai0-card {         compatible = "fsl,imx-esai0-machine";         model = "esai-card";         esai-controller = <&esai0>;         audio-codec = <&codec_esai_demo>;//声卡驱动         //asrc-controller = <&asrc0>;//自定义,依据需要         codec-master;         clocks = <&clk IMX8QXP_AUD_MCLKOUT0>;         clock-names = "mclk";         power-domains = <&pd_mclk_out0>;         assigned-clocks = <&clk IMX8QXP_AUD_MCLKOUT0>;         assigned-clock-rates = <12288000>;         status = "okay";     };  声卡的参考驱动:     代码:         sound/soc/fsl/imx-wm8960.c  SAI声卡:     代码:         // machine 部分代码         sound/soc/fsl/imx-sai-audio.c         参考代码:         sound/soc/fsl/imx-wm8960.c         CPU DAI:         sound/soc/fsl/fsl_esai.c         Platform:         sound/soc/fsl/imx-pcm-dma-v2.c  ESAI声卡:     代码:         // machine 部分代码         sound/soc/fsl/imx-esai0-audio.c         参考代码:         sound/soc/fsl/imx-cs42888.c         CPU DAI:         sound/soc/fsl/fsl_esai.c         Platform:         sound/soc/fsl/imx-pcm-dma-v2.c         sound/soc/fsl/imx-pcm-dma.c  =================================================================================  声卡的调试:  1. 查看声卡的配置信息     /sys/kernel/debug/regmap     59010000.esai 59050000.sai 59820000.sai 59840000.amix     59040000.sai  59060000.sai 59830000.sai  2.    查看声卡的信息     $ls /proc/asound     $cat /proc/asound/cards          0 [sai0card       ]: sai0-card - sai0-card                               sai0-card          1 [sai1card       ]: sai1-card - sai1-card                               sai1-card          3 [esaicard       ]: esai-card - esai-card                               esai-card  3. 查看声卡的设备     ls /dev/snd  4. 查看sys设备file     ls /sys/class/sound 5. 调试工具,tinycap/tinyplay 播放:tinyplay /sdcard/test.wav -D 0 //-D 0 声卡1播放 录音:tinycap sdcard/test-rec.wav -D 0 -d 16 //-D0 声卡1 录音 具体参数,要看需要。

     

    Processed: 0.017, SQL: 9