diff options
author | Heiko Schocher <[hs@denx.de]> | 2010-10-20 19:33:26 +0530 |
---|---|---|
committer | prafulla_wadaskar <prafulla@marvell.com> | 2010-10-20 19:33:26 +0530 |
commit | 6b0ccc3b456bcec534620aac93427e4a2207a66a (patch) | |
tree | f28d5a2e9ece66078a4c5b9ceaa50d765250ab1a | |
parent | 3ed16071b006dbda65070a4143db74da469f6e30 (diff) |
arm926ejs, suen3: fix relocation issues
- use internal 2k security SRAM as RAM for early stack.
- do early inits in board_init_f()
Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Prafulla Wadaskar <prafulla@marvell.com>
-rw-r--r-- | board/keymile/km_arm/km_arm.c | 24 | ||||
-rw-r--r-- | include/configs/km_arm.h | 6 |
2 files changed, 19 insertions, 11 deletions
diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c index 7c0b858887..a2a8bfeeb4 100644 --- a/board/keymile/km_arm/km_arm.c +++ b/board/keymile/km_arm/km_arm.c @@ -143,7 +143,7 @@ int misc_init_r(void) return 0; } -int board_init(void) +int board_early_init_f(void) { u32 tmp; @@ -160,14 +160,6 @@ int board_init(void) writel(tmp & (~FLASH_GPIO_PIN) , KW_GPIO0_BASE + 4); printf("KM: setting NAND mode\n"); - /* - * arch number of board - */ - gd->bd->bi_arch_number = MACH_TYPE_SUEN3; - - /* address of boot parameters */ - gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100; - #if defined(CONFIG_SOFT_I2C) /* init the GPIO for I2C Bitbang driver */ kw_gpio_set_valid(SUEN3_SDA_PIN, 1); @@ -179,6 +171,20 @@ int board_init(void) kw_gpio_set_valid(SUEN3_ENV_WP, 38); kw_gpio_direction_output(SUEN3_ENV_WP, 1); #endif + + return 0; +} + +int board_init(void) +{ + /* + * arch number of board + */ + gd->bd->bi_arch_number = MACH_TYPE_SUEN3; + + /* address of boot parameters */ + gd->bd->bi_boot_params = kw_sdram_bar(0) + 0x100; + return 0; } diff --git a/include/configs/km_arm.h b/include/configs/km_arm.h index faa0f50326..4b706f1f44 100644 --- a/include/configs/km_arm.h +++ b/include/configs/km_arm.h @@ -182,6 +182,8 @@ int get_scl (void); /* additions for new relocation code, must be added to all boards */ #define CONFIG_SYS_SDRAM_BASE 0x00000000 -#define CONFIG_SYS_INIT_SP_ADDR (0x00000000 + 0x1000 - /* Fix this */ \ - CONFIG_SYS_GBL_DATA_SIZE) +/* Kirkwood has 2k of Security SRAM, use it for SP */ +#define CONFIG_SYS_INIT_SP_ADDR 0xC8012000 +/* Do early setups now in board_init_f() */ +#define CONFIG_BOARD_EARLY_INIT_F #endif /* _CONFIG_KM_ARM_H */ |