summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schocher <hs@denx.de>2011-01-21 07:23:35 +0100
committerWolfgang Denk <wd@denx.de>2011-03-21 22:51:27 +0100
commit927d2cea6bdbb2d6297db738c6fe8a6cfc18882f (patch)
treeecd6740ddc178a83d61698b0bb0abc1de8210f02
parent62043ed02a2acffa801e3574e249de07d30336a2 (diff)
mpc52xx, digsy_mtc_rev5: Fix Linux crash, if no Flash in bank 2
If no Flash is connected to cs1, Linux crashes, because reg entries are not correct adapted. Following fix is needed: - swap base addresses in CONFIG_SYS_FLASH_BANKS_LIST, as flash bank 1 is on chipselect 0 and flash bank 2 on chipselect 1 - call fdt_fixup_nor_flash_size() from ft_board_setup() Signed-off-by: Heiko Schocher <hs@denx.de> cc: Wolfgang Denk <hs@denx.de> cc: Werner Pfister <Pfister_Werner@intercontrol.de> cc: Detlev Zundel <dzu@denx.de>
-rw-r--r--board/digsy_mtc/digsy_mtc.c5
-rw-r--r--include/configs/digsy_mtc.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/board/digsy_mtc/digsy_mtc.c b/board/digsy_mtc/digsy_mtc.c
index afb0948057..cbfdc9edff 100644
--- a/board/digsy_mtc/digsy_mtc.c
+++ b/board/digsy_mtc/digsy_mtc.c
@@ -46,6 +46,7 @@
#include "is42s16800a-7t.h"
#endif
#include <libfdt.h>
+#include <fdt_support.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -415,6 +416,10 @@ void ft_board_setup(void *blob, bd_t *bd)
ft_delete_node(blob, "mc,rv3029c2");
#endif
#if defined(CONFIG_SYS_UPDATE_FLASH_SIZE)
+#ifdef CONFIG_FDT_FIXUP_NOR_FLASH_SIZE
+ /* Update reg property in all nor flash nodes too */
+ fdt_fixup_nor_flash_size(blob);
+#endif
ft_adapt_flash_base(blob);
#endif
}
diff --git a/include/configs/digsy_mtc.h b/include/configs/digsy_mtc.h
index bfbec6a860..e7fd0f7f9c 100644
--- a/include/configs/digsy_mtc.h
+++ b/include/configs/digsy_mtc.h
@@ -268,8 +268,8 @@
#define CONFIG_SYS_FLASH_BASE 0xFE000000
#define CONFIG_SYS_FLASH_BASE_CS1 0xFC000000
#define CONFIG_SYS_MAX_FLASH_BANKS 2
-#define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE_CS1, \
- CONFIG_SYS_FLASH_BASE}
+#define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE, \
+ CONFIG_SYS_FLASH_BASE_CS1}
#define CONFIG_SYS_UPDATE_FLASH_SIZE
#define CONFIG_FDT_FIXUP_NOR_FLASH_SIZE
#else