diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-01-20 09:38:20 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-01-20 10:33:30 +0100 |
commit | 61a8639441b77826f9441fff9cd12cdad669c247 (patch) | |
tree | 5f34e37e3c60930878e088bd988ed839d9169b70 /arch/arm/boards/chumby_falconwing | |
parent | 67292676434827f9978f61710aadc820b2a5f833 (diff) | |
download | barebox-61a8639441b77826f9441fff9cd12cdad669c247.tar.gz barebox-61a8639441b77826f9441fff9cd12cdad669c247.tar.xz |
ARM Chumby: Add MMU support
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/chumby_falconwing')
-rw-r--r-- | arch/arm/boards/chumby_falconwing/falconwing.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/arm/boards/chumby_falconwing/falconwing.c b/arch/arm/boards/chumby_falconwing/falconwing.c index 2887f8cf91..966d99b748 100644 --- a/arch/arm/boards/chumby_falconwing/falconwing.c +++ b/arch/arm/boards/chumby_falconwing/falconwing.c @@ -25,6 +25,7 @@ #include <usb/ehci.h> #include <asm/armlinux.h> #include <asm/io.h> +#include <asm/mmu.h> #include <generated/mach-types.h> #include <mach/imx-regs.h> #include <mach/clock.h> @@ -264,6 +265,28 @@ static const uint32_t pad_setup[] = { GPMI_RDY3_GPIO | GPIO_IN | PULLUP(1), }; +#ifdef CONFIG_MMU +static int falconwing_mmu_init(void) +{ + mmu_init(); + + arm_create_section(0x40000000, 0x40000000, 64, PMD_SECT_DEF_CACHED); + arm_create_section(0x50000000, 0x40000000, 64, PMD_SECT_DEF_UNCACHED); + + setup_dma_coherent(0x10000000); + +#if TEXT_BASE & (0x100000 - 1) +#warning cannot create vector section. Adjust TEXT_BASE to a 1M boundary +#else + arm_create_section(0x0, TEXT_BASE, 1, PMD_SECT_DEF_UNCACHED); +#endif + mmu_enable(); + + return 0; +} +postcore_initcall(falconwing_mmu_init); +#endif + /** * Try to register an environment storage on the attached MCI card * @return 0 on success |