RK3506 SAI 接口

  • 您好,我们目前没有接触过无需I2C/SPI控制的I2S CODEC,也没有专门制作教学视频的人员。
    硬件适配往往需要结合数据手册和驱动源码做调整,没有通用的方案可以适配任意Audio Codec,我们只能通过wiki做简单介绍。
  • 无需具体的CODEC,只需要能让音频信号能以I2S格式从SAI0或SAI1输出,播放wave文件时能用示波器在SAI的引脚上检测到正确信号波形即可。
  • lin2012 wrote: 2025-06-03 5:17 无需具体的CODEC,只需要能让音频信号能以I2S格式从SAI0或SAI1输出,播放wave文件时能用示波器在SAI的引脚上检测到正确信号波形即可。
    我们没有接触过这种用法,没办法提供相关帮助
  • hello, you need to use "rockchip,dummy-codec", example from dts

    Code: Select all

    	sai0-sound {
    		compatible = "rockchip,multicodecs-card";
    		rockchip,card-name = "sai0-tdm";
    		rockchip,format = "dsp_b";
    		rockchip,mclk-fs = <256>;
    		dai-tdm-slot-num = <8>;
    		dai-tdm-slot-width = <8>;
    		rockchip,cpu = <&sai0>;
    		rockchip,codec = <&dummy_codec0>;
    	};
    	dummy_codec0: dummy-codec0 {
    		compatible = "rockchip,dummy-codec";
    		clocks = <&mclkout_sai0>;
    		clock-names = "mclk";
    		assigned-clocks = <&mclkout_sai0>;
    	};
    
  • pgridin wrote: 2025-06-08 12:01 hello, you need to use "rockchip,dummy-codec", example from dts

    Code: Select all

    	sai0-sound {
    		compatible = "rockchip,multicodecs-card";
    		rockchip,card-name = "sai0-tdm";
    		rockchip,format = "dsp_b";
    		rockchip,mclk-fs = <256>;
    		dai-tdm-slot-num = <8>;
    		dai-tdm-slot-width = <8>;
    		rockchip,cpu = <&sai0>;
    		rockchip,codec = <&dummy_codec0>;
    	};
    	dummy_codec0: dummy-codec0 {
    		compatible = "rockchip,dummy-codec";
    		clocks = <&mclkout_sai0>;
    		clock-names = "mclk";
    		assigned-clocks = <&mclkout_sai0>;
    	};
    
    Thank you very much for your kind advice. I have now got the virtual sound card working properly. :)