sunxi: binman: Move BL31 and SCP firmware addresses to Kconfig

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.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
This commit is contained in:
Samuel Holland
2023-10-31 00:17:39 -05:00
committed by Andre Przywara
parent d72494a064
commit 53c0ad5d27
2 changed files with 24 additions and 17 deletions

View File

@@ -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";
};

View File

@@ -161,6 +161,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