From e72a6be4fc071930016903638e1e493ab5d3be8a Mon Sep 17 00:00:00 2001 From: Samuel Holland Date: Wed, 21 Oct 2020 21:12:16 -0500 Subject: sunxi: binman: Add support for including SCP firmware Allwinner sun50i SoCs contain an OpenRISC 1000 CPU that functions as a System Control Processor, or SCP. ARM Trusted Firmware (ATF) communicates with the SCP over SCPI to implement the PSCI system suspend, shutdown and reset functionality. Currently, SCP firmware is optional; the system will boot and run without it, but system suspend will be unavailable. Since all communication with the SCP is mediated by ATF, the only thing U-Boot needs to do is load the firmware into SRAM. The SCP firmware occupies the last 16KiB of SRAM A2, immediately following ATF. Reviewed-by: Simon Glass Signed-off-by: Samuel Holland Reviewed-by: Jagan Teki --- arch/arm/dts/sunxi-u-boot.dtsi | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'arch') diff --git a/arch/arm/dts/sunxi-u-boot.dtsi b/arch/arm/dts/sunxi-u-boot.dtsi index 9f5b103cbb..c77cf7cacf 100644 --- a/arch/arm/dts/sunxi-u-boot.dtsi +++ b/arch/arm/dts/sunxi-u-boot.dtsi @@ -2,8 +2,10 @@ #ifdef CONFIG_MACH_SUN50I_H6 #define BL31_ADDR 0x104000 +#define SCP_ADDR 0x114000 #else #define BL31_ADDR 0x44000 +#define SCP_ADDR 0x50000 #endif / { @@ -59,6 +61,19 @@ }; }; + scp { + description = "SCP firmware"; + type = "firmware"; + arch = "or1k"; + compression = "none"; + load = ; + + scp { + filename = "scp.bin"; + missing-msg = "scp-sunxi"; + }; + }; + @fdt-SEQ { description = "NAME"; type = "flat_dt"; @@ -72,7 +87,7 @@ @config-SEQ { description = "NAME"; firmware = "atf"; - loadables = "uboot"; + loadables = "scp", "uboot"; fdt = "fdt-SEQ"; }; }; -- cgit v1.2.3