summaryrefslogtreecommitdiffstats
path: root/arch/arm/boards/clep7212
diff options
context:
space:
mode:
authorAlexander Shiyan <shc_work@mail.ru>2013-02-13 15:41:41 +0400
committerSascha Hauer <s.hauer@pengutronix.de>2013-02-13 18:34:26 +0100
commit7e982d545b3dd994c97b35b46afc2b2c4fa771dc (patch)
treedc2ecfb66c57c9bf3dce26836e039ef41973c4c9 /arch/arm/boards/clep7212
parent2f19e281f2d4e5bf7a3f96cd8c00e952f5b09dde (diff)
downloadbarebox-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.c6
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");