The BT1120 interlaced CCIR codes are the same as BT656 ones
and different than BT656 progressive CCIR codes, fix this.

Signed-off-by: Marek Vasut <ma...@denx.de>
Cc: Steve Longerbeam <steve_longerb...@mentor.com>
Cc: Philipp Zabel <p.za...@pengutronix.de>
---
 drivers/gpu/ipu-v3/ipu-csi.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/ipu-v3/ipu-csi.c b/drivers/gpu/ipu-v3/ipu-csi.c
index caa05b0702e1..301a729581ce 100644
--- a/drivers/gpu/ipu-v3/ipu-csi.c
+++ b/drivers/gpu/ipu-v3/ipu-csi.c
@@ -435,12 +435,16 @@ int ipu_csi_init_interface(struct ipu_csi *csi,
                break;
        case IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_DDR:
        case IPU_CSI_CLK_MODE_CCIR1120_PROGRESSIVE_SDR:
-       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_DDR:
-       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_SDR:
                ipu_csi_write(csi, 0x40030 | CSI_CCIR_ERR_DET_EN,
                                   CSI_CCIR_CODE_1);
                ipu_csi_write(csi, 0xFF0000, CSI_CCIR_CODE_3);
                break;
+       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_DDR:
+       case IPU_CSI_CLK_MODE_CCIR1120_INTERLACED_SDR:
+               ipu_csi_write(csi, 0x40596 | CSI_CCIR_ERR_DET_EN, 
CSI_CCIR_CODE_1);
+               ipu_csi_write(csi, 0xD07DF, CSI_CCIR_CODE_2);
+               ipu_csi_write(csi, 0xFF0000, CSI_CCIR_CODE_3);
+               break;
        case IPU_CSI_CLK_MODE_GATED_CLK:
        case IPU_CSI_CLK_MODE_NONGATED_CLK:
                ipu_csi_write(csi, 0, CSI_CCIR_CODE_1);
-- 
2.16.2

Reply via email to