lcdc_msk_reg(lcdc_dev, DSP_CTRL0,
m_DSP_INTERLACE | m_DSP_FIELD_POL,
v_DSP_INTERLACE(1) | v_DSP_FIELD_POL(0));
+ if (lcdc_dev->soc_type == VOP_FULL_RK3366) {
+ if (y_res <= 576)
+ lcdc_msk_reg(lcdc_dev, DSP_CTRL0,
+ m_SW_CORE_DCLK_SEL,
+ v_SW_CORE_DCLK_SEL(1));
+ else
+ lcdc_msk_reg(lcdc_dev, DSP_CTRL0,
+ m_SW_CORE_DCLK_SEL,
+ v_SW_CORE_DCLK_SEL(0));
+ }
mask =
m_WIN0_INTERLACE_READ | m_WIN0_YRGB_DEFLICK |
m_WIN0_CBR_DEFLICK;
lcdc_msk_reg(lcdc_dev, DSP_CTRL0,
m_DSP_INTERLACE | m_DSP_FIELD_POL,
v_DSP_INTERLACE(0) | v_DSP_FIELD_POL(0));
-
+ if (lcdc_dev->soc_type == VOP_FULL_RK3366) {
+ lcdc_msk_reg(lcdc_dev, DSP_CTRL0,
+ m_SW_CORE_DCLK_SEL,
+ v_SW_CORE_DCLK_SEL(0));
+ }
mask =
m_WIN0_INTERLACE_READ | m_WIN0_YRGB_DEFLICK |
m_WIN0_CBR_DEFLICK;
#define DSP_CTRL0 (0x0010)
#define v_DSP_OUT_MODE(x) (((x)&0x0f)<<0)
+#define v_SW_CORE_DCLK_SEL(x) (((x)&1)<<4)
#define v_DSP_DCLK_DDR(x) (((x)&1)<<8)
#define v_DSP_DDR_PHASE(x) (((x)&1)<<9)
#define v_DSP_INTERLACE(x) (((x)&1)<<10)
#define v_DSP_X_MIR_EN(x) (((x)&1)<<22)
#define v_DSP_Y_MIR_EN(x) (((x)&1)<<23)
#define m_DSP_OUT_MODE (0x0f<<0)
+#define m_SW_CORE_DCLK_SEL (1<<4)
#define m_DSP_DCLK_DDR (1<<8)
#define m_DSP_DDR_PHASE (1<<9)
#define m_DSP_INTERLACE (1<<10)