[PATCH v3 2/4] sunxi: binman: Move BL31 and SCP firmware addresses to Kconfig
Andre Przywara
andre.przywara at arm.com
Fri Dec 8 01:33:48 CET 2023
On Tue, 31 Oct 2023 00:17:39 -0500
Samuel Holland <samuel at sholland.org> wrote:
Hi Samuel,
> This is easier to read than the #ifdef staircase, provides better
> visibility into the memory map (alongside the other Kconfig
> definitions), and allows these addresses to be reused from code.
This is indeed much nicer, and simplifies adding more SoCs.
I checked that the addresses are the same:
> Reviewed-by: Simon Glass <sjg at chromium.org>
> Signed-off-by: Samuel Holland <samuel at sholland.org>
Reviewed-by: Andre Przywara <andre.przywara at arm.com>
Cheers,
Andre
> ---
>
> (no changes since v2)
>
> Changes in v2:
> - New patch for v2, split from the .dtsi changes
>
> arch/arm/dts/sunxi-u-boot.dtsi | 24 +++++++-----------------
> arch/arm/mach-sunxi/Kconfig | 17 +++++++++++++++++
> 2 files changed, 24 insertions(+), 17 deletions(-)
>
> diff --git a/arch/arm/dts/sunxi-u-boot.dtsi b/arch/arm/dts/sunxi-u-boot.dtsi
> index a0c8abb7033..7a8764e463b 100644
> --- a/arch/arm/dts/sunxi-u-boot.dtsi
> +++ b/arch/arm/dts/sunxi-u-boot.dtsi
> @@ -1,15 +1,5 @@
> #include <config.h>
>
> -#ifdef CONFIG_MACH_SUN50I_H6
> -#define BL31_ADDR 0x104000
> -#define SCP_ADDR 0x114000
> -#elif defined(CONFIG_MACH_SUN50I_H616)
> -#define BL31_ADDR 0x40000000
> -#else
> -#define BL31_ADDR 0x44000
> -#define SCP_ADDR 0x50000
> -#endif
> -
> / {
> aliases {
> mmc0 = &mmc0;
> @@ -69,8 +59,8 @@
> os = "arm-trusted-firmware";
> arch = "arm64";
> compression = "none";
> - load = <BL31_ADDR>;
> - entry = <BL31_ADDR>;
> + load = <CONFIG_SUNXI_BL31_BASE>;
> + entry = <CONFIG_SUNXI_BL31_BASE>;
>
> atf-bl31 {
> filename = "bl31.bin";
> @@ -78,13 +68,13 @@
> };
> };
>
> -#ifdef SCP_ADDR
> +#if CONFIG_SUNXI_SCP_BASE
> scp {
> description = "SCP firmware";
> type = "firmware";
> arch = "or1k";
> compression = "none";
> - load = <SCP_ADDR>;
> + load = <CONFIG_SUNXI_SCP_BASE>;
>
> scp {
> filename = "scp.bin";
> @@ -106,10 +96,10 @@
> @config-SEQ {
> description = "NAME";
> firmware = "atf";
> -#ifndef SCP_ADDR
> - loadables = "uboot";
> -#else
> +#if CONFIG_SUNXI_SCP_BASE
> loadables = "scp", "uboot";
> +#else
> + loadables = "uboot";
> #endif
> fdt = "fdt-SEQ";
> };
> diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
> index a10e4c06b6a..b0fbda0aa09 100644
> --- a/arch/arm/mach-sunxi/Kconfig
> +++ b/arch/arm/mach-sunxi/Kconfig
> @@ -155,6 +155,23 @@ config SUNXI_RVBAR_ALTERNATIVE
> for all other SoCs, so the content of the SRAM_VER_REG becomes
> irrelevant there, and we can use the same code.
>
> +config SUNXI_BL31_BASE
> + hex
> + default 0x00044000 if MACH_SUN50I || MACH_SUN50I_H5
> + default 0x00104000 if MACH_SUN50I_H6
> + default 0x40000000 if MACH_SUN50I_H616
> + default 0x0
> + help
> + Address where BL31 (TF-A) is loaded, or zero if BL31 is not used.
> +
> +config SUNXI_SCP_BASE
> + hex
> + default 0x00050000 if MACH_SUN50I || MACH_SUN50I_H5
> + default 0x00114000 if MACH_SUN50I_H6
> + default 0x0
> + help
> + Address where SCP firmware is loaded, or zero if it is not used.
> +
> config SUNXI_A64_TIMER_ERRATUM
> bool
>
More information about the U-Boot
mailing list