diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2007-07-05 18:01:24 +0200 |
---|---|---|
committer | Sascha Hauer <sha@octopus.labnet.pengutronix.de> | 2007-07-05 18:01:24 +0200 |
commit | 658cc34395e3780dc46d6ffdc61c95130d362661 (patch) | |
tree | 2a56eb0438b75e2ddc44970ff8be4d7af97e65fa /arch/arm | |
parent | 873c1d746ea291cdf0b73dbcc1f7f289984472f2 (diff) | |
download | barebox-658cc34395e3780dc46d6ffdc61c95130d362661.tar.gz barebox-658cc34395e3780dc46d6ffdc61c95130d362661.tar.xz |
svn_rev_118
thousands of things
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/Kconfig | 14 | ||||
-rw-r--r-- | arch/arm/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/lib/board.c | 78 |
3 files changed, 27 insertions, 68 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a193ef0fae..78a2a8a7dc 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1,4 +1,10 @@ +config TEXT_BASE + string + default "0x08f00000" if MACH_MX1ADS + default "0x08f80000" if MACH_SCB9328 + default "0x21e00000" if MACH_ECO920 + config ARM920T bool @@ -20,6 +26,14 @@ config MACH_MX1ADS help Say Y here if you are using the Motorola MX1ADS board +config MACH_SCB9328 + bool "Syntertronixx scb9328" + select HAS_DM9000 + select HAS_CFI + select ARCH_IMX + help + Say Y here if you are using the Synertronixx scb9328 board + config MACH_ECO920 bool "eco920" select HAS_AT91_ETHER diff --git a/arch/arm/Makefile b/arch/arm/Makefile index ea3700b11f..0089d5012d 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -8,9 +8,10 @@ machine-$(CONFIG_ARCH_IMX) := imx machine-$(CONFIG_ARCH_AT91RM9200) := at91rm9200 board-$(CONFIG_MACH_MX1ADS) := mx1ads board-$(CONFIG_MACH_ECO920) := eco920 +board-$(CONFIG_MACH_SCB9328) := scb9328 cpu-$(CONFIG_ARM920T) := arm920t -TEXT_BASE = 0x21e00000 +TEXT_BASE = $(CONFIG_TEXT_BASE) CPPFLAGS += -mabi=apcs-gnu -DTEXT_BASE=$(TEXT_BASE) CFLAGS := -fno-common -msoft-float -Os diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index e930a82608..52241a8a1c 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -46,7 +46,7 @@ #include <net.h> #include <cfi_flash.h> -ulong load_addr = CFG_LOAD_ADDR; /* Default Load Address */ +ulong load_addr = 0; /* Default Load Address */ DECLARE_GLOBAL_DATA_PTR; @@ -147,22 +147,6 @@ static int display_dram_config (void) return (0); } -#ifndef CFG_NO_FLASH -extern flash_info_t flash_info[CFG_MAX_FLASH_BANKS]; - -static void display_flash_config (ulong size) -{ - int i; - - puts ("Flash Configuration:\n"); - for(i=0; i<CFG_MAX_FLASH_BANKS; i++) { - printf ("Bank #%d: 0x%08lx ", i, flash_info[i].start[0]); - print_size (flash_info[i].size, "\n"); - } -} -#endif /* CFG_NO_FLASH */ - - /* * Breathe some life into the board... * @@ -189,6 +173,7 @@ static void display_flash_config (ulong size) typedef int (init_fnc_t) (void); extern int mem_init(void); +extern int partition_init(void); int print_cpuinfo (void); /* test-only */ @@ -203,6 +188,7 @@ init_fnc_t *init_sequence[] = { #ifdef CONFIG_DRIVER_CFI flash_init, #endif + partition_init, #ifdef CONFIG_CMD_MEMORY mem_init, #endif @@ -221,15 +207,11 @@ init_fnc_t *init_sequence[] = { void start_armboot (void) { init_fnc_t **init_fnc_ptr; - char *s; -#ifndef CFG_NO_FLASH - ulong size; -#endif #if defined(CONFIG_VFD) || defined(CONFIG_LCD) unsigned long addr; #endif - /* Pointer is writable since we allocated a register for it */ + /* Pointer is writable since we allocated a register for it */ gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN - sizeof(gd_t)); /* compiler optimization barrier needed for GCC >= 3.4 */ __asm__ __volatile__("": : :"memory"); @@ -240,46 +222,16 @@ void start_armboot (void) monitor_flash_len = _bss_start - _armboot_start; + /* armboot_start is defined in the board-specific linker script */ + mem_malloc_init (_armboot_start - CFG_MALLOC_LEN); + for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) { - if ((*init_fnc_ptr)() != 0) { +// serial_putc(i++ + 'a'); + if ((*init_fnc_ptr)() != 0) { hang (); } } -#ifndef CFG_NO_FLASH - /* configure available FLASH banks */ -// display_flash_config (size); -#endif /* CFG_NO_FLASH */ - -#ifdef CONFIG_VFD -# ifndef PAGE_SIZE -# define PAGE_SIZE 4096 -# endif - /* - * reserve memory for VFD display (always full pages) - */ - /* bss_end is defined in the board-specific linker script */ - addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1); - size = vfd_setmem (addr); - gd->fb_base = addr; -#endif /* CONFIG_VFD */ - -#ifdef CONFIG_LCD -# ifndef PAGE_SIZE -# define PAGE_SIZE 4096 -# endif - /* - * reserve memory for LCD display (always full pages) - */ - /* bss_end is defined in the board-specific linker script */ - addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1); - size = lcd_setmem (addr); - gd->fb_base = addr; -#endif /* CONFIG_LCD */ - - /* armboot_start is defined in the board-specific linker script */ - mem_malloc_init (_armboot_start - CFG_MALLOC_LEN); - #if (CONFIG_COMMANDS & CFG_CMD_NAND) puts ("NAND: "); nand_init(); /* go init the NAND */ @@ -288,11 +240,6 @@ void start_armboot (void) /* initialize environment */ env_relocate (); -#ifdef CONFIG_VFD - /* must do this after the framebuffer is allocated */ - drv_vfd_init(); -#endif /* CONFIG_VFD */ - jumptable_init (); #if defined(CONFIG_MISC_INIT_R) @@ -306,13 +253,10 @@ void start_armboot (void) #ifdef BOARD_LATE_INIT board_late_init (); #endif -#if (CONFIG_COMMANDS & CFG_CMD_NET) -#if defined(CONFIG_NET_MULTI) - puts ("Net: "); -#endif +#ifdef CONFIG_NET eth_initialize(gd->bd); #endif - /* main_loop() can return to retry autoboot, if so just run it again. */ + /* main_loop() can return to retry autoboot, if so just run it again. */ for (;;) { main_loop (); } |