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;
#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