IMX8 Audio声卡

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 录音
    具体参数,要看需要。

 

你可能感兴趣的:(Android驱动开发,imx8,audio,sai,esai)