diff --git a/projects/Allwinner/patches/u-boot/0001-sunxi-spl-Disable-padding-from-SPL_PAD_TO.patch b/projects/Allwinner/patches/u-boot/0001-sunxi-spl-Disable-padding-from-SPL_PAD_TO.patch deleted file mode 100644 index 62bda85c8a..0000000000 --- a/projects/Allwinner/patches/u-boot/0001-sunxi-spl-Disable-padding-from-SPL_PAD_TO.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 8674b92c48a528ec82a548bb677d0231316f5aa4 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 22 Jan 2023 14:29:17 -0600 -Subject: [PATCH 01/13] sunxi: spl: Disable padding from SPL_PAD_TO - -Starting with H6, Allwinner removed the artificial 32 KiB SPL size limit -from the boot ROM. Now SPL size is only limited by the available SRAM. -This limit ranges from 152 KiB on H6 to a whopping 2052 KiB on R329. To -take advantage of this additional space, we must increase SPL_MAX_SIZE. -Since we do not want to unnecessarily pad SPL out to these giant sizes, -we must set SPL_PAD_TO to zero. This causes no problems because binman -already takes care of appending the SPL payload at the right offset. - -Commit-changes: 2 - - New patch for v2 - -Cover-changes: 2 - - Disable padding from SPL_PAD_TO - -Signed-off-by: Samuel Holland ---- - common/spl/Kconfig | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/common/spl/Kconfig b/common/spl/Kconfig -index 25cd18afda..a0968ff106 100644 ---- a/common/spl/Kconfig -+++ b/common/spl/Kconfig -@@ -97,8 +97,7 @@ config SPL_PAD_TO - default 0x31000 if ARCH_MX6 && MX6_OCRAM_256KB - default 0x11000 if ARCH_MX7 || (ARCH_MX6 && !MX6_OCRAM_256KB) - default 0x10000 if ARCH_KEYSTONE -- default 0x8000 if ARCH_SUNXI && !MACH_SUN50I_H616 -- default 0x0 if ARCH_MTMIPS -+ default 0x0 if ARCH_MTMIPS || ARCH_SUNXI - default TPL_MAX_SIZE if TPL_MAX_SIZE > SPL_MAX_SIZE - default SPL_MAX_SIZE - help --- -2.34.1 - diff --git a/projects/Allwinner/patches/u-boot/0002-sunxi-binman-Move-BL31-and-SCP-firmware-addresses-to.patch b/projects/Allwinner/patches/u-boot/0002-sunxi-binman-Move-BL31-and-SCP-firmware-addresses-to.patch deleted file mode 100644 index c6eaf28a79..0000000000 --- a/projects/Allwinner/patches/u-boot/0002-sunxi-binman-Move-BL31-and-SCP-firmware-addresses-to.patch +++ /dev/null @@ -1,112 +0,0 @@ -From fa31297e5f79d6eb97aed3cf94326124b308e337 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 22 Jan 2023 11:46:34 -0600 -Subject: [PATCH 02/13] 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. - -Commit-changes: 2 - - New patch for v2, split from the .dtsi changes - -Reviewed-by: Simon Glass -Signed-off-by: Samuel Holland ---- - 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 a0c8abb703..7a8764e463 100644 ---- a/arch/arm/dts/sunxi-u-boot.dtsi -+++ b/arch/arm/dts/sunxi-u-boot.dtsi -@@ -1,15 +1,5 @@ - #include - --#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 = ; -- entry = ; -+ load = ; -+ entry = ; - - 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 = ; -+ load = ; - - 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 a10e4c06b6..b0fbda0aa0 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 - --- -2.34.1 - diff --git a/projects/Allwinner/patches/u-boot/0003-sunxi-binman-Support-FIT-generation-for-32-bit-SoCs.patch b/projects/Allwinner/patches/u-boot/0003-sunxi-binman-Support-FIT-generation-for-32-bit-SoCs.patch deleted file mode 100644 index b38bb91645..0000000000 --- a/projects/Allwinner/patches/u-boot/0003-sunxi-binman-Support-FIT-generation-for-32-bit-SoCs.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 50ec5566a9eb50288c7aca9d85182e152aaf47d9 Mon Sep 17 00:00:00 2001 -From: Samuel Holland -Date: Sun, 22 Jan 2023 11:57:42 -0600 -Subject: [PATCH 03/13] sunxi: binman: Support FIT generation for 32-bit SoCs - -Some 32-bit SoCs can use SCP firmware to implement additional PSCI -functionality, such as system suspend. In order to load this firmware -from SPL, we need to generate and use a FIT instead of a legacy image. - -Adjust the binman FIT definition so it does not rely on TF-A BL31, as -this is not used on 32-bit SoCs. Instead, after loading the firmware, -U-Boot proper is executed directly. - -Series-changes: 2 - - Rely on binman min-size instead of using explicit offsets - - Use Kconfig for firmware addresses instead of an #ifdef staircase - -Signed-off-by: Samuel Holland ---- - arch/arm/dts/sunxi-u-boot.dtsi | 23 ++++++++++++++++++----- - 1 file changed, 18 insertions(+), 5 deletions(-) - -diff --git a/arch/arm/dts/sunxi-u-boot.dtsi b/arch/arm/dts/sunxi-u-boot.dtsi -index 7a8764e463..ed1cb91eeb 100644 ---- a/arch/arm/dts/sunxi-u-boot.dtsi -+++ b/arch/arm/dts/sunxi-u-boot.dtsi -@@ -1,5 +1,11 @@ - #include - -+#ifdef CONFIG_ARM64 -+#define ARCH "arm64" -+#else -+#define ARCH "arm" -+#endif -+ - / { - aliases { - mmc0 = &mmc0; -@@ -34,30 +40,32 @@ - filename = "spl/sunxi-spl.bin"; - }; - --#ifdef CONFIG_ARM64 -+#ifdef CONFIG_SPL_LOAD_FIT - fit { -- description = "Configuration to load ATF before U-Boot"; -+ description = "Configuration to load U-Boot and firmware"; - #address-cells = <1>; - fit,fdt-list = "of-list"; - - images { - uboot { -- description = "U-Boot (64-bit)"; -+ description = "U-Boot"; - type = "standalone"; - os = "u-boot"; -- arch = "arm64"; -+ arch = ARCH; - compression = "none"; - load = ; -+ entry = ; - - u-boot-nodtb { - }; - }; - -+#if CONFIG_SUNXI_BL31_BASE - atf { - description = "ARM Trusted Firmware"; - type = "firmware"; - os = "arm-trusted-firmware"; -- arch = "arm64"; -+ arch = ARCH; - compression = "none"; - load = ; - entry = ; -@@ -67,6 +75,7 @@ - missing-msg = "atf-bl31-sunxi"; - }; - }; -+#endif - - #if CONFIG_SUNXI_SCP_BASE - scp { -@@ -95,7 +104,11 @@ - - @config-SEQ { - description = "NAME"; -+#if CONFIG_SUNXI_BL31_BASE - firmware = "atf"; -+#else -+ firmware = "uboot"; -+#endif - #if CONFIG_SUNXI_SCP_BASE - loadables = "scp", "uboot"; - #else --- -2.34.1 - diff --git a/projects/Allwinner/patches/u-boot/0004-sunxi-Enable-SPL-FIT-loading-for-32-bit-SoCs.patch b/projects/Allwinner/patches/u-boot/0004-sunxi-Enable-SPL-FIT-loading-for-32-bit-SoCs.patch index bb3870ee1f..a94896cf34 100644 --- a/projects/Allwinner/patches/u-boot/0004-sunxi-Enable-SPL-FIT-loading-for-32-bit-SoCs.patch +++ b/projects/Allwinner/patches/u-boot/0004-sunxi-Enable-SPL-FIT-loading-for-32-bit-SoCs.patch @@ -58,20 +58,6 @@ index d812685c98..42781d02f0 100644 imply SPL_MMC if MMC imply SPL_POWER imply SPL_SERIAL -diff --git a/common/spl/Kconfig b/common/spl/Kconfig -index a0968ff106..aebbfbf99d 100644 ---- a/common/spl/Kconfig -+++ b/common/spl/Kconfig -@@ -567,8 +567,7 @@ config SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION - config SPL_FIT_IMAGE_TINY - bool "Remove functionality from SPL FIT loading to reduce size" - depends on SPL_FIT -- default y if MACH_SUN50I || MACH_SUN50I_H5 || SUN50I_GEN_H6 -- default y if ARCH_IMX8M || ARCH_IMX9 -+ default y if ARCH_IMX8M || ARCH_IMX9 || ARCH_SUNXI - help - Enable this to reduce the size of the FIT image loading code - in SPL, if space for the SPL binary is very tight. -- 2.34.1