rk3568 驱动es8316节点

2023-12-18 21:43:00

目录

注册失败分析

驱动节点注册


author

daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主

daisy.skye_嵌入式,Linux,Qt-CSDN博客daisy.skye擅长嵌入式,Linux,Qt,等方面的知识https://blog.csdn.net/qq_40715266?type=blog

注册失败分析

[????2.074821]?es8316?4-0010:?Error?applying?setting,?reverse?things?back [????2.074848]?es8316:?probe?of?4-0010?failed?with?error?-22

失败的原因分析:

i2c配置问题,根据具体的硬件原理图配置,选择的是i2c4?,但是不同的i2c有不同的电压

再根据es8316的i2c驱动电压排查是3.3还是1.8V?实际两个都是可以的,但是硬件选择和i2c的电压需要保持一致,否则会无法完成节点注册

驱动节点注册

在dtsi中进行配置就可以,具体的驱动代码,rk3568下已经集成了驱动的代码,但是要再核查以下是否包含了驱动的编译

内核编译定义

kernel/arch/arm64/configs/rockchip_evb3568_v2b_defconfig

CONFIG_SND_SOC_ES8316=y

kernel/sound/soc/codecs/rk817_codec.c

CONFIG_SND_SOC_ES8316=y

&i2c4?{
	status?= "okay";
	es8316:?es8316@10 {
		#sound-dai-cells?=?<0>;
		compatible?= "everest,es8316";
		reg?= <0x10>;
		//?clocks?=?<&cru?I2S2_MCLKOUT>;
		//?clock-names?=?"mclk";
		//?spk-con-gpio?=?<&gpio0?27?GPIO_ACTIVE_HIGH>;
		//?hp-det-gpio?=?<&gpio0?23?GPIO_ACTIVE_HIGH>;
		pinctrl-names?= "default";
		//?pinctrl-0?=?<&i2c4m0_xfer>;
	};
};

文章来源:https://blog.csdn.net/qq_40715266/article/details/135064614
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。