Refer to HDMI 1.4 section 6.5.3, non-zero CD data GCP should send in
deep color mode.
Now, when HDMI work in 24bpp, it will send non-zero CD(0x4 for 24bit)
data GCP to protocol analyzer.
It means current HDMI source is working in “24bit deep color mode”.
But HDMI 1.4 CTS 7-19 required DUT should in “No Deep Color support”.
Protocol analyzer expect received zero CD GCP or no GCP.
Disable GCP when bpp is 24 to pass CTS 7-19.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
return;
}
+ /* force GCP CD to 0 when bpp=24 for pass CTS 7-19 */
+ if (color_depth == 8)
+ CDN_API_HDMITX_Disable_GCP(state);
+
/* Set HDMI TX Mode */
ret = CDN_API_HDMITX_Set_Mode_blocking(state, ptype, character_freq_khz);
if (ret != CDN_OK) {
return;
}
+ /* force GCP CD to 0 when bpp=24 for pass CTS 7-19 */
+ if (color_depth == 8)
+ CDN_API_HDMITX_Disable_GCP(state);
+
/* Set HDMI TX Mode */
ret = CDN_API_HDMITX_Set_Mode_blocking(state, ptype, character_freq_khz);
if (ret != CDN_OK) {
return ret;
}
+CDN_API_STATUS CDN_API_HDMITX_Disable_GCP(state_struct *state)
+{
+ GENERAL_Read_Register_response resp;
+
+ CDN_API_General_Read_Register_blocking(state, ADDR_SOURCE_MHL_HD +(HDTX_CONTROLLER<<2), &resp);
+ resp.val = resp.val & (~F_GCP_EN(1));
+ return CDN_API_General_Write_Register_blocking(state,
+ ADDR_SOURCE_MHL_HD +(HDTX_CONTROLLER<<2), resp.val);
+}
+
CDN_API_STATUS CDN_API_HDMITX_ForceColorDepth_blocking(state_struct *state,
u8 force, u8 val)
{
CDN_API_STATUS CDN_API_HDMITX_GetHpdStatus(state_struct *state, u8 *hpd_sts);
CDN_API_STATUS CDN_API_HDMITX_GetHpdStatus_blocking(state_struct *state,
u8 *hpd_sts);
+CDN_API_STATUS CDN_API_HDMITX_Disable_GCP(state_struct *state);
#endif