[Patch v3 1/2] configs: ls2080ardb: Make MC_INIT access flash memory as per spi-mem

MC_INIT command currently access spi-nor flash memory directly. As per spi-mem framework, flash memory access via absolute addresses is no more possible. Use flash APIs to access memory instead of directly using it.
Signed-off-by: Kuldeep Singh kuldeep.singh@nxp.com --- v3: -Use complete MC size, 1M works but MC has 3M assigned space. -Rebase to top
v2: -Rebase to top -reword commit message
include/configs/ls2080ardb.h | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h index c1819d2..d36e928 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -321,11 +321,15 @@ unsigned long get_board_sys_clk(void); #include <config_distro_bootcmd.h>
#ifdef CONFIG_TFABOOT -#define QSPI_MC_INIT_CMD \ - "env exists secureboot && " \ - "esbc_validate 0x20640000 && " \ - "esbc_validate 0x20680000;" \ - "fsl_mc start mc 0x20a00000 0x20e00000 \0" +#define QSPI_MC_INIT_CMD \ + "sf probe 0:0; " \ + "sf read 0x80640000 0x640000 0x80000; " \ + "env exists secureboot && " \ + "esbc_validate 0x80640000 && " \ + "esbc_validate 0x80680000; " \ + "sf read 0x80a00000 0xa00000 0x300000; " \ + "sf read 0x80e00000 0xe00000 0x100000; " \ + "fsl_mc start mc 0x80a00000 0x80e00000 \0" #define SD_MC_INIT_CMD \ "mmcinfo;mmc read 0x80a00000 0x5000 0x1200;" \ "mmc read 0x80e00000 0x7000 0x800;" \ @@ -342,11 +346,15 @@ unsigned long get_board_sys_clk(void); "fsl_mc start mc 0x580a00000 0x580e00000 \0" #else #ifdef CONFIG_QSPI_BOOT -#define MC_INIT_CMD \ - "mcinitcmd=env exists secureboot && " \ - "esbc_validate 0x20640000 && " \ - "esbc_validate 0x20680000;" \ - "fsl_mc start mc 0x20a00000 0x20e00000 \0" +#define MC_INIT_CMD \ + "mcinitcmd=sf probe 0:0; " \ + "sf read 0x80640000 0x640000 0x80000; " \ + "env exists secureboot && " \ + "esbc_validate 0x80640000 && " \ + "esbc_validate 0x80680000; " \ + "sf read 0x80a00000 0xa00000 0x300000; " \ + "sf read 0x80e00000 0xe00000 0x100000; " \ + "fsl_mc start mc 0x80a00000 0x80e00000 \0" #elif defined(CONFIG_SD_BOOT) #define MC_INIT_CMD \ "mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;" \

BOOT command currently access spi-nor flash memory directly. As per spi-mem framework, flash memory access via absolute addresses is no more possible. Use flash APIs to access memory instead of directly using it.
Signed-off-by: Kuldeep Singh kuldeep.singh@nxp.com --- v3: -Rebase
v2: -Rebase to top -Reword commit message
include/configs/ls2080ardb.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h index d36e928..b8e5dd3 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -508,10 +508,13 @@ unsigned long get_board_sys_clk(void);
#ifdef CONFIG_TFABOOT #define QSPI_NOR_BOOTCOMMAND \ + "sf probe 0:0; " \ + "sf read 0x806c0000 0x6c0000 0x40000; " \ "env exists mcinitcmd && env exists secureboot "\ - "&& esbc_validate 0x206C0000; " \ + "&& esbc_validate 0x806c0000; " \ + "sf read 0x80d00000 0xd00000 0x100000; " \ "env exists mcinitcmd && " \ - "fsl_mc lazyapply dpl 0x20d00000; " \ + "fsl_mc lazyapply dpl 0x80d00000; " \ "run distro_bootcmd;run qspi_bootcmd; " \ "env exists secureboot && esbc_halt;"
@@ -538,10 +541,13 @@ unsigned long get_board_sys_clk(void); #ifdef CONFIG_QSPI_BOOT /* Try to boot an on-QSPI kernel first, then do normal distro boot */ #define CONFIG_BOOTCOMMAND \ + "sf probe 0:0; " \ + "sf read 0x806c0000 0x6c0000 0x40000; " \ "env exists mcinitcmd && env exists secureboot "\ - "&& esbc_validate 0x206C0000; " \ + "&& esbc_validate 0x806C0000; " \ + "sf read 0x80d00000 0xd00000 0x100000; " \ "env exists mcinitcmd && " \ - "fsl_mc lazyapply dpl 0x20d00000; " \ + "fsl_mc lazyapply dpl 0x80d00000; " \ "run distro_bootcmd;run qspi_bootcmd; " \ "env exists secureboot && esbc_halt;" #elif defined(CONFIG_SD_BOOT)

