RK3288 -- 关于 HDMI 音频输出的两种配置

本文针对RK3288平台在kernel4.4 SDK环境下,详细介绍了如何实现HDMI和Codec的音频同时输出以及单独输出。内容包括直接使用SDK自带的hdmi_analog_sound节点配置实现两者同时输出,以及通过关闭HDMI设备插入检测,使用simple-audio-card注册Codec声卡。对于单独输出,需要将HDMI注册为独立PCM设备,并在HAL层进行设备切换。
摘要由CSDN通过智能技术生成

说明:本文适用于 RK3288 kernel4.4 SDK 版本。

RK3288 的 HDMI 和 codec 共用一组 i2s 。如果需要 HDMI 和 Codec 同时输出音频,直接使用 SDK 自带的 hdmi_analog_sound 节点配置。如果需要 HDMI 和 codec 可以单独输出,需要将 HDMI 单独注册成一个 PCM 设备。
注:hdmi_analog_sound 和 simple-audio-card 这两种注册方式只能二选一。

HDMI 和 Codec 同时输出

方案一:直接使用 hdmi_analog_sound 默认节点配置( 以 RT5640 为例 )

//RK3288 kernel4.4
/ {
   
    hdmi_analog_sound: hdmi-analog-sound {
   
        status = "okay";
		compatible = "rockchip,rk3288-hdmi-analog",
				"rockchip,rk3368-hdmi-analog";
		rockchip,model = "rockchip,rt5640-codec";
		rockchip,cpu = <&i2s>;
		rockchip,codec = <&rt5640>, <&hdmi>;
		rockchip,widgets =
			"Microphone", "Microphone Jack",
			"Headphone", "Headphone Jack";
		rockchip,routing =
			"MIC1", "Microphone Jack",
			"MIC2", "Microphone Jack",
			"Microphone Jack", "micbias1",
			"Headphone Jack", "HPOL",
			"Headphone Jack", "HPOR";
	};
};

&i2s {
   
    status = "okay";
};

&hdmi{
   
    status = "okay";
};

&i2c2 {
   
	status = "okay";
	rt5640: rt5640@1c {
   
		#sound-dai-cells = <0>;
		compatible = "realtek,rt5640";
		reg = <0x1c>;
		clocks = <&cru SCLK_I2S0_OUT>;
		clock-names = "mclk";
		interrupt-parent = <&gpio6>;
		interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
		pinctrl-names = "default";
		pinctrl-0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值