summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-01-14 20:08:30 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2011-01-19 09:33:22 +0100
commit2ac5921eea6df6ec9a536c531d4ad6d428be0d4d (patch)
tree2e1d2d717d9ac3482ac0bd87b38ed296f09eee61
parent7a815494d738e5de24928fcfd116ee41080331d6 (diff)
downloadbarebox-2ac5921eea6df6ec9a536c531d4ad6d428be0d4d.tar.gz
barebox-2ac5921eea6df6ec9a536c531d4ad6d428be0d4d.tar.xz
ARM i.MX28 tx28: use a fixed framebuffer address
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/boards/karo-tx28/tx28-stk5.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/boards/karo-tx28/tx28-stk5.c b/arch/arm/boards/karo-tx28/tx28-stk5.c
index 6de41f7649..e8338a3aa9 100644
--- a/arch/arm/boards/karo-tx28/tx28-stk5.c
+++ b/arch/arm/boards/karo-tx28/tx28-stk5.c
@@ -19,7 +19,10 @@
#include <errno.h>
#include <mci.h>
#include <fec.h>
+#include <sizes.h>
+#include <reloc.h>
#include <asm/io.h>
+#include <asm/sections.h>
#include <mach/imx-regs.h>
#include <mach/clock.h>
#include <mach/mci.h>
@@ -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();