-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of Kuldeep Singh Sent: Wednesday, March 18, 2020 11:57 AM To: Priyanka Jain priyanka.jain@nxp.com; u-boot@lists.denx.de Cc: Kuldeep Singh kuldeep.singh@nxp.com Subject: [Patch v3 2/2] configs: ls2080ardb: Make BOOT command access flash memory as per spi-mem
BOOT command currently access spi-nor flash memory directly. As per spi- mem framework, flash memory access via absolute addresses is no more possible. Use flash APIs to access memory instead of directly using it.
Signed-off-by: Kuldeep Singh kuldeep.singh@nxp.com
v3: -Rebase
v2: -Rebase to top -Reword commit message
include/configs/ls2080ardb.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h index d36e928..b8e5dd3 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -508,10 +508,13 @@ unsigned long get_board_sys_clk(void);
#ifdef CONFIG_TFABOOT #define QSPI_NOR_BOOTCOMMAND \
"sf probe 0:0; " \
\ "env exists mcinitcmd && env exists secureboot "\"sf read 0x806c0000 0x6c0000 0x40000; "
\"&& esbc_validate 0x206C0000; "
\"&& esbc_validate 0x806c0000; "
"sf read 0x80d00000 0xd00000 0x100000; " \ "env exists mcinitcmd && " \
"fsl_mc lazyapply dpl 0x20d00000; " \
\ "env exists secureboot && esbc_halt;""fsl_mc lazyapply dpl 0x80d00000; " \ "run distro_bootcmd;run qspi_bootcmd; "
@@ -538,10 +541,13 @@ unsigned long get_board_sys_clk(void); #ifdef CONFIG_QSPI_BOOT /* Try to boot an on-QSPI kernel first, then do normal distro boot */ #define CONFIG_BOOTCOMMAND \
"sf probe 0:0; " \
\ "env exists mcinitcmd && env exists secureboot "\"sf read 0x806c0000 0x6c0000 0x40000; "
\"&& esbc_validate 0x206C0000; "
\"&& esbc_validate 0x806C0000; "
"sf read 0x80d00000 0xd00000 0x100000; " \ "env exists mcinitcmd && " \
"fsl_mc lazyapply dpl 0x20d00000; " \
\ "env exists secureboot && esbc_halt;""fsl_mc lazyapply dpl 0x80d00000; " \ "run distro_bootcmd;run qspi_bootcmd; "
#elif defined(CONFIG_SD_BOOT)
2.7.4
Same comment as previous, please provide testing status for both secure and non-secure boot
Regards Priyanka

-----Original Message----- From: Priyanka Jain (OSS) priyanka.jain@oss.nxp.com Sent: Wednesday, March 18, 2020 4:03 PM To: Kuldeep Singh kuldeep.singh@nxp.com; u-boot@lists.denx.de Cc: Kuldeep Singh kuldeep.singh@nxp.com Subject: RE: [Patch v3 2/2] configs: ls2080ardb: Make BOOT command access flash memory as per spi-mem
-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of Kuldeep
Singh
Sent: Wednesday, March 18, 2020 11:57 AM To: Priyanka Jain priyanka.jain@nxp.com; u-boot@lists.denx.de Cc: Kuldeep Singh kuldeep.singh@nxp.com Subject: [Patch v3 2/2] configs: ls2080ardb: Make BOOT command access flash memory as per spi-mem
BOOT command currently access spi-nor flash memory directly. As per spi- mem framework, flash memory access via absolute addresses is no more possible. Use flash APIs to access memory instead of directly using it.
Signed-off-by: Kuldeep Singh kuldeep.singh@nxp.com
v3: -Rebase
v2: -Rebase to top -Reword commit message
include/configs/ls2080ardb.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h index d36e928..b8e5dd3 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -508,10 +508,13 @@ unsigned long get_board_sys_clk(void);
#ifdef CONFIG_TFABOOT #define QSPI_NOR_BOOTCOMMAND \
"sf probe 0:0; " \
\ "env exists mcinitcmd && env exists secureboot "\"sf read 0x806c0000 0x6c0000 0x40000; "
\"&& esbc_validate 0x206C0000; "
\"&& esbc_validate 0x806c0000; "
"sf read 0x80d00000 0xd00000 0x100000; " \ "env exists mcinitcmd && " \
"fsl_mc lazyapply dpl 0x20d00000; " \
\ "env exists secureboot && esbc_halt;""fsl_mc lazyapply dpl 0x80d00000; " \ "run distro_bootcmd;run qspi_bootcmd; "
@@ -538,10 +541,13 @@ unsigned long get_board_sys_clk(void); #ifdef CONFIG_QSPI_BOOT /* Try to boot an on-QSPI kernel first, then do normal distro boot */ #define CONFIG_BOOTCOMMAND \
"sf probe 0:0; " \
\ "env exists mcinitcmd && env exists secureboot "\"sf read 0x806c0000 0x6c0000 0x40000; "
\"&& esbc_validate 0x206C0000; "
\"&& esbc_validate 0x806C0000; "
"sf read 0x80d00000 0xd00000 0x100000; " \ "env exists mcinitcmd && " \
"fsl_mc lazyapply dpl 0x20d00000; " \
\ "env exists secureboot && esbc_halt;""fsl_mc lazyapply dpl 0x80d00000; " \ "run distro_bootcmd;run qspi_bootcmd; "
#elif defined(CONFIG_SD_BOOT)
2.7.4
Same comment as previous, please provide testing status for both secure and non-secure boot
These 2 patches are valid when new qspi driver is accepted. i.e depends on https://patchwork.ozlabs.org/project/uboot/list/?series=159796
Moreover, I will give you status/logs for both secure and non-secure boot.
Thanks Kuldeep
Regards Priyanka

