From dd4cbc5620e5f4b50dd581de8ac537feda763a6e Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Sat, 14 Feb 2015 09:14:18 +0800 Subject: [PATCH] hdmi: hdmiv1: For nlpcm bitstream mode, we need to set audio channel status nlpcm bit to 1. Signed-off-by: Zheng Yang --- .../rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.c | 9 +++++++++ .../rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.h | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.c b/drivers/video/rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.c index 9e0c721ac538..50889c7aa67c 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.c @@ -796,6 +796,15 @@ static int rockchip_hdmiv1_config_audio(struct hdmi *hdmi_drv, hdmi_writel(hdmi_dev, AUDIO_N_H, (N >> 16) & 0x0F); hdmi_writel(hdmi_dev, AUDIO_N_M, (N >> 8) & 0xFF); hdmi_writel(hdmi_dev, AUDIO_N_L, N & 0xFF); + + /*Set hdmi nlpcm mode to support hdmi bitstream*/ + if (audio->type == HDMI_AUDIO_NLPCM) + hdmi_writel(hdmi_dev, AUDIO_CHANNEL_STATUS, + v_AUDIO_STATUS_NLPCM(1)); + else + hdmi_writel(hdmi_dev, AUDIO_CHANNEL_STATUS, + v_AUDIO_STATUS_NLPCM(0)); + rockchip_hdmiv1_config_aai(hdmi_drv); return 0; diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.h b/drivers/video/rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.h index 0b442d303048..e9d085d767b8 100644 --- a/drivers/video/rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.h +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv1/rockchip_hdmiv1_hw.h @@ -235,6 +235,14 @@ enum { #define N_96K 0x3000 #define N_192K 0x6000 +#define AUDIO_CHANNEL_STATUS 0x3e + #define m_AUDIO_STATUS_NLPCM (1 << 7) + #define m_AUDIO_STATUS_USE (1 << 6) + #define m_AUDIO_STATUS_COPYRIGHT (1 << 5) + #define m_AUDIO_STATUS_ADDITION (3 << 2) + #define m_AUDIO_STATUS_CLK_ACCURACY (2 << 0) + + #define v_AUDIO_STATUS_NLPCM(n) ((n & 1) << 7) #define AUDIO_N_H 0x3f #define AUDIO_N_M 0x40 #define AUDIO_N_L 0x41 -- 2.34.1