[U-Boot] [PATCH 1/2][v3] armv8: ls2080a: Reorganise NAND_BOOT code in config flag

york sun york.sun at nxp.com
Sat Mar 25 17:00:16 UTC 2017


On 03/02/2017 03:41 AM, Santan Kumar wrote:
> Add CONFIG_NAND_BOOT config flag to organise
> NAND_BOOT specific code in config flag like
> -nand-boot specfic errata errata_rcw_src()
> -CONFIG_SYS_NAND_U_BOOT_DST,etc
>
> Signed-off-by: Santan Kumar <santan.kumar at nxp.com>
> Signed-off-by: Priyanka Jain <priyanka.jain at nxp.com>
> Signed-off-by: Abhimanyu Saini <abhimanyu.saini at nxp.com>
> ---
> Changes for v3:
>  Rebased to latest codebase
>  Incorporated York's comments to defined CONFIG_NAND_BOOT
>  in new line
>
>  arch/arm/cpu/armv8/fsl-layerscape/soc.c | 2 +-
>  configs/ls2080aqds_nand_defconfig       | 1 +
>  configs/ls2080ardb_nand_defconfig       | 1 +
>  include/configs/ls2080a_common.h        | 5 +++++
>  include/configs/ls2080aqds.h            | 4 +++-
>  5 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> index 9489f85..fa68baf 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c
> @@ -134,7 +134,7 @@ void erratum_a009635(void)
>
>  static void erratum_rcw_src(void)
>  {
> -#if defined(CONFIG_SPL)
> +#if defined(CONFIG_SPL) && defined(CONFIG_NAND_BOOT)
>  	u32 __iomem *dcfg_ccsr = (u32 __iomem *)DCFG_BASE;
>  	u32 __iomem *dcfg_dcsr = (u32 __iomem *)DCFG_DCSR_BASE;
>  	u32 val;
> diff --git a/configs/ls2080aqds_nand_defconfig b/configs/ls2080aqds_nand_defconfig
> index 8910938..bc0b9b1 100644
> --- a/configs/ls2080aqds_nand_defconfig
> +++ b/configs/ls2080aqds_nand_defconfig
> @@ -12,6 +12,7 @@ CONFIG_FIT=y
>  CONFIG_FIT_VERBOSE=y
>  CONFIG_OF_BOARD_SETUP=y
>  CONFIG_OF_STDOUT_VIA_ALIAS=y
> +CONFIG_NAND_BOOT=y
>  CONFIG_SYS_EXTRA_OPTIONS="NAND, LS2080A"
>  CONFIG_BOOTDELAY=10
>  CONFIG_SPL=y
> diff --git a/configs/ls2080ardb_nand_defconfig b/configs/ls2080ardb_nand_defconfig
> index 8223111..d449190 100644
> --- a/configs/ls2080ardb_nand_defconfig
> +++ b/configs/ls2080ardb_nand_defconfig
> @@ -12,6 +12,7 @@ CONFIG_FIT=y
>  CONFIG_FIT_VERBOSE=y
>  CONFIG_OF_BOARD_SETUP=y
>  CONFIG_OF_STDOUT_VIA_ALIAS=y
> +CONFIG_NAND_BOOT=y
>  CONFIG_SYS_EXTRA_OPTIONS="NAND, LS2080A"
>  CONFIG_BOOTDELAY=10
>  CONFIG_SPL=y
> diff --git a/include/configs/ls2080a_common.h b/include/configs/ls2080a_common.h
> index 4173d9a..ae72939 100644
> --- a/include/configs/ls2080a_common.h
> +++ b/include/configs/ls2080a_common.h
> @@ -216,6 +216,7 @@ unsigned long long get_qixis_addr(void);
>
>  #define CONFIG_PANIC_HANG	/* do not reset board on panic */
>
> +#ifdef CONFIG_SPL

Why this?

>  #define CONFIG_SPL_BSS_START_ADDR	0x80100000
>  #define CONFIG_SPL_BSS_MAX_SIZE		0x00100000
>  #define CONFIG_SPL_FRAMEWORK
> @@ -225,11 +226,15 @@ unsigned long long get_qixis_addr(void);
>  #define CONFIG_SPL_TARGET		"u-boot-with-spl.bin"
>  #define CONFIG_SPL_TEXT_BASE		0x1800a000
>
> +#ifdef CONFIG_NAND_BOOT
> +#define CONFIG_SPL_NAND_SUPPORT

This is a Kconfig option. Please select it properly.

>  #define CONFIG_SYS_NAND_U_BOOT_DST	0x80400000
>  #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_NAND_U_BOOT_DST
> +#endif
>  #define CONFIG_SYS_SPL_MALLOC_SIZE	0x00100000
>  #define CONFIG_SYS_SPL_MALLOC_START	0x80200000
>  #define CONFIG_SYS_MONITOR_LEN		(640 * 1024)
> +#endif
>
>  #define CONFIG_SYS_BOOTM_LEN   (64 << 20)      /* Increase max gunzip size */
>
> diff --git a/include/configs/ls2080aqds.h b/include/configs/ls2080aqds.h
> index 08d1586..93f6b51 100644
> --- a/include/configs/ls2080aqds.h
> +++ b/include/configs/ls2080aqds.h
> @@ -197,7 +197,8 @@ unsigned long get_board_ddr_clk(void);
>  					FTIM2_GPCM_TWP(0x3E))
>  #define CONFIG_SYS_CS3_FTIM3		0x0
>
> -#if defined(CONFIG_SPL) && defined(CONFIG_NAND)
> +#if defined(CONFIG_SPL)
> +#if defined(CONFIG_NAND_BOOT)
>  #define CONFIG_SYS_CSPR1_EXT		CONFIG_SYS_NOR0_CSPR_EXT
>  #define CONFIG_SYS_CSPR1		CONFIG_SYS_NOR0_CSPR_EARLY
>  #define CONFIG_SYS_CSPR1_FINAL		CONFIG_SYS_NOR0_CSPR
> @@ -233,6 +234,7 @@ unsigned long get_board_ddr_clk(void);
>  #define CONFIG_SPL_PAD_TO		0x20000
>  #define CONFIG_SYS_NAND_U_BOOT_OFFS	(256 * 1024)
>  #define CONFIG_SYS_NAND_U_BOOT_SIZE	(640 * 1024)
> +#endif
>  #else
>  #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NOR0_CSPR_EXT
>  #define CONFIG_SYS_CSPR0		CONFIG_SYS_NOR0_CSPR_EARLY
>

Since you are reorganizing NAND boot, can you comb through all 
Layerscape NAND boot and make them consistent in the sense of location 
in RAM, malloc space, etc.? Or even better, can you also take SD boot 
and make them consistent? I would like to see the RAM version at the 
same location, with plenty of space ahead of it (may be used for falcon 
boot).

York


More information about the U-Boot mailing list