rk3399pro添加ALC5640音频配置

添加ALC5640音频配置

base:
firefly3399pro-jd4 
音频芯片ALC5640
系统Ubuntu18.04
linux kernel version:4.4.194

应公司需求,在自制的低板上+firefly3399pro核心板系统需要使用音频播放声音,发现音频芯片是ALC5640,

  1. 查看系统声卡信息:
firefly@firefly:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchiphdmi [rockchip,hdmi], device 0: ff8a0000.i2s-i2s-hifi i2s-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: rockchiprk809co [rockchip,rk809-codec], device 0: ff890000.i2s-rk817-hifi rk817-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0`在这里插入代码片`

无rt5460声卡
2. 查看系统是有相应驱动源码的,并且make menuconfig后相应的配置也是yes的;
在这里插入图片描述
3. 查看设备树文件并添加配置:参考原理图

	rt5640-sound {
		//status = "okay";
		compatible = "simple-audio-card";
		simple-audio-card,format = "i2s";
		simple-audio-card,name = "rockchip,rt5640-codec";
		simple-audio-card,mclk-fs = <256>;
		simple-audio-card,widgets =
			"Microphone", "Mic Jack",
			"Headphone", "Headphone Jack";
		simple-audio-card,routing =
			"Mic Jack", "MICBIAS1",
			"IN2P", "Mic Jack",
			"Headphone Jack", "HPOL",
			"Headphone Jack", "HPOR";
		simple-audio-card,cpu {
			sound-dai = <&i2s0>;
		};
		simple-audio-card,codec {
			sound-dai = <&rt5640>;
		};
		
	};
.......
&i2c1 {
	// status = "okay";
	// i2c-scl-rising-time-ns = <300>;
	// i2c-scl-falling-time-ns = <15>;

	rt5640: rt5640@1c {
		status = "okay";
		#sound-dai-cells = <0>;
		compatible = "realtek,rt5640";
		reg = <0x1c>;
		clocks = <&cru SCLK_I2S_8CH_OUT>;
		clock-names = "mclk";
		realtek,in1-differential;
	// 	pinctrl-names = "default";
	// 	pinctrl-0 = <&rt5640_hpcon &i2s_8ch_mclk>;
	// 	hp-con-gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
	// 	io-channels = <&saradc 4>;
	// 	hp-det-adc-value = <500>;
	};
.......
&i2s0 {
	#sound-dai-cells = <0>;
	status = "okay";
};

注意下i2s0记得使能
4. 验证:

firefly@firefly:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: rockchiphdmi [rockchip,hdmi], device 0: ff8a0000.i2s-i2s-hifi i2s-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: rockchiprk809co [rockchip,rk809-codec], device 0: ff890000.i2s-rk817-hifi rk817-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: rockchiprt5640c [rockchip,rt5640-codec], device 0: ff880000.i2s-rt5640-aif1 rt5640-aif1-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

测试播放音频:

root@firefly:/usr/share/sounds/alsa# aplay -Dplughw:2,0 Front_Center.wav
Playing WAVE 'Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值