From 2ac5921eea6df6ec9a536c531d4ad6d428be0d4d Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 14 Jan 2011 20:08:30 +0100 Subject: [PATCH] ARM i.MX28 tx28: use a fixed framebuffer address Signed-off-by: Sascha Hauer --- arch/arm/boards/karo-tx28/tx28-stk5.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/arm/boards/karo-tx28/tx28-stk5.c b/arch/arm/boards/karo-tx28/tx28-stk5.c index 6de41f764..e8338a3aa 100644 --- a/arch/arm/boards/karo-tx28/tx28-stk5.c +++ b/arch/arm/boards/karo-tx28/tx28-stk5.c @@ -19,7 +19,10 @@ #include #include #include +#include +#include #include +#include #include #include #include @@ -181,11 +184,15 @@ static struct fb_videomode tx28evk_vmodes[] = { }, }; +#define MAX_FB_SIZE SZ_2M + static struct imx_fb_videomode imxfb_mode = { .mode_list = tx28evk_vmodes, .mode_cnt = ARRAY_SIZE(tx28evk_vmodes), .dotclk_delay = 0, /* no adaption required */ .ld_intf_width = STMLCDIF_24BIT, /* full 24 bit */ + .fixed_screen = (void *)(0x40000000 + SZ_128M - MAX_FB_SIZE), + .fixed_screen_size = MAX_FB_SIZE, }; static struct device_d ldcif_dev = { @@ -352,6 +359,12 @@ void base_board_init(void) imx_set_sspclk(0, 100000000, 1); register_device(&mci_socket); + + if (imxfb_mode.fixed_screen < (void *)&_end) { + printf("Warning: fixed_screen overlaps barebox\n"); + imxfb_mode.fixed_screen = NULL; + } + register_device(&ldcif_dev); imx_enable_enetclk();