diff --git a/drivers/video/rockchip/lcdc/rk3288_lcdc.c b/drivers/video/rockchip/lcdc/rk3288_lcdc.c index 112865f6f67d..83a4e460f5c5 100755 --- a/drivers/video/rockchip/lcdc/rk3288_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk3288_lcdc.c @@ -343,6 +343,22 @@ static void lcdc_read_reg_defalut_cfg(struct lcdc_device *lcdc_dev) case WIN0_CBR_MST: win0->area[0].cbr_start = val; break; + case DSP_VACT_ST_END: + if (support_uboot_display()) { + screen->mode.yres = + (val & 0x1fff) - ((val >> 16) & 0x1fff); + win0->area[0].ypos = + st_y - ((val >> 16) & 0x1fff); + } + break; + case DSP_HACT_ST_END: + if (support_uboot_display()) { + screen->mode.xres = + (val & 0x1fff) - ((val >> 16) & 0x1fff); + win0->area[0].xpos = + st_x - ((val >> 16) & 0x1fff); + } + break; default: break; } diff --git a/drivers/video/rockchip/lcdc/rk3368_lcdc.c b/drivers/video/rockchip/lcdc/rk3368_lcdc.c index 0c37f2650b8f..979234d31f04 100755 --- a/drivers/video/rockchip/lcdc/rk3368_lcdc.c +++ b/drivers/video/rockchip/lcdc/rk3368_lcdc.c @@ -394,6 +394,22 @@ static void lcdc_read_reg_defalut_cfg(struct lcdc_device *lcdc_dev) case WIN0_CBR_MST: win0->area[0].cbr_start = val; break; + case DSP_VACT_ST_END: + if (support_uboot_display()) { + screen->mode.yres = + (val & 0x1fff) - ((val >> 16) & 0x1fff); + win0->area[0].ypos = + st_y - ((val >> 16) & 0x1fff); + } + break; + case DSP_HACT_ST_END: + if (support_uboot_display()) { + screen->mode.xres = + (val & 0x1fff) - ((val >> 16) & 0x1fff); + win0->area[0].xpos = + st_x - ((val >> 16) & 0x1fff); + } + break; default: break; }