mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 05:36:47 +00:00
u-boot (Allwinner): drop upstreamed patches for 2024.04
This commit is contained in:
parent
fbd34b5145
commit
e54dcc6c1c
@ -1,41 +0,0 @@
|
|||||||
From 8674b92c48a528ec82a548bb677d0231316f5aa4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Samuel Holland <samuel@sholland.org>
|
|
||||||
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 <samuel@sholland.org>
|
|
||||||
---
|
|
||||||
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
|
|
||||||
|
|
@ -1,112 +0,0 @@
|
|||||||
From fa31297e5f79d6eb97aed3cf94326124b308e337 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Samuel Holland <samuel@sholland.org>
|
|
||||||
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 <sjg@chromium.org>
|
|
||||||
Signed-off-by: Samuel Holland <samuel@sholland.org>
|
|
||||||
---
|
|
||||||
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 <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 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
|
|
||||||
|
|
@ -1,99 +0,0 @@
|
|||||||
From 50ec5566a9eb50288c7aca9d85182e152aaf47d9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Samuel Holland <samuel@sholland.org>
|
|
||||||
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 <samuel@sholland.org>
|
|
||||||
---
|
|
||||||
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 <config.h>
|
|
||||||
|
|
||||||
+#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 = <CONFIG_TEXT_BASE>;
|
|
||||||
+ entry = <CONFIG_TEXT_BASE>;
|
|
||||||
|
|
||||||
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 = <CONFIG_SUNXI_BL31_BASE>;
|
|
||||||
entry = <CONFIG_SUNXI_BL31_BASE>;
|
|
||||||
@@ -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
|
|
||||||
|
|
@ -58,20 +58,6 @@ index d812685c98..42781d02f0 100644
|
|||||||
imply SPL_MMC if MMC
|
imply SPL_MMC if MMC
|
||||||
imply SPL_POWER
|
imply SPL_POWER
|
||||||
imply SPL_SERIAL
|
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
|
2.34.1
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user