现象: hdmi无声音输出,录音也没有声音输出,但是只有耳机有声音。
1. 注册声卡
/{
codec_hdmi_i2s: codec-hdmi-i2s {
compatible = "hdmi-i2s";
status = "okay";
};
rockchip-hdmi-i2s {
compatible = "rockchip-hdmi-i2s";
status = "okay";
dais {
dai0 {
audio-codec = <&codec_hdmi_i2s>;
audio-controller = <&i2s1>;
format = "i2s";
};
};
};
};
&i2s1 {
status = "okay";
};
2. 指定hdmi为i2s类型
&hdmi{
status = "okay";
rockchip,hdmi_audio_source = <0>;
};
3. 声卡注册成功后还是没有声音,于是日下修改后,hdmi声音正常,mic录音正常,耳机无声,需要调试android中间层。tinymix 查看。
--- a/drivers/video/rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.c
+++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.c
@@ -856,7 +856,7 @@ int rockchip_hdmiv1_control_output(struct hdmi *hdmi_drv, int enable)
hdmi_writel(hdmi_dev, 0xce, 0x01);
}
- if (mutestatus == (m_AUDIO_MUTE | m_VIDEO_BLACK)) {
+ if (mutestatus & (m_AUDIO_MUTE | m_VIDEO_BLACK)) {
hdmi_msk_reg(hdmi_dev, AV_MUTE,
m_AUDIO_MUTE |
m_AUDIO_PD |