From f9f35ee93821048bbace895c5c688bafbda2c3f3 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 29 Jul 2011 11:43:48 +0200 Subject: 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 Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD --- arch/arm/boards/chumby_falconwing/falconwing.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'arch/arm/boards/chumby_falconwing') diff --git a/arch/arm/boards/chumby_falconwing/falconwing.c b/arch/arm/boards/chumby_falconwing/falconwing.c index 06916f0a01..b20dd743a9 100644 --- a/arch/arm/boards/chumby_falconwing/falconwing.c +++ b/arch/arm/boards/chumby_falconwing/falconwing.c @@ -261,9 +261,11 @@ static const uint32_t pad_setup[] = { GPMI_RDY3_GPIO | GPIO_IN | PULLUP(1), }; -#ifdef CONFIG_MMU -static int falconwing_mmu_init(void) +static int falconwing_mem_init(void) { + arm_add_mem_device("ram0", IMX_MEMORY_BASE, 64 * 1024 * 1024); + +#ifdef CONFIG_MMU mmu_init(); arm_create_section(0x40000000, 0x40000000, 64, PMD_SECT_DEF_CACHED); @@ -272,11 +274,10 @@ static int falconwing_mmu_init(void) setup_dma_coherent(0x10000000); mmu_enable(); - +#endif return 0; } -postcore_initcall(falconwing_mmu_init); -#endif +mem_initcall(falconwing_mem_init); /** * Try to register an environment storage on the attached MCI card @@ -333,13 +334,11 @@ static void falconwing_init_usb(void) static int falconwing_devices_init(void) { int i, rc; - struct device_d *sdram_dev; /* initizalize gpios */ for (i = 0; i < ARRAY_SIZE(pad_setup); i++) imx_gpio_mode(pad_setup[i]); - sdram_dev = arm_add_mem_device("ram0", IMX_MEMORY_BASE, 64 * 1024 * 1024); imx_set_ioclk(480000000); /* enable IOCLK to run at the PLL frequency */ /* run the SSP unit clock at 100,000 kHz */ imx_set_sspclk(0, 100000000, 1); @@ -350,7 +349,7 @@ static int falconwing_devices_init(void) falconwing_init_usb(); - armlinux_set_bootparams(dev_get_mem_region(sdram_dev, 0) + 0x100); + armlinux_set_bootparams((void *)IMX_MEMORY_BASE + 0x100); armlinux_set_architecture(MACH_TYPE_CHUMBY); rc = register_persistant_environment(); -- cgit v1.2.3