[U-Boot] [PATCHv2 1/2] ti: keystone2: Move CONFIG_ISW_ENTRY_ADDR to a common place

Lokesh Vutla lokeshvutla at ti.com
Wed Mar 20 13:33:52 UTC 2019



On 19/03/19 4:44 PM, Tom Rini wrote:
> The ISW_ENTRY_ADDR Kconfig option under mach-omap2 isn't a SoC specific
> notion but rather "where is our previous stage loaded in memory?"
> option.  Make use of this on ARCH_KEYSTONE rather than SPL_TEXT_BASE for
> our HS builds that are not using SPL anyhow.
> 
> Cc: Vitaly Andrianov <vitalya at ti.com>
> Cc: Andrew F. Davis <afd at ti.com>
> Cc: Lokesh Vutla <lokeshvutla at ti.com>
> Signed-off-by: Tom Rini <trini at konsulko.com>

Reviewed-by: Lokesh Vutla <lokeshvutla at ti.com?

> ---
> On a related note, can we please move SRAM_SCRATCH_SPACE_ADDR to a more
> fixed location?  The build logic here is going to break again when more

I guess you are talking about keystone2 devices. All omap platforms has sram
scratch space as last 1K.  Something similar can be done for keystone2 platforms
as well.

Thanks and regards,
Lokesh

