[U-Boot] [PATCH 1/2] armv8/ls1043aqds: fix print info for QSPI boot

according to the Reference manual.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com --- board/freescale/ls1043aqds/ls1043aqds.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c index a72fe52..bd73e4f 100644 --- a/board/freescale/ls1043aqds/ls1043aqds.c +++ b/board/freescale/ls1043aqds/ls1043aqds.c @@ -47,7 +47,7 @@ enum { int checkboard(void) { char buf[64]; -#if !defined(CONFIG_SD_BOOT) && !defined(CONFIG_QSPI_BOOT) +#ifndef CONFIG_SD_BOOT u8 sw; #endif
@@ -55,8 +55,6 @@ int checkboard(void)
#ifdef CONFIG_SD_BOOT puts("SD\n"); -#elif defined(CONFIG_QSPI_BOOT) - puts("QSPI\n"); #else sw = QIXIS_READ(brdcfg[0]); sw = (sw & QIXIS_LBMAP_MASK) >> QIXIS_LBMAP_SHIFT; @@ -67,8 +65,8 @@ int checkboard(void) puts("PromJet\n"); else if (sw == 0x9) puts("NAND\n"); - else if (sw == 0x15) - printf("IFCCard\n"); + else if (sw == 0xF) + printf("QSPI\n"); else printf("invalid setting of SW%u\n", QIXIS_LBMAP_SWITCH); #endif

Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com --- board/freescale/ls1043aqds/ls1043aqds.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c index a72fe52..bd73e4f 100644 --- a/board/freescale/ls1043aqds/ls1043aqds.c +++ b/board/freescale/ls1043aqds/ls1043aqds.c @@ -47,7 +47,7 @@ enum { int checkboard(void) { char buf[64]; -#if !defined(CONFIG_SD_BOOT) && !defined(CONFIG_QSPI_BOOT) +#ifndef CONFIG_SD_BOOT u8 sw; #endif
@@ -55,8 +55,6 @@ int checkboard(void)
#ifdef CONFIG_SD_BOOT puts("SD\n"); -#elif defined(CONFIG_QSPI_BOOT) - puts("QSPI\n"); #else sw = QIXIS_READ(brdcfg[0]); sw = (sw & QIXIS_LBMAP_MASK) >> QIXIS_LBMAP_SHIFT; @@ -67,8 +65,8 @@ int checkboard(void) puts("PromJet\n"); else if (sw == 0x9) puts("NAND\n"); - else if (sw == 0x15) - printf("IFCCard\n"); + else if (sw == 0xF) + printf("QSPI\n"); else printf("invalid setting of SW%u\n", QIXIS_LBMAP_SWITCH); #endif

For QSPI boot and SD boot with QSPI, we could only read from FPGA through I2C to get the system clock and DDR clock info. However in U-Boot booting flow, I2C is not initialized when get_clocks() is called and thus it couldn't get correct value of the clocks. So the configuarable clock is only supported by non-QSPI boot.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com --- include/configs/ls1043aqds.h | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h index 158cf02..93671f0 100644 --- a/include/configs/ls1043aqds.h +++ b/include/configs/ls1043aqds.h @@ -29,8 +29,13 @@ unsigned long get_board_sys_clk(void); unsigned long get_board_ddr_clk(void); #endif
+#if defined(CONFIG_QSPI_BOOT) || (CONFIG_SD_BOOT_QSPI) #define CONFIG_SYS_CLK_FREQ 100000000 #define CONFIG_DDR_CLK_FREQ 100000000 +#else +#define CONFIG_SYS_CLK_FREQ get_board_sys_clk() +#define CONFIG_DDR_CLK_FREQ get_board_ddr_clk() +#endif
#define CONFIG_SKIP_LOWLEVEL_INIT

On 03/14/2016 03:06 AM, Gong Qianyu wrote:
For QSPI boot and SD boot with QSPI, we could only read from FPGA through I2C to get the system clock and DDR clock info. However in U-Boot booting flow, I2C is not initialized when get_clocks() is called and thus it couldn't get correct value of the clocks. So the configuarable clock is only supported by non-QSPI boot.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com
include/configs/ls1043aqds.h | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h index 158cf02..93671f0 100644 --- a/include/configs/ls1043aqds.h +++ b/include/configs/ls1043aqds.h @@ -29,8 +29,13 @@ unsigned long get_board_sys_clk(void); unsigned long get_board_ddr_clk(void); #endif
+#if defined(CONFIG_QSPI_BOOT) || (CONFIG_SD_BOOT_QSPI) #define CONFIG_SYS_CLK_FREQ 100000000 #define CONFIG_DDR_CLK_FREQ 100000000 +#else +#define CONFIG_SYS_CLK_FREQ get_board_sys_clk() +#define CONFIG_DDR_CLK_FREQ get_board_ddr_clk() +#endif
#define CONFIG_SKIP_LOWLEVEL_INIT
Qianyu,
Please work with Yuan Yao on qixis access. We may have a solution to get the clocks on QSPI boot.
York

Hi York,
在 2016年3月19日,上午12:53,york sun <york.sun@nxp.commailto:york.sun@nxp.com> 写道:
On 03/14/2016 03:06 AM, Gong Qianyu wrote: For QSPI boot and SD boot with QSPI, we could only read from FPGA through I2C to get the system clock and DDR clock info. However in U-Boot booting flow, I2C is not initialized when get_clocks() is called and thus it couldn't get correct value of the clocks. So the configuarable clock is only supported by non-QSPI boot.
Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.commailto:Qianyu.Gong@nxp.com> --- include/configs/ls1043aqds.h | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h index 158cf02..93671f0 100644 --- a/include/configs/ls1043aqds.h +++ b/include/configs/ls1043aqds.h @@ -29,8 +29,13 @@ unsigned long get_board_sys_clk(void); unsigned long get_board_ddr_clk(void); #endif
+#if defined(CONFIG_QSPI_BOOT) || (CONFIG_SD_BOOT_QSPI) #define CONFIG_SYS_CLK_FREQ 100000000 #define CONFIG_DDR_CLK_FREQ 100000000 +#else +#define CONFIG_SYS_CLK_FREQ get_board_sys_clk() +#define CONFIG_DDR_CLK_FREQ get_board_ddr_clk() +#endif
#define CONFIG_SKIP_LOWLEVEL_INIT
Qianyu,
Please work with Yuan Yao on qixis access. We may have a solution to get the clocks on QSPI boot.
York
Yes. I have been discussing with Yuan Yao these days. Yesterday we tried to initialize i2c by writing several related registers and finally verified on LS2080AQDS board. Seems that this way is feasible and simple enough for us to read FPGA earlier. Then I’ll send a new version of this patch.
Regards, Qianyu

Please ignore this patch.. sent out for mistake:(
-----Original Message----- From: Gong Qianyu [mailto:Qianyu.Gong@nxp.com] Sent: Monday, March 14, 2016 5:57 PM To: u-boot@lists.denx.de; york sun york.sun@nxp.com; Mingkai Hu mingkai.hu@nxp.com Cc: oss@buserror.net; Qianyu Gong qianyu.gong@nxp.com Subject: [PATCH 1/2] armv8/ls1043aqds: fix print info for QSPI boot
according to the Reference manual.
Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com
board/freescale/ls1043aqds/ls1043aqds.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/board/freescale/ls1043aqds/ls1043aqds.c b/board/freescale/ls1043aqds/ls1043aqds.c index a72fe52..bd73e4f 100644 --- a/board/freescale/ls1043aqds/ls1043aqds.c +++ b/board/freescale/ls1043aqds/ls1043aqds.c @@ -47,7 +47,7 @@ enum { int checkboard(void) { char buf[64]; -#if !defined(CONFIG_SD_BOOT) && !defined(CONFIG_QSPI_BOOT) +#ifndef CONFIG_SD_BOOT u8 sw; #endif
@@ -55,8 +55,6 @@ int checkboard(void)
#ifdef CONFIG_SD_BOOT puts("SD\n"); -#elif defined(CONFIG_QSPI_BOOT)
- puts("QSPI\n");
#else sw = QIXIS_READ(brdcfg[0]); sw = (sw & QIXIS_LBMAP_MASK) >> QIXIS_LBMAP_SHIFT; @@ -67,8 +65,8 @@ int checkboard(void) puts("PromJet\n"); else if (sw == 0x9) puts("NAND\n");
- else if (sw == 0x15)
printf("IFCCard\n");
- else if (sw == 0xF)
else printf("invalid setting of SW%u\n", QIXIS_LBMAP_SWITCH);printf("QSPI\n");
#endif
2.1.0.27.g96db324
participants (3)
-
Gong Qianyu
-
Qianyu Gong
-
york sun