ARM: versatile: fix board support

Versatile board is used as example to run u-boot under qemu.
The patch fixes relocation for all versatile boards and adds
a versatileqemu target to be used under qemu.

Patch tested only under qemu, not on real boards.
Tested with QEMU emulator version 0.14.50.

Signed-off-by: Stefano Babic <sbabic@denx.de>
CC: Alessandro Rubini  <rubini-list@gnudd.com>
CC: Loïc Minier <loic.minier@linaro.org>
This commit is contained in:
Stefano Babic 2011-06-24 03:04:38 +00:00 committed by Albert ARIBAUD
parent 07407d97f0
commit d388298a59
5 changed files with 32 additions and 16 deletions

View File

@ -933,15 +933,6 @@ edb9315_config \
edb9315a_config: unconfig edb9315a_config: unconfig
@$(MKCONFIG) -n $@ -t $(@:_config=) edb93xx arm arm920t edb93xx - ep93xx @$(MKCONFIG) -n $@ -t $(@:_config=) edb93xx arm arm920t edb93xx - ep93xx
#########################################################################
# ARM supplied Versatile development boards
#########################################################################
versatile_config \
versatileab_config \
versatilepb_config : unconfig
@board/armltd/versatile/split_by_variant.sh $@
######################################################################### #########################################################################
## XScale Systems ## XScale Systems
######################################################################### #########################################################################

View File

@ -1,5 +0,0 @@
#
# image should be loaded at 0x01000000
#
CONFIG_SYS_TEXT_BASE = 0x01000000

View File

@ -51,7 +51,7 @@ void show_boot_progress(int progress)
* Miscellaneous platform dependent initialisations * Miscellaneous platform dependent initialisations
*/ */
int board_init (void) int board_early_init_f (void)
{ {
/* /*
* set clock frequency: * set clock frequency:
@ -62,6 +62,11 @@ int board_init (void)
((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) | (VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) | ((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) | (VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) |
(VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) | (VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel)); (VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) | (VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel));
return 0;
}
int board_init (void)
{
/* arch number of Versatile Board */ /* arch number of Versatile Board */
gd->bd->bi_arch_number = MACH_TYPE_VERSATILE_PB; gd->bd->bi_arch_number = MACH_TYPE_VERSATILE_PB;
@ -88,6 +93,9 @@ int misc_init_r (void)
******************************/ ******************************/
int dram_init (void) int dram_init (void)
{ {
/* dram_init must store complete ramsize in gd->ram_size */
gd->ram_size = get_ram_size((volatile void *)CONFIG_SYS_SDRAM_BASE,
PHYS_SDRAM_1_SIZE);
return 0; return 0;
} }

View File

@ -71,6 +71,9 @@ smdk2410 arm arm920t - samsung
netstar arm arm925t netstar arm arm925t
voiceblue arm arm925t voiceblue arm arm925t
omap1510inn arm arm925t - ti omap1510inn arm arm925t - ti
versatileqemu arm arm926ejs versatile armltd versatile versatile:ARCH_VERSATILE_QEMU
versatilepb arm arm926ejs versatile armltd versatile versatile:ARCH_VERSATILE_PB
versatileab arm arm926ejs versatile armltd versatile versatile:ARCH_VERSATILE_AB
aspenite arm arm926ejs - Marvell armada100 aspenite arm arm926ejs - Marvell armada100
afeb9260 arm arm926ejs - - at91 afeb9260 arm arm926ejs - - at91
at91cap9adk arm arm926ejs - atmel at91 at91cap9adk arm arm926ejs - atmel at91

View File

@ -74,6 +74,7 @@
/* /*
* Size of malloc() pool * Size of malloc() pool
*/ */
#define CONFIG_ENV_SIZE 8192
#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128 * 1024) #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128 * 1024)
/* /*
@ -168,9 +169,26 @@
#define PHYS_SDRAM_1_SIZE 0x08000000 /* 128 MB */ #define PHYS_SDRAM_1_SIZE 0x08000000 /* 128 MB */
#define PHYS_FLASH_SIZE 0x04000000 /* 64MB */ #define PHYS_FLASH_SIZE 0x04000000 /* 64MB */
#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
#define CONFIG_SYS_INIT_RAM_ADDR 0x00800000
#define CONFIG_SYS_INIT_RAM_SIZE 0x000FFFFF
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - \
GENERATED_GBL_DATA_SIZE)
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_INIT_RAM_ADDR + \
CONFIG_SYS_GBL_DATA_OFFSET)
#define CONFIG_BOARD_EARLY_INIT_F
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
* FLASH and environment organization * FLASH and environment organization
*/ */
#ifdef CONFIG_ARCH_VERSATILE_QEMU
#define CONFIG_SYS_TEXT_BASE 0x10000
#define CONFIG_SYS_NO_FLASH
#define CONFIG_ENV_IS_NOWHERE
#define CONFIG_SYS_MONITOR_LEN 0x80000
#else
#define CONFIG_SYS_TEXT_BASE 0x01000000
/* /*
* Use the CFI flash driver for ease of use * Use the CFI flash driver for ease of use
*/ */
@ -222,7 +240,6 @@
/* The ARM Boot Monitor is shipped in the lowest sector of flash */ /* The ARM Boot Monitor is shipped in the lowest sector of flash */
#define FLASH_TOP (CONFIG_SYS_FLASH_BASE + PHYS_FLASH_SIZE) #define FLASH_TOP (CONFIG_SYS_FLASH_BASE + PHYS_FLASH_SIZE)
#define CONFIG_ENV_SIZE 8192
#define CONFIG_ENV_ADDR (FLASH_TOP - CONFIG_ENV_SECT_SIZE) #define CONFIG_ENV_ADDR (FLASH_TOP - CONFIG_ENV_SECT_SIZE)
#define CONFIG_ENV_OFFSET (CONFIG_ENV_ADDR - CONFIG_SYS_FLASH_BASE) #define CONFIG_ENV_OFFSET (CONFIG_ENV_ADDR - CONFIG_SYS_FLASH_BASE)
#define CONFIG_SYS_MONITOR_BASE (CONFIG_ENV_ADDR - CONFIG_SYS_MONITOR_LEN) #define CONFIG_SYS_MONITOR_BASE (CONFIG_ENV_ADDR - CONFIG_SYS_MONITOR_LEN)
@ -230,4 +247,6 @@
#define CONFIG_SYS_FLASH_PROTECTION /* The devices have real protection */ #define CONFIG_SYS_FLASH_PROTECTION /* The devices have real protection */
#define CONFIG_SYS_FLASH_EMPTY_INFO /* flinfo indicates empty blocks */ #define CONFIG_SYS_FLASH_EMPTY_INFO /* flinfo indicates empty blocks */
#endif
#endif /* __CONFIG_H */ #endif /* __CONFIG_H */