video: rockchip: lcdc: 3288: update for VOP YUV420 to HDMI
Change-Id: I3dbe2208e10318acf99b66e858d853c3d4efab04 Signed-off-by: Huang Jiachai <hjc@rock-chips.com>
This commit is contained in:
parent
db350252e2
commit
7fde8d2fb3
2 changed files with 13 additions and 2 deletions
|
|
@ -1216,6 +1216,7 @@ static int rk3288_load_screen(struct rk_lcdc_driver *dev_drv, bool initscreen)
|
|||
u32 mask, val;
|
||||
u16 h_total,v_total;
|
||||
int ret = 0;
|
||||
int hdmi_dclk_out_en = 0;
|
||||
|
||||
if (unlikely(!lcdc_dev->clk_on)) {
|
||||
pr_info("%s,clk_on = %d\n", __func__, lcdc_dev->clk_on);
|
||||
|
|
@ -1282,6 +1283,7 @@ static int rk3288_load_screen(struct rk_lcdc_driver *dev_drv, bool initscreen)
|
|||
lcdc_msk_reg(lcdc_dev, DSP_CTRL1, mask, val);
|
||||
break;
|
||||
case OUT_YUV_420:
|
||||
hdmi_dclk_out_en = 1;
|
||||
face = OUT_YUV_420;
|
||||
dclk_ddr = 1;
|
||||
mask = m_DITHER_DOWN_EN | m_DITHER_UP_EN |
|
||||
|
|
@ -1291,6 +1293,7 @@ static int rk3288_load_screen(struct rk_lcdc_driver *dev_drv, bool initscreen)
|
|||
lcdc_msk_reg(lcdc_dev, DSP_CTRL1, mask, val);
|
||||
break;
|
||||
case OUT_YUV_420_10BIT:
|
||||
hdmi_dclk_out_en = 1;
|
||||
face = OUT_YUV_420;
|
||||
dclk_ddr = 1;
|
||||
mask = m_DITHER_DOWN_EN | m_DITHER_UP_EN |
|
||||
|
|
@ -1323,7 +1326,9 @@ static int rk3288_load_screen(struct rk_lcdc_driver *dev_drv, bool initscreen)
|
|||
v |= (lcdc_dev->id << 3);
|
||||
break;
|
||||
case SCREEN_HDMI:
|
||||
face = OUT_P101010;/*RGB 101010 output*/
|
||||
if ((screen->face == OUT_P888) ||
|
||||
(screen->face == OUT_P101010))
|
||||
face = OUT_P101010;/*RGB 101010 output*/
|
||||
mask = m_HDMI_OUT_EN;
|
||||
val = v_HDMI_OUT_EN(1);
|
||||
break;
|
||||
|
|
@ -1341,6 +1346,10 @@ static int rk3288_load_screen(struct rk_lcdc_driver *dev_drv, bool initscreen)
|
|||
val = v_EDP_OUT_EN(1);
|
||||
break;
|
||||
}
|
||||
if (dev_drv->version == VOP_FULL_RK3288_V1_1) {
|
||||
mask |= m_HDMI_DCLK_OUT_EN;
|
||||
val |= v_HDMI_DCLK_OUT_EN(hdmi_dclk_out_en);
|
||||
}
|
||||
lcdc_msk_reg(lcdc_dev, SYS_CTRL, mask, val);
|
||||
#ifndef CONFIG_RK_FPGA
|
||||
writel_relaxed(v, RK_GRF_VIRT + RK3288_GRF_SOC_CON6);
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#define v_EDPI_HALT_EN(x) (((x)&1)<<8)
|
||||
#define v_EDPI_WMS_MODE(x) (((x)&1)<<9)
|
||||
#define v_EDPI_WMS_FS(x) (((x)&1)<<10)
|
||||
#define v_HDMI_DCLK_OUT_EN(x) (((x)&1)<<11)
|
||||
#define v_RGB_OUT_EN(x) (((x)&1)<<12)
|
||||
#define v_HDMI_OUT_EN(x) (((x)&1)<<13)
|
||||
#define v_EDP_OUT_EN(x) (((x)&1)<<14)
|
||||
|
|
@ -39,6 +40,7 @@
|
|||
#define m_EDPI_HALT_EN (1<<8)
|
||||
#define m_EDPI_WMS_MODE (1<<9)
|
||||
#define m_EDPI_WMS_FS (1<<10)
|
||||
#define m_HDMI_DCLK_OUT_EN (1<<11)
|
||||
#define m_RGB_OUT_EN (1<<12)
|
||||
#define m_HDMI_OUT_EN (1<<13)
|
||||
#define m_EDP_OUT_EN (1<<14)
|
||||
|
|
@ -1064,7 +1066,7 @@
|
|||
#define m_BCSH_SIN_HUE (0x1ff<<0)
|
||||
#define m_BCSH_COS_HUE (0x1ff<<16)
|
||||
|
||||
#define BCSH_CTRL (0x01b8)
|
||||
#define BCSH_CTRL (0x01bc)
|
||||
#define v_BCSH_Y2R_EN(x) (((x)&0x1)<<0)
|
||||
#define v_BCSH_R2Y_EN(x) (((x)&0x1)<<4)
|
||||
#define m_BCSH_Y2R_EN (0x1<<0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue