summaryrefslogtreecommitdiff
path: root/lib_avr32/board.c
diff options
context:
space:
mode:
authorMark Jackson <mpfj-list@mimc.co.uk>2009-07-21 11:11:37 +0100
committerAnatolij Gustschin <agust@denx.de>2009-07-26 13:12:02 +0200
commit716ece1de9a7d43a61d8698ac41b71b64f66f9e9 (patch)
treea9b99ec0e02092c4820a0eda90931605213e160c /lib_avr32/board.c
parent6111722a9281c6e04a7304d502556afff6a5a1f8 (diff)
downloadu-boot-imx-716ece1de9a7d43a61d8698ac41b71b64f66f9e9.zip
u-boot-imx-716ece1de9a7d43a61d8698ac41b71b64f66f9e9.tar.gz
u-boot-imx-716ece1de9a7d43a61d8698ac41b71b64f66f9e9.tar.bz2
Add AVR32 LCD support
This patch adds support for the AVR32 LCD controller. This patch is based off the latest u-boot-video. A quick summary of what's going on:- Enable LCDC pixel clock Enable LCDC port pins Add framebuffer pointer to global_data struct Allocate framebuffer To use the new code, update your board config to include something like this:- #define CONFIG_LCD 1 #if defined(CONFIG_LCD) #define CONFIG_CMD_BMP #define CONFIG_ATMEL_LCD 1 #define LCD_BPP LCD_COLOR16 #define CONFIG_BMP_16BPP 1 #define CONFIG_FB_ADDR 0x10600000 #define CONFIG_WHITE_ON_BLACK 1 #define CONFIG_VIDEO_BMP_GZIP 1 #define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE 262144 #define CONFIG_ATMEL_LCD_BGR555 1 #define CONFIG_SYS_CONSOLE_IS_IN_ENV 1 #define CONFIG_SPLASH_SCREEN 1 #endif The standard U-Boot BMP and Splash-screen features should just work. Signed-off-by: Mark Jackson <mpfj@mimc.co.uk> [agust@denx.de: fixed some style issues] Signed-off-by: Anatolij Gustschin <agust@denx.de>
Diffstat (limited to 'lib_avr32/board.c')
-rw-r--r--lib_avr32/board.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib_avr32/board.c b/lib_avr32/board.c
index 5b2d0ef..da03506 100644
--- a/lib_avr32/board.c
+++ b/lib_avr32/board.c
@@ -239,6 +239,17 @@ void board_init_f(ulong board_type)
addr -= CONFIG_SYS_DMA_ALLOC_LEN;
#endif
+#ifdef CONFIG_LCD
+#ifdef CONFIG_FB_ADDR
+ printf("LCD: Frame buffer allocated at preset 0x%08x\n", CONFIG_FB_ADDR);
+ gd->fb_base = (void *)CONFIG_FB_ADDR;
+#else
+ addr = lcd_setmem(addr);
+ printf("LCD: Frame buffer allocated at 0x%08lx\n", addr);
+ gd->fb_base = (void *)addr;
+#endif /* CONFIG_FB_ADDR */
+#endif /* CONFIG_LCD */
+
/* Allocate a Board Info struct on a word boundary */
addr -= sizeof(bd_t);
addr &= ~3UL;