summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/karo-tx28
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-07-29 11:43:48 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2011-08-01 16:32:00 +0200
commitf9f35ee93821048bbace895c5c688bafbda2c3f3 (patch)
treeadab257c88226972d58ae3e47aeea7f7a3ae36b5 /arch/arm/boards/karo-tx28
parent2222dbc28668e478ec27cff13f8d4c9498d8519a (diff)
downloadbarebox-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/karo-tx28')
-rw-r--r--arch/arm/boards/karo-tx28/tx28.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/arch/arm/boards/karo-tx28/tx28.c b/arch/arm/boards/karo-tx28/tx28.c
index 095835b5d4..d6e3f9c25c 100644
--- a/arch/arm/boards/karo-tx28/tx28.c
+++ b/arch/arm/boards/karo-tx28/tx28.c
@@ -70,9 +70,11 @@ static const uint32_t tx28_pad_setup[] = {
extern void base_board_init(void);
-#ifdef CONFIG_MMU
-static int tx28_mmu_init(void)
+static int tx28_mem_init(void)
{
+ arm_add_mem_device("ram0", IMX_MEMORY_BASE, 128 * 1024 * 1024);
+
+#ifdef CONFIG_MMU
mmu_init();
arm_create_section(0x40000000, 0x40000000, 128, PMD_SECT_DEF_CACHED);
@@ -81,23 +83,20 @@ static int tx28_mmu_init(void)
setup_dma_coherent(0x10000000);
mmu_enable();
-
+#endif
return 0;
}
-postcore_initcall(tx28_mmu_init);
-#endif
+mem_initcall(tx28_mem_init);
static int tx28_devices_init(void)
{
int i;
- struct device_d *sdram_dev;
/* initizalize gpios */
for (i = 0; i < ARRAY_SIZE(tx28_pad_setup); i++)
imx_gpio_mode(tx28_pad_setup[i]);
- sdram_dev = arm_add_mem_device("ram0", IMX_MEMORY_BASE, 128 * 1024 * 1024);
- armlinux_set_bootparams(dev_get_mem_region(sdram_dev, 0) + 0x100);
+ armlinux_set_bootparams((void *)IMX_MEMORY_BASE + 0x100);
armlinux_set_architecture(MACH_TYPE_TX28);
base_board_init();