rk3588 I2S调试

1、audio out I2S dts config

复制代码
	&i2s1_8ch {
	#sound-dai-cells = <0>;
	pinctrl-0 = <&i2s1m0_lrck
			 &i2s1m0_sclk
			 &i2s1m0_mclk
			 &i2s1m0_sdo0>;
	status = "okay";
    };

    dummy_codec: dummy-codec {
		compatible = "rockchip,dummy-codec";
		#sound-dai-cells = <0>;
		//clocks = <&cru SCLK_I2S1_8CH_TX_OUT>;
		clock-names = "mclk";
		assigned-clocks = <&cru I2S1_8CH_MCLKOUT>;
		assigned-clock-rates = <12288000>;
		pinctrl-names = "default";
	};

	i2s1_sound: i2s1-sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "rockchip-i2s-sound";
		status = "okay";
		simple-audio-card,format = "i2s";
		simple-audio-card,mclk-fs = <256>;
		simple-audio-card,cpu {
			   sound-dai = <&i2s1_8ch>;
		};
		simple-audio-card,codec {
			   sound-dai = <&dummy_codec>;
		};
	};

2、audio in I2S dts config

复制代码
	lkes7243 {
		compatible = "rockchip,lkes7243";
		pinctrl-0 = <&lkencodeic_pins>;
		es_sda = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
		es_scl = <&gpio0 RK_PD0 GPIO_ACTIVE_HIGH>;
		status = "okay";
	};	

    &i2s0_8ch {
	status = "okay";
	pinctrl-0 = <&i2s0_lrck
		     &i2s0_sclk
		     &i2s0_sdi0
		     &i2s0_mclk>;
    };

    es7243e_codec: es7243e-codec {
		compatible = "rockchip,dummy-codec";
		#sound-dai-cells = <0>;
		clock-names = "mclk";
		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
		assigned-clock-rates = <12288000>;
		pinctrl-names = "default";
	};
	
	es7243e_i2s0_sound: es7243e-i2s0-sound {
		status = "okay";
		compatible = "simple-audio-card";
		simple-audio-card,format = "i2s";
		simple-audio-card,mclk-fs = <256>;
		simple-audio-card,name = "rockchip,es7243e";
		simple-audio-card,dai-link@0 {
			format = "i2s";
			cpu {
				sound-dai = <&i2s0_8ch>;
			};
			codec {
				sound-dai = <&es7243e_codec>;
			};
		};
	};

3、硬件分析

audio in和 audio out的i2s都是直连的,所以本质上配置i2s并无区别,使用的是模拟的iic,es7243初始化一次之后就不用了

相关推荐
女神下凡12 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
世微 如初17 小时前
24V 输入转 9V/0.8A 输出:基于 AP5190 的 LED 降压恒流驱动方案设计与 BOM 清单
驱动开发·芯片·led电源驱动·降压恒流ic
mg6681 天前
安卓玩机工具----告别面具!SukiSU Ultra 内核级 Root 与终极隐藏实战指南
驱动开发·root系统
程序猿编码2 天前
RK3588 NPU LLM 推理引擎:自研底层算子,性能碾压原厂 SDK
机器学习·llm·rk3588·大模型推理
女神下凡2 天前
芯参谋(87):Linux 系统(SPI NOR)驱动开发指南
linux·运维·arm开发·驱动开发·嵌入式硬件·设计规范
cynicism??3 天前
Linux 与 ZXISOS 驱动开发架构对比
linux·驱动开发·架构
女神下凡3 天前
芯参谋(83):AliOS Things_驱动开发指南
arm开发·驱动开发·单片机·嵌入式硬件·设计规范·1024程序员节
万物智能信息科技3 天前
指纹识别传感器驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
驱动开发·华为·开源·harmonyos·鸿蒙
女神下凡3 天前
芯参谋(84):Linux eMMC 驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件
硅基手札4 天前
CAN 技术系列 08 · CAN 控制器寄存器与 IP 架构
驱动开发·架构·嵌入式开发·通信协议·can总线