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>
This commit is contained in:
parent
62043ed02a
commit
927d2cea6b
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue