[U-Boot] [PATCH 12/12] LS2080QDS: QSPI boot: fix issues.

Yuan Yao yao.yuan at freescale.com
Wed Mar 2 11:32:03 CET 2016


From: Yuan Yao <yao.yuan at nxp.com>

This patch is used for fix the bug below:
/*******************************************/
"Synchronous Abort" handler, esr 0x86000210
ELR:     fff6cfb4
LR:      fff6d3f0
x0 : 0000000000000022 x1 : 00000000fff78c6f
x2 : 00000000ffd0ecb0 x3 : 0000000000000000
x4 : 00000000ffd0ecd0 x5 : 0000000000000000
x6 : 00000000ffffffc8 x7 : 000000003fe00000
x8 : 00000083ffe00000 x9 : 000000000000000c
x10: 0000008400000000 x11: 000000000000000c
x12: 0000000000000015 x13: 0000000040000000
x14: 0000000000200000 x15: 0000000000000001
x16: 000000001800f188 x17: 0000000000000001
x18: 00000000ffd11d78 x19: 00000000ffd0f010
x20: 00000000ffd0ed39 x21: 00000000fff80935
x22: 00000000fff78c6f x23: 0000000000000001
x24: 00000000ffd0f010 x25: 00000000ffd0ed38
x26: 00000000fff738e0 x27: 00000000fff72460
x28: 00000000fff92000 x29: 00000000ffd0ebd0

Resetting CPU ...
/*******************************************/

Signed-off-by: Yuan Yao <yao.yuan at nxp.com>
---
 arch/arm/include/asm/arch-fsl-layerscape/cpu.h | 4 ++++
 board/freescale/ls2080aqds/ls2080aqds.c        | 2 ++
 common/board_f.c                               | 6 +++---
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/arch/arm/include/asm/arch-fsl-layerscape/cpu.h b/arch/arm/include/asm/arch-fsl-layerscape/cpu.h
index 15ade84..794b764 100644
--- a/arch/arm/include/asm/arch-fsl-layerscape/cpu.h
+++ b/arch/arm/include/asm/arch-fsl-layerscape/cpu.h
@@ -120,6 +120,8 @@ static const struct sys_mmu_table early_mmu_table[] = {
 	  PMD_SECT_NON_SHARE | PMD_SECT_PXN | PMD_SECT_UXN },
 	{ CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE,
 	  CONFIG_SYS_FSL_OCRAM_SIZE, MT_NORMAL, PMD_SECT_NON_SHARE },
+	{ CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1,
+	  CONFIG_SYS_FSL_QSPI_SIZE1,  MT_NORMAL, PMD_SECT_NON_SHARE},
 	/* For IFC Region #1, only the first 4MB is cache-enabled */
 	{ CONFIG_SYS_FSL_IFC_BASE1, CONFIG_SYS_FSL_IFC_BASE1,
 	  CONFIG_SYS_FSL_IFC_SIZE1_1, MT_NORMAL, PMD_SECT_NON_SHARE },
@@ -172,6 +174,8 @@ static const struct sys_mmu_table final_mmu_table[] = {
 	{ CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1,
 	  CONFIG_SYS_FSL_DRAM_SIZE1, MT_NORMAL,
 	  PMD_SECT_OUTER_SHARE | PMD_SECT_NS },
+	{ CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1,
+	  CONFIG_SYS_FSL_QSPI_SIZE1,  MT_NORMAL, PMD_SECT_NON_SHARE},
 	{ CONFIG_SYS_FSL_QSPI_BASE2, CONFIG_SYS_FSL_QSPI_BASE2,
 	  CONFIG_SYS_FSL_QSPI_SIZE2, MT_DEVICE_NGNRNE,
 	  PMD_SECT_NON_SHARE | PMD_SECT_PXN | PMD_SECT_UXN },
diff --git a/board/freescale/ls2080aqds/ls2080aqds.c b/board/freescale/ls2080aqds/ls2080aqds.c
index 7e09f11..8e174c3 100644
--- a/board/freescale/ls2080aqds/ls2080aqds.c
+++ b/board/freescale/ls2080aqds/ls2080aqds.c
@@ -80,6 +80,8 @@ int checkboard(void)
 		puts("PromJet\n");
 	else if (sw == 0x9)
 		puts("NAND\n");
+	else if (sw == 0xf)
+		puts("QSPI\n");
 	else if (sw == 0x15)
 		printf("IFCCard\n");
 	else
diff --git a/common/board_f.c b/common/board_f.c
index 622093a..1af1b4b 100644
--- a/common/board_f.c
+++ b/common/board_f.c
@@ -912,9 +912,6 @@ static init_fnc_t init_sequence_f[] = {
 #if defined(CONFIG_MPC5xxx)
 	prt_mpc5xxx_clks,
 #endif /* CONFIG_MPC5xxx */
-#if defined(CONFIG_DISPLAY_BOARDINFO)
-	show_board_info,
-#endif
 	INIT_FUNC_WATCHDOG_INIT
 #if defined(CONFIG_MISC_INIT_F)
 	misc_init_f,
@@ -923,6 +920,9 @@ static init_fnc_t init_sequence_f[] = {
 #if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
 	init_func_i2c,
 #endif
+#if defined(CONFIG_DISPLAY_BOARDINFO)
+	show_board_info,
+#endif
 #if defined(CONFIG_HARD_SPI)
 	init_func_spi,
 #endif
-- 
2.1.0.27.g96db324



More information about the U-Boot mailing list