From 87771cf765e6cb1096d6487e4dcc3c6972df0c8e Mon Sep 17 00:00:00 2001 From: Alper Nebi Yasak Date: Fri, 25 Aug 2023 21:29:52 +0300 Subject: [PATCH] WIP: video: rockchip: Implement copy framebuffer support --- configs/chromebook_kevin_defconfig | 3 +-- drivers/video/rockchip/rk_vop.c | 11 ++++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/configs/chromebook_kevin_defconfig b/configs/chromebook_kevin_defconfig index 6ce69f419e17..0baa73cc62db 100644 --- a/configs/chromebook_kevin_defconfig +++ b/configs/chromebook_kevin_defconfig @@ -5,8 +5,6 @@ CONFIG_ARCH_ROCKCHIP=y CONFIG_TEXT_BASE=0x00200000 CONFIG_SPL_GPIO=y CONFIG_NR_DRAM_BANKS=1 -CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y -CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x300000 CONFIG_SF_DEFAULT_SPEED=20000000 CONFIG_ENV_SIZE=0x8000 CONFIG_DEFAULT_DEVICE_TREE="rk3399-gru-kevin" @@ -129,6 +127,7 @@ CONFIG_USB_ETHER_SMSC95XX=y CONFIG_VIDEO=y # CONFIG_VIDEO_FONT_8X16 is not set CONFIG_VIDEO_FONT_16X32=y +CONFIG_VIDEO_COPY=y CONFIG_DISPLAY=y CONFIG_VIDEO_ROCKCHIP=y CONFIG_VIDEO_ROCKCHIP_MAX_XRES=2400 diff --git a/drivers/video/rockchip/rk_vop.c b/drivers/video/rockchip/rk_vop.c index c514e2a0e449..e70689851a61 100644 --- a/drivers/video/rockchip/rk_vop.c +++ b/drivers/video/rockchip/rk_vop.c @@ -464,10 +464,16 @@ int rk_vop_probe(struct udevice *dev) return -EINVAL; } + if (IS_ENABLED(CONFIG_VIDEO_COPY)) + plat->copy_base = plat->base + plat->size / 2; + for (node = ofnode_first_subnode(port); ofnode_valid(node); node = dev_read_next_subnode(node)) { - ret = rk_display_init(dev, plat->base, node); + if (IS_ENABLED(CONFIG_VIDEO_COPY)) + ret = rk_display_init(dev, plat->copy_base, node); + else + ret = rk_display_init(dev, plat->base, node); if (ret) debug("Device failed: ret=%d\n", ret); if (!ret) @@ -485,5 +491,8 @@ int rk_vop_bind(struct udevice *dev) plat->size = 4 * (CONFIG_VIDEO_ROCKCHIP_MAX_XRES * CONFIG_VIDEO_ROCKCHIP_MAX_YRES); + if (IS_ENABLED(CONFIG_VIDEO_COPY)) + plat->size *= 2; + return 0; } -- 2.40.1