-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of Kuldeep Singh Sent: Wednesday, March 18, 2020 11:57 AM To: Priyanka Jain priyanka.jain@nxp.com; u-boot@lists.denx.de Cc: Kuldeep Singh kuldeep.singh@nxp.com Subject: [Patch v3 1/2] configs: ls2080ardb: Make MC_INIT access flash memory as per spi-mem
MC_INIT command currently access spi-nor flash memory directly. As per spi- mem framework, flash memory access via absolute addresses is no more possible. Use flash APIs to access memory instead of directly using it.
Signed-off-by: Kuldeep Singh kuldeep.singh@nxp.com
v3: -Use complete MC size, 1M works but MC has 3M assigned space. -Rebase to top
v2: -Rebase to top -reword commit message
include/configs/ls2080ardb.h | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h index c1819d2..d36e928 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -321,11 +321,15 @@ unsigned long get_board_sys_clk(void); #include <config_distro_bootcmd.h>
#ifdef CONFIG_TFABOOT -#define QSPI_MC_INIT_CMD \
- "env exists secureboot && " \
- "esbc_validate 0x20640000 && " \
- "esbc_validate 0x20680000;" \
- "fsl_mc start mc 0x20a00000 0x20e00000 \0"
+#define QSPI_MC_INIT_CMD \
- "sf probe 0:0; " \
- "sf read 0x80640000 0x640000 0x80000; " \
- "env exists secureboot && " \
- "esbc_validate 0x80640000 && " \
- "esbc_validate 0x80680000; " \
- "sf read 0x80a00000 0xa00000 0x300000; " \
- "sf read 0x80e00000 0xe00000 0x100000; " \
- "fsl_mc start mc 0x80a00000 0x80e00000 \0"
#define SD_MC_INIT_CMD \ "mmcinfo;mmc read 0x80a00000 0x5000 0x1200;" \ "mmc read 0x80e00000 0x7000 0x800;" \ @@ -342,11 +346,15 @@ unsigned long get_board_sys_clk(void); "fsl_mc start mc 0x580a00000 0x580e00000 \0" #else #ifdef CONFIG_QSPI_BOOT -#define MC_INIT_CMD \
- "mcinitcmd=env exists secureboot && " \
- "esbc_validate 0x20640000 && " \
- "esbc_validate 0x20680000;" \
- "fsl_mc start mc 0x20a00000 0x20e00000 \0"
+#define MC_INIT_CMD \
- "mcinitcmd=sf probe 0:0; " \
- "sf read 0x80640000 0x640000 0x80000; " \
- "env exists secureboot && " \
- "esbc_validate 0x80640000 && " \
- "esbc_validate 0x80680000; " \
- "sf read 0x80a00000 0xa00000 0x300000; " \
- "sf read 0x80e00000 0xe00000 0x100000; " \
- "fsl_mc start mc 0x80a00000 0x80e00000 \0"
#elif defined(CONFIG_SD_BOOT) #define MC_INIT_CMD \ "mcinitcmd=mmcinfo;mmc read 0x80000000 0x5000 0x800;" \ -- 2.7.4
Please confirm if you tested this change for both secure and non-secure boot Regards Priyanka
participants (2)
-
Kuldeep Singh
-
Priyanka Jain (OSS)