diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2013-02-13 15:41:41 +0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-02-13 18:34:26 +0100 |
commit | 7e982d545b3dd994c97b35b46afc2b2c4fa771dc (patch) | |
tree | dc2ecfb66c57c9bf3dce26836e039ef41973c4c9 /arch/arm/boards/clep7212 | |
parent | 2f19e281f2d4e5bf7a3f96cd8c00e952f5b09dde (diff) | |
download | barebox-7e982d545b3dd994c97b35b46afc2b2c4fa771dc.tar.gz barebox-7e982d545b3dd994c97b35b46afc2b2c4fa771dc.tar.xz |
ARM: clep7212: Fix NULL pointer exception if MMU is enabled
NOR-flash is placed at address 0x0, so if MMU is turned on, initialization
will fails. This patch fix this problem.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/clep7212')
-rw-r--r-- | arch/arm/boards/clep7212/clep7212.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/boards/clep7212/clep7212.c b/arch/arm/boards/clep7212/clep7212.c index a32337fafe..b96e480fc5 100644 --- a/arch/arm/boards/clep7212/clep7212.c +++ b/arch/arm/boards/clep7212/clep7212.c @@ -14,6 +14,7 @@ #include <io.h> #include <sizes.h> #include <asm/armlinux.h> +#include <asm/mmu.h> #include <generated/mach-types.h> #include <mach/clps711x.h> @@ -32,6 +33,7 @@ mem_initcall(clps711x_mem_init); static int clps711x_devices_init(void) { u32 serial_h = 0, serial_l = readl(UNIQID); + void *cfi_io; /* Setup Chipselects */ clps711x_setup_memcfg(0, MEMCFG_WAITSTATE_6_1 | MEMCFG_BUS_WIDTH_16); @@ -40,7 +42,9 @@ static int clps711x_devices_init(void) MEMCFG_CLKENB); clps711x_setup_memcfg(3, MEMCFG_WAITSTATE_6_1 | MEMCFG_BUS_WIDTH_32); - add_cfi_flash_device(0, CS0_BASE, SZ_32M, 0); + cfi_io = map_io_sections(CS0_BASE, (void *)0x90000000, SZ_32M); + add_cfi_flash_device(DEVICE_ID_DYNAMIC, (unsigned long)cfi_io, SZ_32M, + IORESOURCE_MEM); devfs_add_partition("nor0", 0x00000, SZ_256K, DEVFS_PARTITION_FIXED, "self0"); |