> SPL symbols move to Kconfig, thanks!
> ---
>  arch/arm/Kconfig                     | 15 +++++++++++++++
>  arch/arm/mach-omap2/Kconfig          | 15 ---------------
>  configs/k2e_evm_defconfig            |  1 +
>  configs/k2e_hs_evm_defconfig         |  1 +
>  configs/k2g_evm_defconfig            |  1 +
>  configs/k2g_hs_evm_defconfig         |  1 +
>  configs/k2hk_evm_defconfig           |  1 +
>  configs/k2hk_hs_evm_defconfig        |  1 +
>  configs/k2l_evm_defconfig            |  1 +
>  configs/k2l_hs_evm_defconfig         |  1 +
>  include/configs/k2e_evm.h            |  4 ----
>  include/configs/k2g_evm.h            |  3 ---
>  include/configs/k2hk_evm.h           |  3 ---
>  include/configs/k2l_evm.h            |  3 ---
>  include/configs/ti_armv7_keystone2.h |  5 +++--
>  15 files changed, 26 insertions(+), 30 deletions(-)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index f42eccef80dd..49904cac670e 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1465,6 +1465,21 @@ config TI_SECURE_DEVICE
>  	  authenticated) and the code. See the doc/README.ti-secure
>  	  file for further details.
>  
> +if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE
> +config ISW_ENTRY_ADDR
> +	hex "Address in memory or XIP address of bootloader entry point"
> +	default 0x402F4000 if AM43XX
> +	default 0x402F0400 if AM33XX
> +	default 0x40301350 if OMAP54XX
> +	help
> +	  After any reset, the boot ROM searches the boot media for a valid
> +	  boot image. For non-XIP devices, the ROM then copies the image into
> +	  internal memory. For all boot modes, after the ROM processes the
> +	  boot image it eventually computes the entry point address depending
> +	  on the device type (secure/non-secure), boot media (xip/non-xip) and
> +	  image headers.
> +endif
> +
>  source "arch/arm/mach-aspeed/Kconfig"
>  
>  source "arch/arm/mach-at91/Kconfig"
> diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
> index 1cac4437d72c..d29f1ca0b58b 100644
> --- a/arch/arm/mach-omap2/Kconfig
> +++ b/arch/arm/mach-omap2/Kconfig
> @@ -167,21 +167,6 @@ config TI_SECURE_EMIF_PROTECTED_REGION_SIZE
>  	  using hardware memory firewalls. This value must be smaller than the
>  	  TI_SECURE_EMIF_TOTAL_REGION_SIZE value.
>  
> -if AM43XX || AM33XX || OMAP54XX
> -config ISW_ENTRY_ADDR
> -	hex "Address in memory or XIP address of bootloader entry point"
> -	default 0x402F4000 if AM43XX
> -	default 0x402F0400 if AM33XX
> -	default 0x40301350 if OMAP54XX
> -	help
> -	  After any reset, the boot ROM searches the boot media for a valid
> -	  boot image. For non-XIP devices, the ROM then copies the image into
> -	  internal memory. For all boot modes, after the ROM processes the
> -	  boot image it eventually computes the entry point address depending
> -	  on the device type (secure/non-secure), boot media (xip/non-xip) and
> -	  image headers.
> -endif
> -
>  source "arch/arm/mach-omap2/omap3/Kconfig"
>  
>  source "arch/arm/mach-omap2/omap4/Kconfig"
> diff --git a/configs/k2e_evm_defconfig b/configs/k2e_evm_defconfig
> index a108f88dfd32..b16740173cf6 100644
> --- a/configs/k2e_evm_defconfig
> +++ b/configs/k2e_evm_defconfig
> @@ -1,5 +1,6 @@
>  CONFIG_ARM=y
>  CONFIG_ARCH_KEYSTONE=y
> +CONFIG_ISW_ENTRY_ADDR=0xC100000
>  CONFIG_SYS_TEXT_BASE=0xC000000
>  CONFIG_TI_COMMON_CMD_OPTIONS=y
>  CONFIG_SPL_LIBCOMMON_SUPPORT=y
> diff --git a/configs/k2e_hs_evm_defconfig b/configs/k2e_hs_evm_defconfig
> index 67f6fb1da5f4..682c2f4523dc 100644
> --- a/configs/k2e_hs_evm_defconfig
> +++ b/configs/k2e_hs_evm_defconfig
> @@ -1,5 +1,6 @@
>  CONFIG_ARM=y
>  CONFIG_ARCH_KEYSTONE=y
> +CONFIG_ISW_ENTRY_ADDR=0xC100000
>  CONFIG_TI_SECURE_DEVICE=y
>  CONFIG_SYS_TEXT_BASE=0xC000060
>  CONFIG_TI_COMMON_CMD_OPTIONS=y
> diff --git a/configs/k2g_evm_defconfig b/configs/k2g_evm_defconfig
> index 838b6f14b6d1..7401c4baf811 100644
> --- a/configs/k2g_evm_defconfig
> +++ b/configs/k2g_evm_defconfig
> @@ -1,5 +1,6 @@
>  CONFIG_ARM=y
>  CONFIG_ARCH_KEYSTONE=y
> +CONFIG_ISW_ENTRY_ADDR=0xC0A0000
>  CONFIG_SYS_TEXT_BASE=0xC000000
>  CONFIG_TI_COMMON_CMD_OPTIONS=y
>  CONFIG_SPL_LIBCOMMON_SUPPORT=y
> diff --git a/configs/k2g_hs_evm_defconfig b/configs/k2g_hs_evm_defconfig
> index 93fa2360ad11..42fc68308eda 100644
> --- a/configs/k2g_hs_evm_defconfig
> +++ b/configs/k2g_hs_evm_defconfig
> @@ -1,6 +1,7 @@
>  CONFIG_ARM=y
>  CONFIG_ARCH_KEYSTONE=y
>  CONFIG_TI_SECURE_DEVICE=y
> +CONFIG_ISW_ENTRY_ADDR=0xC0A0000
>  CONFIG_SYS_TEXT_BASE=0xC000060
>  CONFIG_TI_COMMON_CMD_OPTIONS=y
>  CONFIG_TARGET_K2G_EVM=y
> diff --git a/configs/k2hk_evm_defconfig b/configs/k2hk_evm_defconfig
> index ce139d11d633..8034ae420089 100644
> --- a/configs/k2hk_evm_defconfig
> +++ b/configs/k2hk_evm_defconfig
> @@ -1,5 +1,6 @@
>  CONFIG_ARM=y
>  CONFIG_ARCH_KEYSTONE=y
> +CONFIG_ISW_ENTRY_ADDR=0xC200000
>  CONFIG_SYS_TEXT_BASE=0xC000000
>  CONFIG_TI_COMMON_CMD_OPTIONS=y
>  CONFIG_SPL_LIBCOMMON_SUPPORT=y
> diff --git a/configs/k2hk_hs_evm_defconfig b/configs/k2hk_hs_evm_defconfig
> index db61557f11da..79124226c7a3 100644
> --- a/configs/k2hk_hs_evm_defconfig
> +++ b/configs/k2hk_hs_evm_defconfig
> @@ -1,5 +1,6 @@
>  CONFIG_ARM=y
>  CONFIG_ARCH_KEYSTONE=y
> +CONFIG_ISW_ENTRY_ADDR=0xC200000
>  CONFIG_TI_SECURE_DEVICE=y
>  CONFIG_SYS_TEXT_BASE=0xC000060
>  CONFIG_TI_COMMON_CMD_OPTIONS=y
> diff --git a/configs/k2l_evm_defconfig b/configs/k2l_evm_defconfig
> index 368171d134b4..d810110b8396 100644
> --- a/configs/k2l_evm_defconfig
> +++ b/configs/k2l_evm_defconfig
> @@ -1,5 +1,6 @@
>  CONFIG_ARM=y
>  CONFIG_ARCH_KEYSTONE=y
> +CONFIG_ISW_ENTRY_ADDR=0xC100000
>  CONFIG_SYS_TEXT_BASE=0xC000000
>  CONFIG_TI_COMMON_CMD_OPTIONS=y
>  CONFIG_SPL_LIBCOMMON_SUPPORT=y
> diff --git a/configs/k2l_hs_evm_defconfig b/configs/k2l_hs_evm_defconfig
> index 7bb672f50c1e..aac396239238 100644
> --- a/configs/k2l_hs_evm_defconfig
> +++ b/configs/k2l_hs_evm_defconfig
> @@ -1,5 +1,6 @@
>  CONFIG_ARM=y
>  CONFIG_ARCH_KEYSTONE=y
> +CONFIG_ISW_ENTRY_ADDR=0xC100000
>  CONFIG_TI_SECURE_DEVICE=y
>  CONFIG_SYS_TEXT_BASE=0xC000060
>  CONFIG_TI_COMMON_CMD_OPTIONS=y
> diff --git a/include/configs/k2e_evm.h b/include/configs/k2e_evm.h
> index 2c0e4cbe92fd..547127490c92 100644
> --- a/include/configs/k2e_evm.h
> +++ b/include/configs/k2e_evm.h
> @@ -40,10 +40,6 @@
>  
>  #include <configs/ti_armv7_keystone2.h>
>  
> -/* SPL SPI Loader Configuration */
> -#define CONFIG_SPL_TEXT_BASE           0x0c100000
> -
> -
>  #define SPI_MTD_PARTS KEYSTONE_SPI0_MTD_PARTS
>  
>  /* NAND Configuration */
> diff --git a/include/configs/k2g_evm.h b/include/configs/k2g_evm.h
> index 90f9a9922cab..3aeb9044f396 100644
> --- a/include/configs/k2g_evm.h
> +++ b/include/configs/k2g_evm.h
> @@ -72,9 +72,6 @@
>  	"bootm ${fit_loadaddr}#${name_fdt}"
>  #endif
>  
> -/* SPL SPI Loader Configuration */
> -#define CONFIG_SPL_TEXT_BASE		0x0c0a0000
> -
>  /* NAND Configuration */
>  #define CONFIG_SYS_NAND_PAGE_2K
>  
> diff --git a/include/configs/k2hk_evm.h b/include/configs/k2hk_evm.h
> index 0b909a1bf6fa..d4f2e96bab08 100644
> --- a/include/configs/k2hk_evm.h
> +++ b/include/configs/k2hk_evm.h
> @@ -40,9 +40,6 @@
>  
>  #include <configs/ti_armv7_keystone2.h>
>  
> -/* SPL SPI Loader Configuration */
> -#define CONFIG_SPL_TEXT_BASE		0x0c200000
> -
>  #define SPI_MTD_PARTS KEYSTONE_SPI0_MTD_PARTS
>  
>  /* NAND Configuration */
> diff --git a/include/configs/k2l_evm.h b/include/configs/k2l_evm.h
> index 59e6b096733a..cfdb36e2d7ff 100644
> --- a/include/configs/k2l_evm.h
> +++ b/include/configs/k2l_evm.h
> @@ -40,9 +40,6 @@
>  
>  #include <configs/ti_armv7_keystone2.h>
>  
> -/* SPL SPI Loader Configuration */
> -#define CONFIG_SPL_TEXT_BASE		0x0c100000
> -
>  #define SPI_MTD_PARTS KEYSTONE_SPI0_MTD_PARTS
>  
>  /* NAND Configuration */
> diff --git a/include/configs/ti_armv7_keystone2.h b/include/configs/ti_armv7_keystone2.h
> index 0c7d66486832..842b56bf0379 100644
> --- a/include/configs/ti_armv7_keystone2.h
> +++ b/include/configs/ti_armv7_keystone2.h
> @@ -22,7 +22,7 @@
>  /* Memory Configuration */
>  #define CONFIG_SYS_LPAE_SDRAM_BASE	0x800000000
>  #define CONFIG_MAX_RAM_BANK_SIZE	(2 << 30)       /* 2GB */
> -#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SPL_TEXT_BASE - \
> +#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_ISW_ENTRY_ADDR - \
>  					GENERATED_GBL_DATA_SIZE)
>  
>  #ifdef CONFIG_SYS_MALLOC_F_LEN
> @@ -32,9 +32,10 @@
>  #endif
>  
>  /* SPL SPI Loader Configuration */
> +#define CONFIG_SPL_TEXT_BASE		CONFIG_ISW_ENTRY_ADDR
>  #define CONFIG_SPL_PAD_TO		65536
>  #define CONFIG_SPL_MAX_SIZE		(CONFIG_SPL_PAD_TO - 8)
> -#define CONFIG_SPL_BSS_START_ADDR	(CONFIG_SPL_TEXT_BASE + \
> +#define CONFIG_SPL_BSS_START_ADDR	(CONFIG_ISW_ENTRY_ADDR + \
>  					CONFIG_SPL_MAX_SIZE)
>  #define CONFIG_SPL_BSS_MAX_SIZE		(32 * 1024)
>  #define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SPL_BSS_START_ADDR + \
> 


More information about the U-Boot mailing list