diff --git a/drivers/misc/rk628/rk628.h b/drivers/misc/rk628/rk628.h index 23945906415a..d67a5c0e147a 100644 --- a/drivers/misc/rk628/rk628.h +++ b/drivers/misc/rk628/rk628.h @@ -65,6 +65,7 @@ #define GRF_AS_DSIPHY_MASK BIT(0) #define GRF_AS_DSIPHY(x) UPDATE(x, 0, 0) #define GRF_SCALER_CON0 0x0010 +#define SCL_8_PIXEL_ALIGN(x) HIWORD_UPDATE(x, 12, 12) #define SCL_VER_DOWN_MODE(x) HIWORD_UPDATE(x, 8, 8) #define SCL_HOR_DOWN_MODE(x) HIWORD_UPDATE(x, 7, 7) #define SCL_BIC_COE_SEL(x) HIWORD_UPDATE(x, 6, 5) diff --git a/drivers/misc/rk628/rk628_gvi.c b/drivers/misc/rk628/rk628_gvi.c index 019f83f52334..fb3083d3da96 100644 --- a/drivers/misc/rk628/rk628_gvi.c +++ b/drivers/misc/rk628/rk628_gvi.c @@ -120,6 +120,8 @@ static void rk628_gvi_pre_enable(struct rk628 *rk628, struct rk628_gvi *gvi) rk628_i2c_update_bits(rk628, GVI_SYS_RST, SYS_RST_SOFT_RST, 0); udelay(10); + rk628_i2c_write(rk628, GRF_SCALER_CON0, SCL_8_PIXEL_ALIGN(1)); + rk628_i2c_update_bits(rk628, GVI_SYS_CTRL0, SYS_CTRL0_LANE_NUM_MASK, SYS_CTRL0_LANE_NUM(gvi->lanes - 1)); rk628_i2c_update_bits(rk628, GVI_SYS_CTRL0, SYS_CTRL0_BYTE_MODE_MASK,