MLK-17126-1: hdp api: workaround for imx8qm HDMI DDC R/W issue
authorSandor Yu <Sandor.yu@nxp.com>
Fri, 8 Dec 2017 06:54:26 +0000 (14:54 +0800)
committerLeonard Crestez <leonard.crestez@nxp.com>
Wed, 17 Apr 2019 23:51:34 +0000 (02:51 +0300)
HDMI DDC R/W function is not supported by imx8qm HDMI FW.
Skip the function for imx8qm before the issue is fixed in FW.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
drivers/mxc/hdp/API_HDMITX.c

index b1f3a78..9d1f63d 100644 (file)
@@ -52,6 +52,7 @@
 #include "address.h"
 #include "source_car.h"
 #include "source_vif.h"
+#include <soc/imx8/soc.h>
 
 CDN_API_STATUS CDN_API_HDMITX_DDC_READ(state_struct *state,
                                       HDMITX_TRANS_DATA *data_in,
@@ -159,7 +160,11 @@ CDN_API_HDMITX_Set_Mode_blocking(state_struct *state,
        data_in.len = 1;
        data_in.slave = 0x54;
        data_in.offset = 0x20;  /* TMDS config */
-       ret = CDN_API_HDMITX_DDC_WRITE_blocking(state, &data_in, &data_out);
+       /* Workaround for imx8qm DDC R/W failed issue */
+       if (!cpu_is_imx8qm()) {
+               ret = CDN_API_HDMITX_DDC_WRITE_blocking(state, &data_in, &data_out);
+               pr_info("CDN_API_HDMITX_DDC_WRITE_blocking ret = %d\n", ret);
+       }
 
        ret = CDN_API_General_Read_Register_blocking(
                                state, ADDR_SOURCE_MHL_HD + (HDTX_CONTROLLER << 2), &resp);