diff options
author | Mark Jackson <mpfj-list@mimc.co.uk> | 2009-07-21 11:11:37 +0100 |
---|---|---|
committer | Anatolij Gustschin <agust@denx.de> | 2009-07-26 13:12:02 +0200 |
commit | 716ece1de9a7d43a61d8698ac41b71b64f66f9e9 (patch) | |
tree | a9b99ec0e02092c4820a0eda90931605213e160c /lib_avr32 | |
parent | 6111722a9281c6e04a7304d502556afff6a5a1f8 (diff) | |
download | bootable_bootloader_goldelico_gta04-716ece1de9a7d43a61d8698ac41b71b64f66f9e9.zip bootable_bootloader_goldelico_gta04-716ece1de9a7d43a61d8698ac41b71b64f66f9e9.tar.gz bootable_bootloader_goldelico_gta04-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')
-rw-r--r-- | lib_avr32/board.c | 11 |
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; |