diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-07-29 11:43:48 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-08-01 16:32:00 +0200 |
commit | f9f35ee93821048bbace895c5c688bafbda2c3f3 (patch) | |
tree | adab257c88226972d58ae3e47aeea7f7a3ae36b5 /arch/arm/boards/mini2440 | |
parent | 2222dbc28668e478ec27cff13f8d4c9498d8519a (diff) | |
download | barebox-f9f35ee93821048bbace895c5c688bafbda2c3f3.tar.gz barebox-f9f35ee93821048bbace895c5c688bafbda2c3f3.tar.xz |
ARM boards: move sdram setup before mmu setup
The new MMU setup will need SDRAM base addresses and sizes.
For this reason convert the MMU enabled ARM boards:
- move mem setup to mem_initcall. This is early but
still makes sure that we already have the console available
- move MMU setup in this initcall temporary as after the mmu_init will generic
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Diffstat (limited to 'arch/arm/boards/mini2440')
-rw-r--r-- | arch/arm/boards/mini2440/mini2440.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm/boards/mini2440/mini2440.c b/arch/arm/boards/mini2440/mini2440.c index df7e6179e3..fd1f2f27c3 100644 --- a/arch/arm/boards/mini2440/mini2440.c +++ b/arch/arm/boards/mini2440/mini2440.c @@ -263,11 +263,18 @@ static const unsigned pin_usage[] = { GPH7_RXD2, }; +static int mini2440_mem_init(void) +{ + arm_add_mem_device("ram0", CS6_BASE, s3c24x0_get_memory_size()); + + return 0; +} +mem_initcall(mini2440_mem_init); + static int mini2440_devices_init(void) { uint32_t reg; int i; - struct device_d *sdram_dev; /* ----------- configure the access to the outer space ---------- */ for (i = 0; i < ARRAY_SIZE(pin_usage); i++) @@ -290,8 +297,6 @@ static int mini2440_devices_init(void) add_generic_device("s3c24x0_nand", -1, NULL, S3C24X0_NAND_BASE, 0, IORESOURCE_MEM, &nand_info); - sdram_dev = arm_add_mem_device("ram0", CS6_BASE, s3c24x0_get_memory_size()); - add_dm9000_device(0, CS4_BASE + 0x300, CS4_BASE + 0x304, IORESOURCE_MEM_16BIT, &dm9000_data); #ifdef CONFIG_NAND @@ -308,7 +313,7 @@ static int mini2440_devices_init(void) IORESOURCE_MEM, &mci_data); add_generic_device("s3c_fb", 0, NULL, S3C2410_LCD_BASE, 0, IORESOURCE_MEM, &s3c24x0_fb_data); - armlinux_set_bootparams(dev_get_mem_region(sdram_dev, 0) + 0x100); + armlinux_set_bootparams((void*)CS6_BASE + 0x100); armlinux_set_architecture(MACH_TYPE_MINI2440); return 0; |