From 307581e2f32dfd06e3bc83733119d66f40a65b6a Mon Sep 17 00:00:00 2001 From: liwenhuan Date: Tue, 26 Apr 2011 15:25:59 +0800 Subject: [PATCH] support fb rotation of phonsdk --- arch/arm/configs/rk29_phonesdk_defconfig | 4 +++- arch/arm/mach-rk29/board-rk29-phonesdk.c | 19 ++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/arch/arm/configs/rk29_phonesdk_defconfig b/arch/arm/configs/rk29_phonesdk_defconfig index c17bb4b62167..7dc19922ec2a 100755 --- a/arch/arm/configs/rk29_phonesdk_defconfig +++ b/arch/arm/configs/rk29_phonesdk_defconfig @@ -1264,7 +1264,9 @@ CONFIG_FB_CFB_IMAGEBLIT=y # CONFIG_FB_TMIO is not set # CONFIG_FB_RK2818 is not set CONFIG_FB_RK29=y -# CONFIG_FB_WORK_IPP is not set +CONFIG_FB_WORK_IPP=y +# CONFIG_FB_SCALING_OSD is not set +CONFIG_FB_ROTATE_VIDEO=y # CONFIG_FB_VIRTUAL is not set # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set diff --git a/arch/arm/mach-rk29/board-rk29-phonesdk.c b/arch/arm/mach-rk29/board-rk29-phonesdk.c index 131510823dcc..45d2e65d435c 100755 --- a/arch/arm/mach-rk29/board-rk29-phonesdk.c +++ b/arch/arm/mach-rk29/board-rk29-phonesdk.c @@ -89,14 +89,19 @@ #define MEM_CAMIPP_SIZE 0 #endif #define MEM_FB_SIZE (3*SZ_2M) - +#ifdef CONFIG_FB_WORK_IPP +#define MEM_FBIPP_SIZE SZ_8M //1920 x 1080 x 2 x 2 //RGB565 = x2;RGB888 = x4 +#else +#define MEM_FBIPP_SIZE 0 +#endif #define PMEM_GPU_BASE ((u32)RK29_SDRAM_PHYS + SDRAM_SIZE - PMEM_GPU_SIZE) #define PMEM_UI_BASE (PMEM_GPU_BASE - PMEM_UI_SIZE) #define PMEM_VPU_BASE (PMEM_UI_BASE - PMEM_VPU_SIZE) #define PMEM_CAM_BASE (PMEM_VPU_BASE - PMEM_CAM_SIZE) #define MEM_CAMIPP_BASE (PMEM_CAM_BASE - MEM_CAMIPP_SIZE) #define MEM_FB_BASE (MEM_CAMIPP_BASE - MEM_FB_SIZE) -#define LINUX_SIZE (MEM_FB_BASE - RK29_SDRAM_PHYS) +#define MEM_FBIPP_BASE (MEM_FB_BASE - MEM_FBIPP_SIZE) +#define LINUX_SIZE (MEM_FBIPP_BASE - RK29_SDRAM_PHYS) #define PREALLOC_WLAN_SEC_NUM 4 #define PREALLOC_WLAN_BUF_NUM 160 @@ -269,9 +274,17 @@ static struct resource rk29_fb_resource[] = { [2] = { .name = "win1 buf", .start = MEM_FB_BASE, - .end = MEM_FB_BASE + MEM_FB_SIZE, + .end = MEM_FB_BASE + MEM_FB_SIZE - 1, .flags = IORESOURCE_MEM, }, + #ifdef CONFIG_FB_WORK_IPP + [3] = { + .name = "win1 ipp buf", + .start = MEM_FBIPP_BASE, + .end = MEM_FBIPP_BASE + MEM_FBIPP_SIZE - 1, + .flags = IORESOURCE_MEM, + }, + #endif }; /*platform_device*/ -- 2.34.1