Message ID | 1295591015-26109-1-git-send-email-hs@denx.de |
---|---|
State | Accepted |
Commit | 927d2cea6bdbb2d6297db738c6fe8a6cfc18882f |
Headers | show |
Dear Heiko Schocher, In message <1295591015-26109-1-git-send-email-hs@denx.de> you wrote: > 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> > --- > board/digsy_mtc/digsy_mtc.c | 5 +++++ > include/configs/digsy_mtc.h | 4 ++-- > 2 files changed, 7 insertions(+), 2 deletions(-) Applied, thanks. Best regards, Wolfgang Denk
diff --git a/board/digsy_mtc/digsy_mtc.c b/board/digsy_mtc/digsy_mtc.c index afb0948..cbfdc9e 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 bfbec6a..e7fd0f7 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
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> --- board/digsy_mtc/digsy_mtc.c | 5 +++++ include/configs/digsy_mtc.h | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-)