Compare commits

..

4 commits

Author SHA1 Message Date
Peter Robinson
3983469d75 rebase to 2025.05-rc4 2025-06-20 16:38:16 +01:00
Peter Robinson
34f4eaaa3a Copr 2025.04 GA 2025-04-20 22:22:36 +01:00
Peter Robinson
d9937827d9 no source 13 2025-03-20 13:52:55 +00:00
Peter Robinson
b8b36e696f First copr for 2025.04 2025-03-19 19:58:58 +00:00
25 changed files with 6397 additions and 1472 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,27 +0,0 @@
From b8ea3cebde98866b7cbb4e8f9bb6dfdee529a549 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 27 Aug 2025 00:23:28 +0100
Subject: [PATCH] Allwinner: fix booting on a number of devices
Revert "sunxi: enable MMU_PGPROT proper page table protection"
This reverts commit 16cfccda4dbf0b53473b8212897f5c63bfbeb6e1.
---
arch/arm/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 40368abc297..b8be270e4d7 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1207,7 +1207,6 @@ config ARCH_SUNXI
select DM_SPI_FLASH if SPI && MTD
select DM_KEYBOARD
select DM_SERIAL
- select MMU_PGPROT if ARM64
select OF_BOARD_SETUP
select OF_CONTROL
select PINCTRL
--
2.51.0

View file

@ -1,405 +0,0 @@
From patchwork Mon Jul 6 17:21:47 2026
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Torsten Duwe <duwe@lst.de>
X-Patchwork-Id: 2265604
Return-Path: <u-boot-bounces@lists.denx.de>
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@legolas.ozlabs.org
Authentication-Results: legolas.ozlabs.org;
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
(client-ip=85.214.62.61; helo=phobos.denx.de;
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
Received: from phobos.denx.de (phobos.denx.de [85.214.62.61])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)
(No client certificate requested)
by legolas.ozlabs.org (Postfix) with ESMTPS id 4gvB431Qwzz1xqc
for <incoming@patchwork.ozlabs.org>; Tue, 07 Jul 2026 03:21:55 +1000 (AEST)
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
by phobos.denx.de (Postfix) with ESMTP id 179C084942;
Mon, 6 Jul 2026 19:21:52 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=fail (p=none dis=none) header.from=lst.de
Authentication-Results: phobos.denx.de;
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
Received: by phobos.denx.de (Postfix, from userid 109)
id 82ADE8490A; Mon, 6 Jul 2026 19:21:51 +0200 (CEST)
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
X-Spam-Level:
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,
RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.2
Received: from verein.lst.de (verein.lst.de [213.95.11.211])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by phobos.denx.de (Postfix) with ESMTPS id 9F24C846B4
for <u-boot@lists.denx.de>; Mon, 6 Jul 2026 19:21:49 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=fail (p=none dis=none) header.from=lst.de
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=duwe@lst.de
Received: by verein.lst.de (Postfix, from userid 2005)
id C934268B05; Mon, 6 Jul 2026 19:21:47 +0200 (CEST)
In-Reply-To: <20260706172028.C148E68BEB@verein.lst.de>
References: <20260706172028.C148E68BEB@verein.lst.de>
Subject: [PATCH v2 1/4] core: Skip parent device nodes without a DT reference
when looking for dma-ranges
To: Neil Armstrong <neil.armstrong@linaro.org>,
Andrew Goodbody <andrew.goodbody@linaro.org>, Bin Meng <bmeng.cn@gmail.com>,
Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>, Matthias Brugger <mbrugger@suse.com>,
Peter Robinson <pbrobinson@gmail.com>,
Mattijs Korpershoek <mkorpershoek@kernel.org>,
Marek Vasut <marek.vasut+renesas@mailbox.org>,
Heiko Schocher <hs@nabladev.com>, Svyatoslav Ryhel <clamor95@gmail.com>,
"Lucien.Jheng" <lucienzx159@gmail.com>, Rasmus Villemoes <ravi@prevas.dk>,
Martin Schwan <m.schwan@phytec.de>,
"Markus Schneider-Pargmann (TI.com)" <msp@baylibre.com>,
Prashant Kamble <prashant.kamble223@gmail.com>,
Denis Mukhin <dmukhin@ford.com>, Sughosh Ganu <sughosh.ganu@arm.com>,
u-boot@lists.denx.de
Message-Id: <20260706172147.C934268B05@verein.lst.de>
Date: Mon, 6 Jul 2026 19:21:47 +0200 (CEST)
From: duwe@lst.de (Torsten Duwe)
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: U-Boot discussion <u-boot.lists.denx.de>
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
List-Post: <mailto:u-boot@lists.denx.de>
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
Errors-To: u-boot-bounces@lists.denx.de
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
X-Virus-Status: Clean
From: Torsten Duwe <duwe@suse.de>
If a device node got created dynamically, there is no guarantee that the
parent node has an associated device tree node which could specify dma
constraints. Especially PCI(e) enumeration adds intermediate "bus nodes",
also dynamically.
Try harder to find the correct configuration by walking up the tree until
a DT association is found.
Suggested-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Torsten Duwe <duwe@suse.de>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
---
drivers/core/device.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/drivers/core/device.c b/drivers/core/device.c
index d365204ba11..b6d00cf4714 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -459,7 +459,19 @@ static int device_get_dma_constraints(struct udevice *dev)
u64 size = 0;
int ret;
- if (!CONFIG_IS_ENABLED(DM_DMA) || !parent || !dev_has_ofnode(parent))
+ if (!CONFIG_IS_ENABLED(DM_DMA) || !parent)
+ return 0;
+
+ /* Look for the first node in the parent chain */
+ while (parent) {
+ if (dev_has_ofnode(parent))
+ break;
+
+ parent = dev_get_parent(parent);
+ }
+
+ /* No parents have a node, bail out */
+ if (!parent)
return 0;
/*
From patchwork Mon Jul 6 17:21:50 2026
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Torsten Duwe <duwe@lst.de>
X-Patchwork-Id: 2265605
Return-Path: <u-boot-bounces@lists.denx.de>
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@legolas.ozlabs.org
Authentication-Results: legolas.ozlabs.org;
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
Received: from phobos.denx.de (phobos.denx.de
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange x25519)
(No client certificate requested)
by legolas.ozlabs.org (Postfix) with ESMTPS id 4gvB481pfXz1xqc
for <incoming@patchwork.ozlabs.org>; Tue, 07 Jul 2026 03:22:00 +1000 (AEST)
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
by phobos.denx.de (Postfix) with ESMTP id 9A59684994;
Mon, 6 Jul 2026 19:21:55 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=fail (p=none dis=none) header.from=lst.de
Authentication-Results: phobos.denx.de;
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
Received: by phobos.denx.de (Postfix, from userid 109)
id EB7D384979; Mon, 6 Jul 2026 19:21:53 +0200 (CEST)
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
X-Spam-Level:
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,
RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.2
Received: from verein.lst.de (verein.lst.de [213.95.11.211])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by phobos.denx.de (Postfix) with ESMTPS id EE61C846B4
for <u-boot@lists.denx.de>; Mon, 6 Jul 2026 19:21:51 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=fail (p=none dis=none) header.from=lst.de
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=duwe@lst.de
Received: by verein.lst.de (Postfix, from userid 2005)
id 464E868BEB; Mon, 6 Jul 2026 19:21:50 +0200 (CEST)
In-Reply-To: <20260706172028.C148E68BEB@verein.lst.de>
References: <20260706172028.C148E68BEB@verein.lst.de>
Subject: [PATCH v2 2/4] test: Add a unit test in phys_to_bus for dynamically
created device nodes
To: Neil Armstrong <neil.armstrong@linaro.org>,
Andrew Goodbody <andrew.goodbody@linaro.org>, Bin Meng <bmeng.cn@gmail.com>,
Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>, Matthias Brugger <mbrugger@suse.com>,
Peter Robinson <pbrobinson@gmail.com>,
Mattijs Korpershoek <mkorpershoek@kernel.org>,
Marek Vasut <marek.vasut+renesas@mailbox.org>,
Heiko Schocher <hs@nabladev.com>, Svyatoslav Ryhel <clamor95@gmail.com>,
"Lucien.Jheng" <lucienzx159@gmail.com>, Rasmus Villemoes <ravi@prevas.dk>,
Martin Schwan <m.schwan@phytec.de>,
"Markus Schneider-Pargmann (TI.com)" <msp@baylibre.com>,
Prashant Kamble <prashant.kamble223@gmail.com>,
Denis Mukhin <dmukhin@ford.com>, Sughosh Ganu <sughosh.ganu@arm.com>,
u-boot@lists.denx.de
Message-Id: <20260706172150.464E868BEB@verein.lst.de>
Date: Mon, 6 Jul 2026 19:21:50 +0200 (CEST)
From: duwe@lst.de (Torsten Duwe)
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: U-Boot discussion <u-boot.lists.denx.de>
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
List-Post: <mailto:u-boot@lists.denx.de>
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
Errors-To: u-boot-bounces@lists.denx.de
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
X-Virus-Status: Clean
From: Torsten Duwe <duwe@suse.de>
In order to test whether device_get_dma_constraints() is now able to skip
device nodes without a DT association, temporarily remove those on 2 newly-
created nodes.
Signed-off-by: Torsten Duwe <duwe@suse.de>
---
This test indeed makes a different whether the previous change is
applied or not, but *only* reliably for the non-flat-tree case (!?).
On the flat tree, it always fails after (reverse) applying it.
Either the previous patch is incomplete, or, more likely, the test
assumptions here are not all valid. Suggestions welcome (especially
how to create device nodes from a device tree without a reference to
their origin ;-)
---
arch/sandbox/dts/test.dts | 9 +++++++++
test/dm/phys2bus.c | 25 ++++++++++++++++++++++++-
2 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index 0887de4333b..1d92e85c739 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -656,6 +656,15 @@
subnode@0 {
compatible = "denx,u-boot-fdt-test";
};
+ bus@7 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "denx,u-boot-test-bus";
+
+ subnode@8 {
+ compatible = "denx,u-boot-fdt-test";
+ };
+ };
};
mmio-bus@1 {
diff --git a/test/dm/phys2bus.c b/test/dm/phys2bus.c
index 67f33904943..858ed5410e2 100644
--- a/test/dm/phys2bus.c
+++ b/test/dm/phys2bus.c
@@ -15,7 +15,8 @@
static int dm_test_phys_to_bus(struct unit_test_state *uts)
{
- struct udevice *dev;
+ struct udevice *dev, *pdev;
+ ofnode psave, nsave;
ofnode node;
node = ofnode_path("/mmio-bus@0");
@@ -31,6 +32,29 @@ static int dm_test_phys_to_bus(struct unit_test_state *uts)
ut_asserteq_addr((void*)0x1003ffffULL, (void*)dev_phys_to_bus(dev, 0x3ffff));
ut_asserteq_addr((void*)0x3ffffULL, (void*)(ulong)dev_bus_to_phys(dev, 0x1003ffff));
+#if CONFIG_IS_ENABLED(OF_REAL)
+ /* dma-ranges are on the grandparent bus node,
+ * OF nodes neither here nor at parent
+ */
+ node = ofnode_path("/mmio-bus@0/bus@7");
+ ut_assert(ofnode_valid(node));
+ ut_assertok(uclass_get_device_by_ofnode(UCLASS_TEST_BUS, node, &pdev));
+
+ /* pretend the devices were discovered dynamically and have no OF node */
+ psave = pdev->node_;
+ pdev->node_.np = NULL;
+ node = ofnode_path("/mmio-bus@0/bus@7/subnode@8");
+ ut_assert(ofnode_valid(node));
+ nsave = dev->node_;
+ dev->node_.np = NULL;
+ ut_assertok(uclass_get_device_by_ofnode(UCLASS_TEST_FDT, node, &dev));
+
+ ut_asserteq_addr((void *)0x1003ffffULL, (void *)dev_phys_to_bus(dev, 0x3ffff));
+ ut_asserteq_addr((void *)0x3ffffULL, (void *)(ulong)dev_bus_to_phys(dev, 0x1003ffff));
+
+ pdev->node_ = psave;
+ dev->node_ = nsave;
+#endif
return 0;
}
DM_TEST(dm_test_phys_to_bus, UTF_SCAN_PDATA | UTF_SCAN_FDT);
From patchwork Mon Jul 6 17:21:54 2026
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Torsten Duwe <duwe@lst.de>
X-Patchwork-Id: 2265607
Return-Path: <u-boot-bounces@lists.denx.de>
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@legolas.ozlabs.org
Authentication-Results: legolas.ozlabs.org;
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
(client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
Received: from phobos.denx.de (phobos.denx.de
[IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange x25519)
(No client certificate requested)
by legolas.ozlabs.org (Postfix) with ESMTPS id 4gvB4R378Lz1xqc
for <incoming@patchwork.ozlabs.org>; Tue, 07 Jul 2026 03:22:15 +1000 (AEST)
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
by phobos.denx.de (Postfix) with ESMTP id 3FDAE8490A;
Mon, 6 Jul 2026 19:21:59 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=fail (p=none dis=none) header.from=lst.de
Authentication-Results: phobos.denx.de;
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
Received: by phobos.denx.de (Postfix, from userid 109)
id 17F418490A; Mon, 6 Jul 2026 19:21:58 +0200 (CEST)
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
X-Spam-Level:
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,
RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.2
Received: from verein.lst.de (verein.lst.de [213.95.11.211])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(No client certificate requested)
by phobos.denx.de (Postfix) with ESMTPS id 1D593849A4
for <u-boot@lists.denx.de>; Mon, 6 Jul 2026 19:21:56 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=fail (p=none dis=none) header.from=lst.de
Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=duwe@lst.de
Received: by verein.lst.de (Postfix, from userid 2005)
id B506B68CFE; Mon, 6 Jul 2026 19:21:54 +0200 (CEST)
In-Reply-To: <20260706172028.C148E68BEB@verein.lst.de>
References: <20260706172028.C148E68BEB@verein.lst.de>
Subject: [PATCH v2 4/4] configs: enable NVMe
To: Neil Armstrong <neil.armstrong@linaro.org>,
Andrew Goodbody <andrew.goodbody@linaro.org>, Bin Meng <bmeng.cn@gmail.com>,
Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>, Matthias Brugger <mbrugger@suse.com>,
Peter Robinson <pbrobinson@gmail.com>,
Mattijs Korpershoek <mkorpershoek@kernel.org>,
Marek Vasut <marek.vasut+renesas@mailbox.org>,
Heiko Schocher <hs@nabladev.com>, Svyatoslav Ryhel <clamor95@gmail.com>,
"Lucien.Jheng" <lucienzx159@gmail.com>, Rasmus Villemoes <ravi@prevas.dk>,
Martin Schwan <m.schwan@phytec.de>,
"Markus Schneider-Pargmann (TI.com)" <msp@baylibre.com>,
Prashant Kamble <prashant.kamble223@gmail.com>,
Denis Mukhin <dmukhin@ford.com>, Sughosh Ganu <sughosh.ganu@arm.com>,
u-boot@lists.denx.de
Message-Id: <20260706172154.B506B68CFE@verein.lst.de>
Date: Mon, 6 Jul 2026 19:21:54 +0200 (CEST)
From: duwe@lst.de (Torsten Duwe)
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: U-Boot discussion <u-boot.lists.denx.de>
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
List-Post: <mailto:u-boot@lists.denx.de>
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
Errors-To: u-boot-bounces@lists.denx.de
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
X-Virus-Status: Clean
From: Torsten Duwe <duwe@suse.de>
Enable NVMe in the Raspberry Pi 64-Bit default config and scan for devices.
Signed-off-by: Torsten Duwe <duwe@suse.de>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
---
configs/rpi_arm64_defconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig
index cdcf05ea6db..fb0fdce1d7f 100644
--- a/configs/rpi_arm64_defconfig
+++ b/configs/rpi_arm64_defconfig
@@ -16,7 +16,7 @@ CONFIG_BOOTSTD_DEFAULTS=y
CONFIG_OF_BOARD_SETUP=y
CONFIG_FDT_SIMPLEFB=y
CONFIG_USE_PREBOOT=y
-CONFIG_PREBOOT="pci enum; usb start;"
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_SYS_PBSIZE=1049
# CONFIG_DISPLAY_CPUINFO is not set
# CONFIG_DISPLAY_BOARDINFO is not set
@@ -44,6 +44,7 @@ CONFIG_MMC_SDHCI_SDMA=y
CONFIG_MMC_SDHCI_BCM2835=y
CONFIG_MMC_SDHCI_BCMSTB=y
CONFIG_BCMGENET=y
+CONFIG_NVME_PCI=y
CONFIG_PCI_BRCMSTB=y
CONFIG_PINCTRL=y
# CONFIG_PINCTRL_GENERIC is not set

View file

@ -1,50 +0,0 @@
From 4ee5ba36570d94ce27e4023f15b8b3a6b8b9daf9 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Mon, 13 Oct 2025 21:41:13 +0100
Subject: [PATCH] config: JetsonTX2: Fix upstream device tree naming
The upstream naming for the Jetson TX2 is p2771-0000 so fix
the device tree name so the firmware will find the right
name on disk.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
arch/arm/dts/Makefile | 2 +-
.../{tegra186-p2771-0000-500.dts => tegra186-p2771-0000.dts} | 0
configs/p2771-0000-500_defconfig | 2 +-
3 files changed, 2 insertions(+), 2 deletions(-)
rename arch/arm/dts/{tegra186-p2771-0000-500.dts => tegra186-p2771-0000.dts} (100%)
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index 7c8cf3a5a1d..86a7b4fda35 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -134,7 +134,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += \
tegra124-venice2.dtb \
tegra124-xiaomi-mocha.dtb \
tegra186-p2771-0000-000.dtb \
- tegra186-p2771-0000-500.dtb \
+ tegra186-p2771-0000.dtb \
tegra210-p2371-0000.dtb \
tegra210-p2371-2180.dtb \
tegra210-p2571.dtb \
diff --git a/arch/arm/dts/tegra186-p2771-0000-500.dts b/arch/arm/dts/tegra186-p2771-0000.dts
similarity index 100%
rename from arch/arm/dts/tegra186-p2771-0000-500.dts
rename to arch/arm/dts/tegra186-p2771-0000.dts
diff --git a/configs/p2771-0000-500_defconfig b/configs/p2771-0000-500_defconfig
index 42043277e2d..e1e5c47ddfa 100644
--- a/configs/p2771-0000-500_defconfig
+++ b/configs/p2771-0000-500_defconfig
@@ -7,7 +7,7 @@ CONFIG_TEXT_BASE=0x80080000
CONFIG_NR_DRAM_BANKS=1026
CONFIG_ENV_SIZE=0x2000
CONFIG_ENV_OFFSET=0xFFFFE000
-CONFIG_DEFAULT_DEVICE_TREE="tegra186-p2771-0000-500"
+CONFIG_DEFAULT_DEVICE_TREE="tegra186-p2771-0000"
CONFIG_SYS_BOOTM_LEN=0x800000
CONFIG_SYS_LOAD_ADDR=0x80080000
CONFIG_TEGRA186=y
--
2.51.0

View file

@ -67,6 +67,7 @@ orangepi_zero_plus2
p212
p2371-2180
p2771-0000-500
p3450-0000
pine64-lts
pine64_plus
pinebook
@ -78,9 +79,8 @@ pinetab
poplar
puma-rk3399
qcm6490
qcs9100
qcom
qcom_qcs8300
qcom_qcs9100
qemu_arm64
qemu_arm64_lwip
roc-cc-rk3328

View file

@ -1,25 +0,0 @@
From c9b65320d64a60cde74c4c1f9cb4a05198a456c2 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 10 Sep 2025 13:27:52 +0100
Subject: [PATCH] further size reductions
---
configs/p3450-0000_defconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configs/p3450-0000_defconfig b/configs/p3450-0000_defconfig
index 2ebcf8b83fc..a5e717a02ed 100644
--- a/configs/p3450-0000_defconfig
+++ b/configs/p3450-0000_defconfig
@@ -27,6 +27,8 @@ CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
CONFIG_SYS_PROMPT="Tegra210 (P3450-0000) # "
# CONFIG_BOOTM_PLAN9 is not set
+# CONFIG_SYS_DTC_PAD_BYTES is not set
+# CONFIG_LEGACY_IMAGE_FORMAT is not set
# CONFIG_BOOTM_RTEMS is not set
# CONFIG_BOOTM_VXWORKS is not set
# CONFIG_CMD_ELF is not set
--
2.51.0

View file

@ -1,32 +0,0 @@
From 72fd4fdb54721a31d2b4e9f95fdd3b3e398bb2c0 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Sun, 12 Apr 2026 01:14:12 +0100
Subject: [PATCH] board/raspberrypi: Add quirk for RPi5 2Gb rev 1.0
All 2Gb Raspberry Pi 5s use the BCM2712D0 silicon, but
the early boards were still rev 1.0 so we need a quirk
to ensure the correct device tree is used.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
board/raspberrypi/rpi/rpi.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index b0a1484c0fa..ff9cab6521b 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -371,6 +371,10 @@ static void set_fdtfile(void)
const char *fdtfile;
int rev = revision & 0x0f;
+ /* 2GB Pi 5B board rev 1.0 always has BCM2712D0 silicon */
+ if (revision == 0xb04170)
+ rev = 1;
+
if (env_get("fdtfile"))
return;
--
2.53.0

14
rk3566-boards Normal file
View file

@ -0,0 +1,14 @@
anbernic-rgxx3-rk3566
nanopi-r3s-rk3566
odroid-m1s-rk3566
orangepi-3b-rk3566
pinetab2-rk3566
powkiddy-x55-rk3566
quartz64-a-rk3566
quartz64-b-rk3566
radxa-cm3-io-rk3566
radxa-zero-3-rk3566
rock-3c-rk3566
soquartz-blade-rk3566
soquartz-cm4-rk3566
soquartz-model-a-rk3566

Binary file not shown.

11
rk3568-boards Normal file
View file

@ -0,0 +1,11 @@
bpi-r2-pro-rk3568
evb-rk3568
generic-rk3568
lubancat-2-rk3568
nanopi-r5c-rk3568
nanopi-r5s-rk3568
odroid-m1-rk3568
qnap-ts433-rk3568
radxa-e25-rk3568
rock-3a-rk3568
rock-3b-rk3568

Binary file not shown.

27
rk3588-boards Normal file
View file

@ -0,0 +1,27 @@
cm3588-nas-rk3588
coolpi-4b-rk3588s
coolpi-cm5-evb-rk3588
coolpi-cm5-genbook-rk3588
evb-rk3588
generic-rk3588
jaguar-rk3588
khadas-edge2-rk3588s
nanopc-t6-rk3588
nanopi-r6c-rk3588s
nanopi-r6s-rk3588s
neu6a-io-rk3588
neu6b-io-rk3588
nova-rk3588s
odroid-m2-rk3588s
orangepi-5-max-rk3588
orangepi-5-plus-rk3588
orangepi-5-rk3588s
quartzpro64-rk3588
rock5a-rk3588s
rock5b-rk3588
rock-5c-rk3588s
rock-5-itx-rk3588
sige7-rk3588
tiger-rk3588
toybrick-rk3588
turing-rk1-rk3588

Binary file not shown.

View file

@ -1,6 +1,6 @@
From a6909a16b4cc301f1007d9e75d02abb6d06a1ea7 Mon Sep 17 00:00:00 2001
From 020f67a37342b091c74dab93a133253401d4d899 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Thu, 28 May 2026 21:29:29 +0100
Date: Tue, 31 Dec 2024 14:15:41 +0000
Subject: [PATCH] rockchip: Enable preboot start for pci/usb
Enable the preboot so nvme works OOTB
@ -29,18 +29,14 @@ Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
configs/neu6b-io-rk3588_defconfig | 2 ++
configs/nova-rk3588s_defconfig | 2 ++
configs/odroid-m1-rk3568_defconfig | 2 ++
configs/odroid-m1s-rk3566_defconfig | 2 ++
configs/odroid-m2-rk3588s_defconfig | 2 ++
configs/orangepi-3b-rk3566_defconfig | 2 ++
configs/orangepi-5-max-rk3588_defconfig | 2 ++
configs/orangepi-5-plus-rk3588_defconfig | 2 ++
configs/orangepi-5-rk3588s_defconfig | 2 ++
configs/orangepi-5-ultra-rk3588_defconfig | 2 ++
configs/pinebook-pro-rk3399_defconfig | 1 +
configs/pinetab2-rk3566_defconfig | 2 ++
configs/powkiddy-x55-rk3566_defconfig | 2 ++
configs/quartz64-a-rk3566_defconfig | 2 ++
configs/quartz64-b-rk3566_defconfig | 4 ++++
configs/quartz64-b-rk3566_defconfig | 2 ++
configs/quartzpro64-rk3588_defconfig | 2 ++
configs/radxa-cm3-io-rk3566_defconfig | 2 ++
configs/radxa-e25-rk3568_defconfig | 2 ++
@ -52,7 +48,6 @@ Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
configs/rock-4c-plus-rk3399_defconfig | 2 ++
configs/rock-4se-rk3399_defconfig | 2 ++
configs/rock-5-itx-rk3588_defconfig | 2 ++
configs/rock-5c-rk3588s_defconfig | 2 ++
configs/rock-pi-4-rk3399_defconfig | 2 ++
configs/rock-pi-4c-rk3399_defconfig | 2 ++
configs/rock-pi-n10-rk3399pro_defconfig | 2 ++
@ -67,10 +62,10 @@ Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
configs/tiger-rk3588_defconfig | 2 ++
configs/toybrick-rk3588_defconfig | 2 ++
configs/turing-rk1-rk3588_defconfig | 2 ++
60 files changed, 121 insertions(+)
55 files changed, 109 insertions(+)
diff --git a/configs/anbernic-rgxx3-rk3566_defconfig b/configs/anbernic-rgxx3-rk3566_defconfig
index 854de8b00a4..cd91f18ba80 100644
index 14c97b4c5bf..de92e1b4141 100644
--- a/configs/anbernic-rgxx3-rk3566_defconfig
+++ b/configs/anbernic-rgxx3-rk3566_defconfig
@@ -12,6 +12,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -83,7 +78,7 @@ index 854de8b00a4..cd91f18ba80 100644
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
diff --git a/configs/bpi-r2-pro-rk3568_defconfig b/configs/bpi-r2-pro-rk3568_defconfig
index c5199a39448..603e07f2456 100644
index d84ea2f955f..de777817c37 100644
--- a/configs/bpi-r2-pro-rk3568_defconfig
+++ b/configs/bpi-r2-pro-rk3568_defconfig
@@ -9,6 +9,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -92,11 +87,11 @@ index c5199a39448..603e07f2456 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/cm3588-nas-rk3588_defconfig b/configs/cm3588-nas-rk3588_defconfig
index 5b5ef8d5ac1..53147d115dd 100644
index fd0a32d6d79..e561be511d4 100644
--- a/configs/cm3588-nas-rk3588_defconfig
+++ b/configs/cm3588-nas-rk3588_defconfig
@@ -12,6 +12,8 @@ CONFIG_DEBUG_UART_BASE=0xFEB50000
@ -109,7 +104,7 @@ index 5b5ef8d5ac1..53147d115dd 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/coolpi-4b-rk3588s_defconfig b/configs/coolpi-4b-rk3588s_defconfig
index e6772622403..75e0b373ce9 100644
index ea985b81670..96d7cffb075 100644
--- a/configs/coolpi-4b-rk3588s_defconfig
+++ b/configs/coolpi-4b-rk3588s_defconfig
@@ -17,6 +17,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -118,11 +113,11 @@ index e6772622403..75e0b373ce9 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/coolpi-cm5-evb-rk3588_defconfig b/configs/coolpi-cm5-evb-rk3588_defconfig
index 4326e116849..a005e4441d3 100644
index 58ffe7baf5f..5eadc091242 100644
--- a/configs/coolpi-cm5-evb-rk3588_defconfig
+++ b/configs/coolpi-cm5-evb-rk3588_defconfig
@@ -17,6 +17,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -131,11 +126,11 @@ index 4326e116849..a005e4441d3 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/evb-rk3568_defconfig b/configs/evb-rk3568_defconfig
index 4a5a7454e10..7ec199a08af 100644
index a068bc6846c..8c94f7b21bc 100644
--- a/configs/evb-rk3568_defconfig
+++ b/configs/evb-rk3568_defconfig
@@ -9,6 +9,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -148,7 +143,7 @@ index 4a5a7454e10..7ec199a08af 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/evb-rk3588_defconfig b/configs/evb-rk3588_defconfig
index c7f6256a626..cfa73c660e7 100644
index 3d4d2747145..051015fd811 100644
--- a/configs/evb-rk3588_defconfig
+++ b/configs/evb-rk3588_defconfig
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -161,7 +156,7 @@ index c7f6256a626..cfa73c660e7 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/firefly-rk3399_defconfig b/configs/firefly-rk3399_defconfig
index 83b9de5feb9..2ba8f5029c3 100644
index 3871627318b..b96aadc78eb 100644
--- a/configs/firefly-rk3399_defconfig
+++ b/configs/firefly-rk3399_defconfig
@@ -14,6 +14,8 @@ CONFIG_DEBUG_UART_BASE=0xFF1A0000
@ -174,7 +169,7 @@ index 83b9de5feb9..2ba8f5029c3 100644
CONFIG_DISPLAY_BOARDINFO_LATE=y
CONFIG_SPL_MAX_SIZE=0x40000
diff --git a/configs/generic-rk3568_defconfig b/configs/generic-rk3568_defconfig
index a33c3af9255..20966793568 100644
index f79f0e84400..ba5339a004f 100644
--- a/configs/generic-rk3568_defconfig
+++ b/configs/generic-rk3568_defconfig
@@ -14,6 +14,8 @@ CONFIG_DEBUG_UART_CLOCK=24000000
@ -187,7 +182,7 @@ index a33c3af9255..20966793568 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/generic-rk3588_defconfig b/configs/generic-rk3588_defconfig
index ac450e6d757..b5424ac9f16 100644
index 51e31dce3a9..1c767caa06a 100644
--- a/configs/generic-rk3588_defconfig
+++ b/configs/generic-rk3588_defconfig
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -200,7 +195,7 @@ index ac450e6d757..b5424ac9f16 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/jaguar-rk3588_defconfig b/configs/jaguar-rk3588_defconfig
index ed3883b4f9c..47dbd834f30 100644
index 6e853991d1d..a5a56a33d09 100644
--- a/configs/jaguar-rk3588_defconfig
+++ b/configs/jaguar-rk3588_defconfig
@@ -16,6 +16,8 @@ CONFIG_DEBUG_UART_BASE=0xfeb50000
@ -213,7 +208,7 @@ index ed3883b4f9c..47dbd834f30 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/lubancat-2-rk3568_defconfig b/configs/lubancat-2-rk3568_defconfig
index 7548bf60b06..2fb8a432503 100644
index 46cc3c03fff..8915d5bfba9 100644
--- a/configs/lubancat-2-rk3568_defconfig
+++ b/configs/lubancat-2-rk3568_defconfig
@@ -9,6 +9,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -226,10 +221,10 @@ index 7548bf60b06..2fb8a432503 100644
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
diff --git a/configs/nanopc-t4-rk3399_defconfig b/configs/nanopc-t4-rk3399_defconfig
index f8ae436a1ee..7aa8e1a8d42 100644
index 26c12c51078..33f7e838c2c 100644
--- a/configs/nanopc-t4-rk3399_defconfig
+++ b/configs/nanopc-t4-rk3399_defconfig
@@ -15,6 +15,8 @@ CONFIG_DEBUG_UART_BASE=0xFF1A0000
@@ -14,6 +14,8 @@ CONFIG_DEBUG_UART_BASE=0xFF1A0000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_PCI=y
CONFIG_DEBUG_UART=y
@ -239,7 +234,7 @@ index f8ae436a1ee..7aa8e1a8d42 100644
CONFIG_DISPLAY_BOARDINFO_LATE=y
CONFIG_SPL_MAX_SIZE=0x40000
diff --git a/configs/nanopc-t6-rk3588_defconfig b/configs/nanopc-t6-rk3588_defconfig
index ba9a5adece7..eaf7fa5a0fc 100644
index 772b7df1555..ba6cf48308c 100644
--- a/configs/nanopc-t6-rk3588_defconfig
+++ b/configs/nanopc-t6-rk3588_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -252,7 +247,7 @@ index ba9a5adece7..eaf7fa5a0fc 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/nanopi-r5c-rk3568_defconfig b/configs/nanopi-r5c-rk3568_defconfig
index e75a24dadc8..159ef033932 100644
index 4a43b17ccb1..91c95b491d5 100644
--- a/configs/nanopi-r5c-rk3568_defconfig
+++ b/configs/nanopi-r5c-rk3568_defconfig
@@ -11,6 +11,8 @@ CONFIG_DEBUG_UART_BASE=0xFE660000
@ -260,12 +255,12 @@ index e75a24dadc8..159ef033932 100644
CONFIG_PCI=y
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="usb start;"
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/nanopi-r5s-rk3568_defconfig b/configs/nanopi-r5s-rk3568_defconfig
index c971f376b38..60b5e8fa014 100644
index a60d229fbbf..355d8114a9b 100644
--- a/configs/nanopi-r5s-rk3568_defconfig
+++ b/configs/nanopi-r5s-rk3568_defconfig
@@ -11,6 +11,8 @@ CONFIG_DEBUG_UART_BASE=0xFE660000
@ -273,12 +268,12 @@ index c971f376b38..60b5e8fa014 100644
CONFIG_PCI=y
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="usb start;"
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/nanopi-r6c-rk3588s_defconfig b/configs/nanopi-r6c-rk3588s_defconfig
index 861e3234d29..bb6e2082e3b 100644
index c4de5518a72..92697c536d9 100644
--- a/configs/nanopi-r6c-rk3588s_defconfig
+++ b/configs/nanopi-r6c-rk3588s_defconfig
@@ -12,6 +12,8 @@ CONFIG_DEBUG_UART_BASE=0xFEB50000
@ -291,7 +286,7 @@ index 861e3234d29..bb6e2082e3b 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/nanopi-r6s-rk3588s_defconfig b/configs/nanopi-r6s-rk3588s_defconfig
index 743dfca441b..903ec56ad6f 100644
index 2726729b9ac..63a3690db8e 100644
--- a/configs/nanopi-r6s-rk3588s_defconfig
+++ b/configs/nanopi-r6s-rk3588s_defconfig
@@ -12,6 +12,8 @@ CONFIG_DEBUG_UART_BASE=0xFEB50000
@ -304,7 +299,7 @@ index 743dfca441b..903ec56ad6f 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/neu6a-io-rk3588_defconfig b/configs/neu6a-io-rk3588_defconfig
index 19f129e96f0..08ed699b01d 100644
index 291e0d26d42..e385aba7bc4 100644
--- a/configs/neu6a-io-rk3588_defconfig
+++ b/configs/neu6a-io-rk3588_defconfig
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -317,7 +312,7 @@ index 19f129e96f0..08ed699b01d 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/neu6b-io-rk3588_defconfig b/configs/neu6b-io-rk3588_defconfig
index 2cf5aeccf51..8cafd779a1c 100644
index 4e22852f23c..79f4e66cb9b 100644
--- a/configs/neu6b-io-rk3588_defconfig
+++ b/configs/neu6b-io-rk3588_defconfig
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -330,7 +325,7 @@ index 2cf5aeccf51..8cafd779a1c 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/nova-rk3588s_defconfig b/configs/nova-rk3588s_defconfig
index f7d7492ff46..5abb6ebbe18 100644
index fb30dfd1db8..e99898355e1 100644
--- a/configs/nova-rk3588s_defconfig
+++ b/configs/nova-rk3588s_defconfig
@@ -11,6 +11,8 @@ CONFIG_DEBUG_UART_BASE=0xFEB50000
@ -343,7 +338,7 @@ index f7d7492ff46..5abb6ebbe18 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/odroid-m1-rk3568_defconfig b/configs/odroid-m1-rk3568_defconfig
index b00985b0405..19d7af53c7f 100644
index a8e8a8781e1..a3ea2e592b9 100644
--- a/configs/odroid-m1-rk3568_defconfig
+++ b/configs/odroid-m1-rk3568_defconfig
@@ -17,6 +17,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -352,37 +347,11 @@ index b00985b0405..19d7af53c7f 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/odroid-m1s-rk3566_defconfig b/configs/odroid-m1s-rk3566_defconfig
index d59882a2a59..20f6dc3c26e 100644
--- a/configs/odroid-m1s-rk3566_defconfig
+++ b/configs/odroid-m1s-rk3566_defconfig
@@ -11,6 +11,8 @@ CONFIG_DEBUG_UART_BASE=0xFE660000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_PCI=y
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/odroid-m2-rk3588s_defconfig b/configs/odroid-m2-rk3588s_defconfig
index e71e61ddb0b..561c2b28b7a 100644
--- a/configs/odroid-m2-rk3588s_defconfig
+++ b/configs/odroid-m2-rk3588s_defconfig
@@ -11,6 +11,8 @@ CONFIG_DEBUG_UART_BASE=0xFEB50000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_PCI=y
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/orangepi-3b-rk3566_defconfig b/configs/orangepi-3b-rk3566_defconfig
index 1cd78789fa1..dcf182231da 100644
index 2181c9caf58..fee0c719f25 100644
--- a/configs/orangepi-3b-rk3566_defconfig
+++ b/configs/orangepi-3b-rk3566_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -391,24 +360,11 @@ index 1cd78789fa1..dcf182231da 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/orangepi-5-max-rk3588_defconfig b/configs/orangepi-5-max-rk3588_defconfig
index 0861df962cf..744aad89c4a 100644
--- a/configs/orangepi-5-max-rk3588_defconfig
+++ b/configs/orangepi-5-max-rk3588_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI=y
CONFIG_PCI=y
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/orangepi-5-plus-rk3588_defconfig b/configs/orangepi-5-plus-rk3588_defconfig
index 52523f87aec..e3bb4e43da9 100644
index 9050fceda45..2e1fe2c6dc5 100644
--- a/configs/orangepi-5-plus-rk3588_defconfig
+++ b/configs/orangepi-5-plus-rk3588_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -417,11 +373,11 @@ index 52523f87aec..e3bb4e43da9 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/orangepi-5-rk3588s_defconfig b/configs/orangepi-5-rk3588s_defconfig
index e0eba389289..33fe68add7b 100644
index 6e2ff7d338a..7ec7d13e1f9 100644
--- a/configs/orangepi-5-rk3588s_defconfig
+++ b/configs/orangepi-5-rk3588s_defconfig
@@ -17,6 +17,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -430,24 +386,11 @@ index e0eba389289..33fe68add7b 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/orangepi-5-ultra-rk3588_defconfig b/configs/orangepi-5-ultra-rk3588_defconfig
index fb7f4432983..62419609695 100644
--- a/configs/orangepi-5-ultra-rk3588_defconfig
+++ b/configs/orangepi-5-ultra-rk3588_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI=y
CONFIG_PCI=y
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
index cbf95b4692f..9e4d1b1061d 100644
index dfa927ccb17..acc2a0a9fcd 100644
--- a/configs/pinebook-pro-rk3399_defconfig
+++ b/configs/pinebook-pro-rk3399_defconfig
@@ -22,6 +22,7 @@ CONFIG_PCI=y
@ -459,7 +402,7 @@ index cbf95b4692f..9e4d1b1061d 100644
CONFIG_DISPLAY_BOARDINFO_LATE=y
CONFIG_SPL_MAX_SIZE=0x40000
diff --git a/configs/pinetab2-rk3566_defconfig b/configs/pinetab2-rk3566_defconfig
index f284dadb99d..d87849f0a45 100644
index 45e63b42d19..3ef0ddbbe31 100644
--- a/configs/pinetab2-rk3566_defconfig
+++ b/configs/pinetab2-rk3566_defconfig
@@ -18,6 +18,8 @@ CONFIG_DEBUG_UART_CLOCK=24000000
@ -472,7 +415,7 @@ index f284dadb99d..d87849f0a45 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/powkiddy-x55-rk3566_defconfig b/configs/powkiddy-x55-rk3566_defconfig
index 37a359c91a9..70bc5ab6402 100644
index 85280839889..f93a463087b 100644
--- a/configs/powkiddy-x55-rk3566_defconfig
+++ b/configs/powkiddy-x55-rk3566_defconfig
@@ -9,6 +9,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -485,7 +428,7 @@ index 37a359c91a9..70bc5ab6402 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/quartz64-a-rk3566_defconfig b/configs/quartz64-a-rk3566_defconfig
index 780fd581f0a..7938b5c0d1b 100644
index fe3fa37611a..60b1f8f1784 100644
--- a/configs/quartz64-a-rk3566_defconfig
+++ b/configs/quartz64-a-rk3566_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -494,31 +437,24 @@ index 780fd581f0a..7938b5c0d1b 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/quartz64-b-rk3566_defconfig b/configs/quartz64-b-rk3566_defconfig
index 4d92a67cd73..fe8a168373d 100644
index 929736f76af..c3155d9b835 100644
--- a/configs/quartz64-b-rk3566_defconfig
+++ b/configs/quartz64-b-rk3566_defconfig
@@ -1,4 +1,6 @@
CONFIG_ARM=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_SKIP_LOWLEVEL_INIT=y
CONFIG_COUNTER_FREQUENCY=24000000
CONFIG_ARCH_ROCKCHIP=y
@@ -17,6 +19,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@@ -17,6 +17,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
CONFIG_SPL_SPI=y
CONFIG_PCI=y
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/quartzpro64-rk3588_defconfig b/configs/quartzpro64-rk3588_defconfig
index 0ad74e8bbef..b9cbddfae77 100644
index ade7be27e92..263d21bee8b 100644
--- a/configs/quartzpro64-rk3588_defconfig
+++ b/configs/quartzpro64-rk3588_defconfig
@@ -12,6 +12,8 @@ CONFIG_DEBUG_UART_BASE=0xFEB50000
@ -527,11 +463,11 @@ index 0ad74e8bbef..b9cbddfae77 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/radxa-cm3-io-rk3566_defconfig b/configs/radxa-cm3-io-rk3566_defconfig
index 875f0b76fa5..2523dccd6a3 100644
index 2655fdc3170..c1a27f6e310 100644
--- a/configs/radxa-cm3-io-rk3566_defconfig
+++ b/configs/radxa-cm3-io-rk3566_defconfig
@@ -9,6 +9,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -544,7 +480,7 @@ index 875f0b76fa5..2523dccd6a3 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/radxa-e25-rk3568_defconfig b/configs/radxa-e25-rk3568_defconfig
index 779d540e22d..7e003e74520 100644
index 4df594ddc01..3830d27b264 100644
--- a/configs/radxa-e25-rk3568_defconfig
+++ b/configs/radxa-e25-rk3568_defconfig
@@ -11,6 +11,8 @@ CONFIG_DEBUG_UART_BASE=0xFE660000
@ -553,11 +489,11 @@ index 779d540e22d..7e003e74520 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/radxa-zero-3-rk3566_defconfig b/configs/radxa-zero-3-rk3566_defconfig
index f5cf09a5e4a..7db7e3fcd3d 100644
index 5989b07ad79..1b571ec3847 100644
--- a/configs/radxa-zero-3-rk3566_defconfig
+++ b/configs/radxa-zero-3-rk3566_defconfig
@@ -11,6 +11,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -570,7 +506,7 @@ index f5cf09a5e4a..7db7e3fcd3d 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/roc-pc-mezzanine-rk3399_defconfig b/configs/roc-pc-mezzanine-rk3399_defconfig
index 8b4d8c1b0aa..54baa07aeae 100644
index 3ab5fd69c62..ba254d8f6c0 100644
--- a/configs/roc-pc-mezzanine-rk3399_defconfig
+++ b/configs/roc-pc-mezzanine-rk3399_defconfig
@@ -21,6 +21,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -583,7 +519,7 @@ index 8b4d8c1b0aa..54baa07aeae 100644
CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-roc-pc-mezzanine.dtb"
CONFIG_DISPLAY_BOARDINFO_LATE=y
diff --git a/configs/rock-3a-rk3568_defconfig b/configs/rock-3a-rk3568_defconfig
index e753185610f..19d303e7f70 100644
index 733ce631457..3387796a0c5 100644
--- a/configs/rock-3a-rk3568_defconfig
+++ b/configs/rock-3a-rk3568_defconfig
@@ -16,6 +16,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -592,11 +528,11 @@ index e753185610f..19d303e7f70 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/rock-3b-rk3568_defconfig b/configs/rock-3b-rk3568_defconfig
index c3bf48b9e34..0cfa8eba168 100644
index 2023feb36c2..84c6aab6b33 100644
--- a/configs/rock-3b-rk3568_defconfig
+++ b/configs/rock-3b-rk3568_defconfig
@@ -16,6 +16,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -605,11 +541,11 @@ index c3bf48b9e34..0cfa8eba168 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/rock-3c-rk3566_defconfig b/configs/rock-3c-rk3566_defconfig
index 417aa33a663..61d0e1b8c6a 100644
index 2528c7c639c..0a0010b1268 100644
--- a/configs/rock-3c-rk3566_defconfig
+++ b/configs/rock-3c-rk3566_defconfig
@@ -16,6 +16,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -618,11 +554,11 @@ index 417aa33a663..61d0e1b8c6a 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/rock-4c-plus-rk3399_defconfig b/configs/rock-4c-plus-rk3399_defconfig
index 0f6bdfdfb06..f31cb061a83 100644
index 0c73a212ea1..2ae2eff39e2 100644
--- a/configs/rock-4c-plus-rk3399_defconfig
+++ b/configs/rock-4c-plus-rk3399_defconfig
@@ -17,6 +17,8 @@ CONFIG_DEBUG_UART_CLOCK=24000000
@ -635,7 +571,7 @@ index 0f6bdfdfb06..f31cb061a83 100644
CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
# CONFIG_ANDROID_BOOT_IMAGE is not set
diff --git a/configs/rock-4se-rk3399_defconfig b/configs/rock-4se-rk3399_defconfig
index 7f22aede912..caf8e02bece 100644
index 3ae19692155..12621b8a41b 100644
--- a/configs/rock-4se-rk3399_defconfig
+++ b/configs/rock-4se-rk3399_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -644,11 +580,11 @@ index 7f22aede912..caf8e02bece 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_EFI_CAPSULE_ON_DISK=y
CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
# CONFIG_ANDROID_BOOT_IMAGE is not set
diff --git a/configs/rock-5-itx-rk3588_defconfig b/configs/rock-5-itx-rk3588_defconfig
index cb014de4188..e26a126533c 100644
index d0dd1c20ece..b3a778907c8 100644
--- a/configs/rock-5-itx-rk3588_defconfig
+++ b/configs/rock-5-itx-rk3588_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -657,24 +593,11 @@ index cb014de4188..e26a126533c 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/rock-5c-rk3588s_defconfig b/configs/rock-5c-rk3588s_defconfig
index 3d044a81498..27234c250d1 100644
--- a/configs/rock-5c-rk3588s_defconfig
+++ b/configs/rock-5c-rk3588s_defconfig
@@ -12,6 +12,8 @@ CONFIG_DEBUG_UART_BASE=0xFEB50000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_PCI=y
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/rock-pi-4-rk3399_defconfig b/configs/rock-pi-4-rk3399_defconfig
index e5c9072c27f..35852c017da 100644
index f3a5c2c45f3..d95576e804a 100644
--- a/configs/rock-pi-4-rk3399_defconfig
+++ b/configs/rock-pi-4-rk3399_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -683,11 +606,11 @@ index e5c9072c27f..35852c017da 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_EFI_CAPSULE_ON_DISK=y
CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
# CONFIG_ANDROID_BOOT_IMAGE is not set
diff --git a/configs/rock-pi-4c-rk3399_defconfig b/configs/rock-pi-4c-rk3399_defconfig
index 4be7b0f8130..eeee446a5bd 100644
index 9bda50c8c77..d26eb3dcb44 100644
--- a/configs/rock-pi-4c-rk3399_defconfig
+++ b/configs/rock-pi-4c-rk3399_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -696,11 +619,11 @@ index 4be7b0f8130..eeee446a5bd 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_EFI_CAPSULE_ON_DISK=y
CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
# CONFIG_ANDROID_BOOT_IMAGE is not set
diff --git a/configs/rock-pi-n10-rk3399pro_defconfig b/configs/rock-pi-n10-rk3399pro_defconfig
index 602a723ea7d..3dcc2932ae3 100644
index a9c6d8a907a..1cde3859eef 100644
--- a/configs/rock-pi-n10-rk3399pro_defconfig
+++ b/configs/rock-pi-n10-rk3399pro_defconfig
@@ -13,6 +13,8 @@ CONFIG_DEBUG_UART_BASE=0xFF1A0000
@ -713,7 +636,7 @@ index 602a723ea7d..3dcc2932ae3 100644
CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399pro-rock-pi-n10.dtb"
# CONFIG_CONSOLE_MUX is not set
diff --git a/configs/rock5a-rk3588s_defconfig b/configs/rock5a-rk3588s_defconfig
index 24b2eef35f2..c5830054921 100644
index 9618d590009..9608f7e7e4c 100644
--- a/configs/rock5a-rk3588s_defconfig
+++ b/configs/rock5a-rk3588s_defconfig
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -726,7 +649,7 @@ index 24b2eef35f2..c5830054921 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/rock5b-rk3588_defconfig b/configs/rock5b-rk3588_defconfig
index da5fb3a2c30..053346fc035 100644
index 47ee2109f8e..e1c6961a3ab 100644
--- a/configs/rock5b-rk3588_defconfig
+++ b/configs/rock5b-rk3588_defconfig
@@ -18,6 +18,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -735,11 +658,11 @@ index da5fb3a2c30..053346fc035 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/rock960-rk3399_defconfig b/configs/rock960-rk3399_defconfig
index db121f03ae6..e55f1b6a034 100644
index aebfa73459c..8b60ad3bf00 100644
--- a/configs/rock960-rk3399_defconfig
+++ b/configs/rock960-rk3399_defconfig
@@ -12,6 +12,8 @@ CONFIG_DEBUG_UART_BASE=0xFF1A0000
@ -752,7 +675,7 @@ index db121f03ae6..e55f1b6a034 100644
CONFIG_SYS_PBSIZE=1052
CONFIG_DISPLAY_BOARDINFO_LATE=y
diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
index 1d2bff35fc0..ea8e90b9f6a 100644
index 08b7e2784e9..d80e120c66f 100644
--- a/configs/rockpro64-rk3399_defconfig
+++ b/configs/rockpro64-rk3399_defconfig
@@ -20,6 +20,8 @@ CONFIG_SPL_SPI_FLASH_SUPPORT=y
@ -765,7 +688,7 @@ index 1d2bff35fc0..ea8e90b9f6a 100644
CONFIG_DISPLAY_BOARDINFO_LATE=y
CONFIG_SPL_MAX_SIZE=0x40000
diff --git a/configs/sige7-rk3588_defconfig b/configs/sige7-rk3588_defconfig
index 00b9759715b..1b837bd554c 100644
index 8b033e22b84..978df10442c 100644
--- a/configs/sige7-rk3588_defconfig
+++ b/configs/sige7-rk3588_defconfig
@@ -13,6 +13,8 @@ CONFIG_DEBUG_UART_CLOCK=24000000
@ -774,11 +697,11 @@ index 00b9759715b..1b837bd554c 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/soquartz-blade-rk3566_defconfig b/configs/soquartz-blade-rk3566_defconfig
index 7de159a8881..4137f0459b5 100644
index a1a51b2c657..4083f217c0b 100644
--- a/configs/soquartz-blade-rk3566_defconfig
+++ b/configs/soquartz-blade-rk3566_defconfig
@@ -11,6 +11,8 @@ CONFIG_DEBUG_UART_BASE=0xFE660000
@ -787,11 +710,11 @@ index 7de159a8881..4137f0459b5 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/soquartz-cm4-rk3566_defconfig b/configs/soquartz-cm4-rk3566_defconfig
index 4455ee5b5aa..ad63ba0204f 100644
index a8bca0eaccc..c3dd48d9dc1 100644
--- a/configs/soquartz-cm4-rk3566_defconfig
+++ b/configs/soquartz-cm4-rk3566_defconfig
@@ -11,6 +11,8 @@ CONFIG_DEBUG_UART_BASE=0xFE660000
@ -800,11 +723,11 @@ index 4455ee5b5aa..ad63ba0204f 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/soquartz-model-a-rk3566_defconfig b/configs/soquartz-model-a-rk3566_defconfig
index abdab514496..9e01345bdaa 100644
index f080d2e36d2..f6f2f67b0a6 100644
--- a/configs/soquartz-model-a-rk3566_defconfig
+++ b/configs/soquartz-model-a-rk3566_defconfig
@@ -11,6 +11,8 @@ CONFIG_DEBUG_UART_BASE=0xFE660000
@ -813,11 +736,11 @@ index abdab514496..9e01345bdaa 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/tiger-rk3588_defconfig b/configs/tiger-rk3588_defconfig
index 105e8e10e0b..bcc2ae302a5 100644
index f962ac416f3..1fc7301f6ae 100644
--- a/configs/tiger-rk3588_defconfig
+++ b/configs/tiger-rk3588_defconfig
@@ -17,6 +17,8 @@ CONFIG_DEBUG_UART_CLOCK=24000000
@ -830,7 +753,7 @@ index 105e8e10e0b..bcc2ae302a5 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/toybrick-rk3588_defconfig b/configs/toybrick-rk3588_defconfig
index 14b231ae3e2..7af393731cd 100644
index 5e70341c987..fd7e842f9e5 100644
--- a/configs/toybrick-rk3588_defconfig
+++ b/configs/toybrick-rk3588_defconfig
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
@ -843,7 +766,7 @@ index 14b231ae3e2..7af393731cd 100644
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
diff --git a/configs/turing-rk1-rk3588_defconfig b/configs/turing-rk1-rk3588_defconfig
index 0b3efec23e6..515db2a2b0c 100644
index 0eddf15833c..1a9aacc7b5d 100644
--- a/configs/turing-rk1-rk3588_defconfig
+++ b/configs/turing-rk1-rk3588_defconfig
@@ -12,6 +12,8 @@ CONFIG_DEBUG_UART_BASE=0xFEBC0000
@ -852,9 +775,9 @@ index 0b3efec23e6..515db2a2b0c 100644
CONFIG_DEBUG_UART=y
+CONFIG_USE_PREBOOT=y
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
CONFIG_AHCI=y
CONFIG_FIT=y
CONFIG_FIT_VERBOSE=y
CONFIG_SPL_FIT_SIGNATURE=y
--
2.54.0
2.47.1

View file

@ -1,39 +0,0 @@
From aef38432fbc93621b434836b95b10c28aa880e84 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Tue, 9 Dec 2025 20:51:06 +0000
Subject: [PATCH 1/2] rockchip: rk3568-nanopi-r5: Drop duplicated/extra sdhci
The pinctrl settings are now upstream, with the upstream
voltage supplies, and the HS200 mode is confirmed to work
fine but the HS400 mode had reported issues so let's just
consume what the upstream DT has now as it's all known good.
Reported-by: Dusty Mabe <dusty@dustymabe.com>
Tested-by: Dusty Mabe <dusty@dustymabe.com>
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
arch/arm/dts/rk3568-nanopi-r5s-u-boot.dtsi | 8 --------
1 file changed, 8 deletions(-)
diff --git a/arch/arm/dts/rk3568-nanopi-r5s-u-boot.dtsi b/arch/arm/dts/rk3568-nanopi-r5s-u-boot.dtsi
index 64c43374c04..7e24be1a5e7 100644
--- a/arch/arm/dts/rk3568-nanopi-r5s-u-boot.dtsi
+++ b/arch/arm/dts/rk3568-nanopi-r5s-u-boot.dtsi
@@ -12,14 +12,6 @@
/delete-property/ vpcie3v3-supply;
};
-&sdhci {
- cap-mmc-highspeed;
- mmc-hs200-1_8v;
- mmc-hs400-1_8v;
- mmc-hs400-enhanced-strobe;
- pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
-};
-
&vcc5v0_usb_host {
/delete-property/ regulator-always-on;
/delete-property/ regulator-boot-on;
--
2.52.0

View file

@ -1,33 +0,0 @@
From 29efc0396809384cf37bfcfb01c62e63216fa998 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Tue, 9 Dec 2025 21:13:46 +0000
Subject: [PATCH 2/2] rockchip: rk356x: Stop overriding sdhci/mmc aliases
Upstream device tree has rules where the aliases are board
specific settings, no SoC settings. Looking at upstream
rk356x boards there's a lot of variation in the setting of
mmc0/mmc1 based on the device so we should not be overriding
this here and now we sync to upstream we should just consume
those settings, to do otherwise confuses users.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
arch/arm/dts/rk356x-u-boot.dtsi | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/arm/dts/rk356x-u-boot.dtsi b/arch/arm/dts/rk356x-u-boot.dtsi
index 738b9673d35..f25c7970208 100644
--- a/arch/arm/dts/rk356x-u-boot.dtsi
+++ b/arch/arm/dts/rk356x-u-boot.dtsi
@@ -7,8 +7,6 @@
/ {
aliases {
- mmc0 = &sdhci;
- mmc1 = &sdmmc0;
spi4 = &sfc;
};
--
2.52.0

View file

@ -1,256 +0,0 @@
From patchwork Tue Aug 4 13:39:15 2026
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Gregor Herburger <gregor.herburger@linutronix.de>
X-Patchwork-Id: 2280865
X-Patchwork-Delegate: pbrobinson@gmail.com
Return-Path: <u-boot-bounces@lists.u-boot-project.org>
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@legolas.ozlabs.org
Authentication-Results: legolas.ozlabs.org;
dkim=fail reason="signature verification failed" (2048-bit key;
unprotected) header.d=lists.u-boot-project.org
header.i=@lists.u-boot-project.org header.a=rsa-sha256 header.s=default
header.b=DFFhfbAr;
dkim-atps=neutral
Authentication-Results: legolas.ozlabs.org;
spf=pass (sender SPF authorized) smtp.mailfrom=lists.u-boot-project.org
(client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org;
envelope-from=u-boot-bounces@lists.u-boot-project.org;
receiver=patchwork.ozlabs.org)
Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)
(No client certificate requested)
by legolas.ozlabs.org (Postfix) with ESMTPS id 4hDvm8025rz1xqD
for <incoming@patchwork.ozlabs.org>; Tue, 04 Aug 2026 23:39:35 +1000 (AEST)
Received: from localhost (localhost [127.0.0.1])
by smtp3.osuosl.org (Postfix) with ESMTP id 2536960600;
Tue, 4 Aug 2026 13:39:34 +0000 (UTC)
X-Virus-Scanned: amavis at osuosl.org
Received: from smtp3.osuosl.org ([127.0.0.1])
by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP
id T9Kb3BtsvOX4; Tue, 4 Aug 2026 13:39:33 +0000 (UTC)
X-Comment: SPF check N/A for local connections - client-ip=140.211.166.142;
helo=lists1.osuosl.org;
envelope-from=u-boot-bounces@lists.u-boot-project.org; receiver=<UNKNOWN>
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 4350560615
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=lists.u-boot-project.org ; s=default; t=1785850773;
bh=Tj3LONeiWXn0Cn5KPSYhoff9avwde4nWUGEguAWdLbE=;
h=From:Date:Subject:To:Cc:List-Id:List-Unsubscribe:List-Archive:
List-Post:List-Help:List-Subscribe:From;
b=DFFhfbArDuHrxJEuZryw3QEVVVcavwAril7tcxulQVs6jkVOCAjh7GEuhkq8EyLIq
suopR14b5dkKpVbbSr23u2v9jRgpynJQ5WBq6kIJSqjmZt58tZeMbaX76PRHjOs8+s
QHatP0Vxf1ny0BOpVlZLZ/LlAsQhypNhW6/qjH0X9OLeNq0IFjSZ5faD3z463b62m0
yMuPrAXa/kuPPInxGG6HsCPkRzFH3x9hM15r7ipSbXODTRXaVBSVScp03eAeo6zw/d
nll/wcjCEe/78XX5o1Tsug951g7H8meDRnGQHJZtvbEmHdDB1wkTXYdFI2EGwnDxsz
W3dcHoUveJgqQ==
Received: from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])
by smtp3.osuosl.org (Postfix) with ESMTP id 4350560615;
Tue, 4 Aug 2026 13:39:33 +0000 (UTC)
X-Original-To: u-boot@lists.u-boot-project.org
Delivered-To: u-boot@lists.u-boot-project.org
Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])
by lists1.osuosl.org (Postfix) with ESMTP id 3009E2BF
for <u-boot@lists.u-boot-project.org>; Tue, 4 Aug 2026 13:39:31 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
by smtp1.osuosl.org (Postfix) with ESMTP id 222DC8086C
for <u-boot@lists.u-boot-project.org>; Tue, 4 Aug 2026 13:39:31 +0000 (UTC)
X-Virus-Scanned: amavis at osuosl.org
Received: from smtp1.osuosl.org ([127.0.0.1])
by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP
id W5OoNRat257d for <u-boot@lists.u-boot-project.org>;
Tue, 4 Aug 2026 13:39:30 +0000 (UTC)
X-Greylist: delayed 94239 seconds by postgrey-1.37 at util1.osuosl.org;
Tue, 04 Aug 2026 13:39:29 UTC
DMARC-Filter: OpenDMARC Filter v1.4.2 smtp1.osuosl.org 1B0B580827
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 1B0B580827
Received-SPF: Pass (mailfrom) identity=mailfrom;
client-ip=2a0a:51c0:0:12e:550::1; helo=galois.linutronix.de;
envelope-from=gregor.herburger@linutronix.de; receiver=<UNKNOWN>
Received: from galois.linutronix.de (Galois.linutronix.de
[IPv6:2a0a:51c0:0:12e:550::1])
by smtp1.osuosl.org (Postfix) with ESMTPS id 1B0B580827
for <u-boot@lists.u-boot-project.org>; Tue, 4 Aug 2026 13:39:29 +0000 (UTC)
From: Gregor Herburger <gregor.herburger@linutronix.de>
Date: Tue, 04 Aug 2026 15:39:15 +0200
Subject: [PATCH v3] rpi: copy /chosen/bootloader partition and set
boot_partition
MIME-Version: 1.0
Message-Id: <20260804-tryboot2-v3-1-b0bc282a923b@linutronix.de>
X-B4-Tracking: v=1; b=H4sIAILrcWoC/22OywrCMBBFf0WyNpKHbYor/0O6SNOJjWgiSRpaS
v/dpCKCyKwO3HvmLiiANxDQabcgD8kE42wGvt8hNUh7BWz6zIgRVpOGcBz93DkXGW5UxRjlooZ
Kohx/etBm2lSX9s1h7G6gYumXhPbugePgQX6VgjQfJU4U5+OSHiVIpQU9340do3fWTIceimIwI
To/b3MTK6/+LEssezhRRFDNAGj142nXdX0BG/Mh6/kAAAA=
X-Change-ID: 20260803-tryboot2-8c5221376e5a
To: u-boot@lists.u-boot-project.org
Cc: Matthias Brugger <mbrugger@suse.com>,
Peter Robinson <pbrobinson@gmail.com>, Tom Rini <trini@konsulko.com>,
=?utf-8?q?Filip_Kokosi=C5=84ski?= <filip.kokosinski@gmail.com>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Gregor Herburger <gregor.herburger@linutronix.de>
X-Developer-Signature: v=1; a=ed25519-sha256; t=1785850764; l=3191;
i=gregor.herburger@linutronix.de; s=20260226; h=from:subject:message-id;
bh=4mVT/kFDHBnjUUlqljWBZ+t7aLa+t+gE+t/hUJ4uc5g=;
b=TBKoGScdkXGUfpGLvpVtYHkg4LDoOR/8M/do2dqU2QlR+9Z9YFNN6x88pDC7UIDeXrJS+Hpeg
e3YsfK6fOcoBgXOuzz3Aabmmn9//OQN7WG6Vz15rSxX0uVZ96TFcvf5
X-Developer-Key: i=gregor.herburger@linutronix.de; a=ed25519;
pk=u72Lv7+/lS5CC1hmSrb17lv/6CK7HBh4Lvz77PHA5LM=
X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=linutronix.de; s=2020; t=1785850765;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding;
bh=Tj3LONeiWXn0Cn5KPSYhoff9avwde4nWUGEguAWdLbE=;
b=plU5oAFojHvTlDhOGINsdXnnc0AnS9OY0C4LB9dSy9uyrPKBBpLWGWj3xmNoX87lLZlhO9
z0H+R5gqw5NfxbTVYFHqZnW+pW4xJQFW9fMYSU8/k2RRg9JEqP+NrZ8Y720ujlycxn05vP
sF7cD+TEsxvyBhnbRyq82obvpdQIYj0D6T3UkHyz0U4G+5k8dVhhv/mqGaSfY8xW4cCl5G
gIE2QIsuzB4g4pQoW70DrLd7cyqqDM0iDrrXFZL2a7DlnYgbe1ULVXMl05UMMQGfBkHmog
pt8e+zvO4AVA3G8CKcUQhhWOZm7uycUpdrNuyPKg9K7JB6MEd9dHbucVa+v8Yg==
X-Mailman-Original-DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;
d=linutronix.de; s=2020e; t=1785850765;
h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
to:to:cc:cc:mime-version:mime-version:content-type:content-type:
content-transfer-encoding:content-transfer-encoding;
bh=Tj3LONeiWXn0Cn5KPSYhoff9avwde4nWUGEguAWdLbE=;
b=NAMrZHs0ETYIMiwBHLvCoR3NOcg/kwkAxVRq6Q/pdhfkQJjxtHU3mZFV520QjbE1yeix0S
nJyAqHgyKVlRiZCw==
X-Mailman-Original-Authentication-Results: smtp1.osuosl.org;
dmarc=pass (p=none dis=none)
header.from=linutronix.de
X-Mailman-Original-Authentication-Results: smtp1.osuosl.org;
dkim=pass (2048-bit key, unprotected) header.d=linutronix.de
header.i=@linutronix.de header.a=rsa-sha256 header.s=2020 header.b=plU5oAFo;
dkim=pass header.d=linutronix.de header.i=@linutronix.de
header.a=ed25519-sha256 header.s=2020e header.b=NAMrZHs0
X-BeenThere: u-boot@lists.u-boot-project.org
X-Mailman-Version: 2.1.30
Precedence: list
List-Id: U-Boot discussion <u-boot.lists.u-boot-project.org>
List-Unsubscribe: <https://lists.u-boot-project.org/mailman/options/u-boot>,
<mailto:u-boot-request@lists.u-boot-project.org?subject=unsubscribe>
List-Archive: <http://lists.u-boot-project.org/pipermail/u-boot/>
List-Post: <mailto:u-boot@lists.u-boot-project.org>
List-Help: <mailto:u-boot-request@lists.u-boot-project.org?subject=help>
List-Subscribe: <https://lists.u-boot-project.org/mailman/listinfo/u-boot>,
<mailto:u-boot-request@lists.u-boot-project.org?subject=subscribe>
Errors-To: u-boot-bounces@lists.u-boot-project.org
Sender: "U-Boot" <u-boot-bounces@lists.u-boot-project.org>
The Raspberry Pi has the "tryboot" feature where it can boot from a
different partition enabling failsafe A/B updates. After boot the
firmware sets 'partition' property in /chosen/bootloader.
Copy the /chosen/bootloader node to the device tree.
Set the env variable boot_partition accordingly to allow boards to
create a bootcmd based on the boot partition.
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Gregor Herburger <gregor.herburger@linutronix.de>
---
Changes in v3:
- Copy the complete '/chosen/bootloader' node instead of only the
partition property
- Link to v2: https://patch.msgid.link/20260803-tryboot2-v2-1-30c071f2ee15@linutronix.de
Changes in v2:
- update Reviewed-by tag
---
board/raspberrypi/rpi/rpi.c | 51 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
---
base-commit: baa64b2f892890f00a377eac4a3e685472bb56b5
change-id: 20260803-tryboot2-8c5221376e5a
Best regards,
--
Gregor Herburger <gregor.herburger@linutronix.de>
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 1da5df92351c..ba8a2c1ba4cf 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -480,6 +480,20 @@ static void set_serial_number(void)
env_set("serial#", serial_string);
}
+static void set_boot_partition_fdt(void)
+{
+ void *fdtp = (void *)gd->fdt_blob;
+ u32 partition;
+
+ partition = fdt_getprop_u32_default(fdtp, "/chosen/bootloader", "partition", 1);
+ if (!partition) {
+ printf("Failed to the get partition property.\n");
+ return;
+ }
+
+ env_set_ulong("boot_partition", partition);
+}
+
int misc_init_r(void)
{
set_fdt_addr();
@@ -489,6 +503,7 @@ int misc_init_r(void)
set_board_info();
#endif
set_serial_number();
+ set_boot_partition_fdt();
return 0;
}
@@ -579,6 +594,39 @@ int board_fdt_blob_setup(void **fdtp)
return 0;
}
+int copy_node_all_properties(void *dst, void *src, const char *path, const char *node)
+{
+ int src_parent, dst_parent;
+ int src_node, dst_node;
+ int prop;
+ int len;
+
+ src_parent = fdt_path_offset(src, path);
+ dst_parent = fdt_path_offset(dst, path);
+ if (src_parent < 0 || dst_parent < 0)
+ return -1;
+
+ src_node = fdt_subnode_offset(src, src_parent, node);
+ if (src_node < 0)
+ return -1;
+
+ dst_node = fdt_find_or_add_subnode(dst, dst_parent, node);
+ if (dst_node < 0)
+ return -1;
+
+ fdt_for_each_property_offset(prop, src, src_node) {
+ const char *name;
+ const void *value = fdt_getprop_by_offset(src, prop, &name, &len);
+
+ if (!value || !name)
+ continue;
+
+ fdt_setprop(dst, dst_node, name, value, len);
+ }
+
+ return 0;
+}
+
int copy_property(void *dst, void *src, char *path, char *property)
{
int dst_offset, src_offset;
@@ -641,6 +689,9 @@ void update_fdt_from_fw(void *fdt, void *fw_fdt)
/* copy uart clk as provided by the firmware */
copy_property(fdt, fw_fdt, "/clocks/clk-uart", "clock-frequency");
+
+ /* Copy the bootloader node */
+ copy_node_all_properties(fdt, fw_fdt, "/chosen", "bootloader");
}
int ft_board_setup(void *blob, struct bd_info *bd)

156
rpi-fixes.patch Normal file
View file

@ -0,0 +1,156 @@
From 27e0160320c13168ab5d703c5ec4bec87a6d2700 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Sun, 29 Dec 2024 14:46:05 +0000
Subject: [PATCH 1/4] rpi: Add identifiers for the new RPi 5 series
The Raspberry Pi foundation have released the Raspberry
Pi 500, CM5 an CM5 lite devices so add the assoicated
revision identifers so we can detect them.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Acked-by: Matthias Brugger <mbrugger@suse.com>
---
board/raspberrypi/rpi/rpi.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index aa39afa338a..4d546892842 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -193,6 +193,21 @@ static const struct rpi_model rpi_models_new_scheme[] = {
DTB_DIR "bcm2712-rpi-5-b.dtb",
true,
},
+ [0x18] = {
+ "Compute Module 5",
+ DTB_DIR "bcm2712-rpi-cm5-cm5io.dtb",
+ true,
+ },
+ [0x19] = {
+ "500",
+ DTB_DIR "bcm2712-rpi-500.dtb",
+ true,
+ },
+ [0x1A] = {
+ "Compute Module 5 Lite",
+ DTB_DIR "bcm2712-rpi-cm5l-cm5io.dtb",
+ true,
+ },
};
static const struct rpi_model rpi_models_old_scheme[] = {
--
2.48.1
From 2d75c46be99c15fa186436c149b87ee97e0b8f44 Mon Sep 17 00:00:00 2001
From: Martin Stolpe <martinstolpe@gmail.com>
Date: Wed, 23 Oct 2024 15:09:20 +0200
Subject: [PATCH 2/4] rpi: Only add frame buffer node if CONFIG_FDT_SIMPLEFB is
set
The functions fdt_simplefb_add_node and fdt_simplefb_enable_and_mem_rsv
are only available if CONFIG_FDT_SIMPLEFB is enabled.
Signed-off-by: Martin Stolpe <martin.stolpe@gmail.com>
Acked-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
board/raspberrypi/rpi/rpi.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 4d546892842..fe6153b388b 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -604,11 +604,13 @@ int ft_board_setup(void *blob, struct bd_info *bd)
update_fdt_from_fw(blob, (void *)fw_dtb_pointer);
- node = fdt_node_offset_by_compatible(blob, -1, "simple-framebuffer");
- if (node < 0)
- fdt_simplefb_add_node(blob);
- else
- fdt_simplefb_enable_and_mem_rsv(blob);
+ if (CONFIG_IS_ENABLED(FDT_SIMPLEFB)) {
+ node = fdt_node_offset_by_compatible(blob, -1, "simple-framebuffer");
+ if (node < 0)
+ fdt_simplefb_add_node(blob);
+ else
+ fdt_simplefb_enable_and_mem_rsv(blob);
+ }
#ifdef CONFIG_EFI_LOADER
/* Reserve the spin table */
--
2.48.1
From fc7a3110184a3ca4c227675b20d3a4887210e36c Mon Sep 17 00:00:00 2001
From: Fiona Klute <fiona.klute@gmx.de>
Date: Wed, 12 Feb 2025 12:39:01 +0100
Subject: [PATCH 3/4] Raspberry Pi: Keep warnings from firmware in DT, if any
The /chosen/user-warnings property is created by the RPi firmware if
there are warnings to report, keep it to make debugging easier.
For example, if the firmware config.txt contains
"dtoverlay=error-example" and that example references an undefined
symbol "&nosuchdev" the warning can be read after boot:
$ cat /proc/device-tree/chosen/user-warnings
dterror: can't find symbol 'nosuchdev'
Failed to resolve overlay 'error-example'
Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
board/raspberrypi/rpi/rpi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index fe6153b388b..43efb0dbc1d 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -594,6 +594,9 @@ void update_fdt_from_fw(void *fdt, void *fw_fdt)
/* kernel address randomisation seed as provided by the firmware */
copy_property(fdt, fw_fdt, "/chosen", "kaslr-seed");
+ /* warnings from the firmware (if any) */
+ copy_property(fdt, fw_fdt, "/chosen", "user-warnings");
+
/* address of the PHY device as provided by the firmware */
copy_property(fdt, fw_fdt, "ethernet0/mdio@e14/ethernet-phy@1", "reg");
}
--
2.48.1
From e042d7593a0b7544259fd2d22240e78d18912746 Mon Sep 17 00:00:00 2001
From: Fiona Klute <fiona.klute@gmx.de>
Date: Wed, 12 Feb 2025 12:39:02 +0100
Subject: [PATCH 4/4] Raspberry Pi: Copy Bluetooth device address in DT
The firmware sets local-bd-address, copy it when loading a new DT.
Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
board/raspberrypi/rpi/rpi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 43efb0dbc1d..70d3c35499b 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -599,6 +599,9 @@ void update_fdt_from_fw(void *fdt, void *fw_fdt)
/* address of the PHY device as provided by the firmware */
copy_property(fdt, fw_fdt, "ethernet0/mdio@e14/ethernet-phy@1", "reg");
+
+ /* Bluetooth device address as provided by the firmware */
+ copy_property(fdt, fw_fdt, "/soc/serial@7e201000/bluetooth", "local-bd-address");
}
int ft_board_setup(void *blob, struct bd_info *bd)
--
2.48.1

View file

@ -0,0 +1,161 @@
From patchwork Tue Apr 15 08:30:14 2025
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Patchwork-Submitter: Bruno Leite <brunosampaioleite@gmail.com>
X-Patchwork-Id: 2072903
X-Patchwork-Delegate: pbrobinson@gmail.com
Return-Path: <u-boot-bounces@lists.denx.de>
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@legolas.ozlabs.org
Authentication-Results: legolas.ozlabs.org;
dkim=pass (2048-bit key;
unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256
header.s=20230601 header.b=NLOXFHyi;
dkim-atps=neutral
Authentication-Results: legolas.ozlabs.org;
spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de
(client-ip=85.214.62.61; helo=phobos.denx.de;
envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)
Received: from phobos.denx.de (phobos.denx.de [85.214.62.61])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature ECDSA (secp384r1))
(No client certificate requested)
by legolas.ozlabs.org (Postfix) with ESMTPS id 4ZcPCY0L1rz1yHt
for <incoming@patchwork.ozlabs.org>; Tue, 15 Apr 2025 22:50:49 +1000 (AEST)
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
by phobos.denx.de (Postfix) with ESMTP id 308EB82AFB;
Tue, 15 Apr 2025 14:50:29 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: phobos.denx.de;
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
Authentication-Results: phobos.denx.de;
dkim=pass (2048-bit key;
unprotected) header.d=gmail.com header.i=@gmail.com header.b="NLOXFHyi";
dkim-atps=neutral
Received: by phobos.denx.de (Postfix, from userid 109)
id 349F98056A; Tue, 15 Apr 2025 10:30:28 +0200 (CEST)
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de
X-Spam-Level:
X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,
RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham
autolearn_force=no version=3.4.2
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com
[IPv6:2a00:1450:4864:20::22b])
(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))
(No client certificate requested)
by phobos.denx.de (Postfix) with ESMTPS id 3962A82047
for <u-boot@lists.denx.de>; Tue, 15 Apr 2025 10:30:26 +0200 (CEST)
Authentication-Results: phobos.denx.de;
dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: phobos.denx.de;
spf=pass smtp.mailfrom=brunosampaioleite@gmail.com
Received: by mail-lj1-x22b.google.com with SMTP id
38308e7fff4ca-30bfc8faef9so49423241fa.1
for <u-boot@lists.denx.de>; Tue, 15 Apr 2025 01:30:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1744705825; x=1745310625; darn=lists.denx.de;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=G/bK1K44Dr1qFbZickUlvWkto/6r+BtRySFxyVDIYKY=;
b=NLOXFHyi7dXqHhrg8fkx5lISJ9rd6xXpixrCEDfKShdvqjvn2vMkVHivrB/UmT5q/m
Rcn0ad8zpPX+B1FfTwwkq4froYJpiBB3hfDhWs7VhphrtvcoOdo1odSLFDY+94ycwMrH
SByxwk76lvnn/WPl/K20jk3AacL4eitsWe6coH11QAw1Ff7ub3lukIMOHwph9KvyBBCO
rDC59cJIVrN7JGycd5bVjEbPQL20S8ElhQFxzpA/Oay5mRcuWOz9kPtXDepqVY3OTeRD
xVYZBQmbfdH+ddX0djm3HK4NeFgarV9FrclE37evniLeATkMGoB6vWwtfQHQzGnZi9XM
1yZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1744705825; x=1745310625;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=G/bK1K44Dr1qFbZickUlvWkto/6r+BtRySFxyVDIYKY=;
b=aJrgDOltnMKa4/yUhPGvvzqv8fUsRjhtiQXqF20Ymo2bHr0kbVeb5jFe/TzFShZYoD
bmirjua4chjbqAuDu0hPub/QpZdCyKrlFKWI/+yp82mTlCakauWD+2ouH+uTR3LgV9/T
p2etUHhRr/1cdNUumKjbHK5ePRPZ1fj4kTq3Tr7PFfE2F1HctVcGt+5Eg0eGdDxB/CNY
fzT82UD+QbEtpyLp3b1DL5m2kvMNPjVtsUMnaldTfwrA3UicBAXnx5/aNwK8mi3ZbF1p
zd+QdEDjuLtdboBfffvanhpOnx7DFBWHxiQYy3nIx9kGV9apFJZZw6g2w46mIHxJ9qpK
vs4A==
X-Gm-Message-State: AOJu0YwFtor9kanZ4bPXgxW0Caq1SXAjjr1eoMtteqd6a/rCRGtBSoCz
2nTZsmUy7rN+RuLT0b0YkYdB4Nap8ZheIEJjBpYYy86I0HBvDOCEorH+8zHIOu0Q2A==
X-Gm-Gg: ASbGncuvhE42LjbCtWsarbjkyrOyVA/mrkKOUPBAgzW/qnUKh7MwX9QNl5kSLSTzn2x
NVqmx7hNTBoFrwXVi4qN6/9oQbYDvg5w3q4qaRjK1FSsBvwHor7Qrqso4bleSYBBbp89rvTNKGN
cQxKrjEuhwK1IGGp5Si31mh/uHdkNoNlXvJGgUhNC5jjedj0tGwWLzKuau775LircGiFhFkXlmg
vvKDSS9iaFj9jLuUnbu7i3HGC98ZSaO1UWogeOvncthddQXzEPMwtiiR4+HzAFh27h9pihboSgQ
bf41IZ0AmlDUKSrxJRPRtfUlOJ1TRA5TMFL2vAPYxty+pgqFrriC8oOsemfm5DvdxQNjoM2NG7/
ZxkxfMxEZ
X-Google-Smtp-Source:
AGHT+IHMd8cQWJx/NJpA+NT/8JfqwmGZg8ekGgpeyeFGMd3DfCJ5kuQYxSAip7G9Y3zA2jvJMPH6xw==
X-Received: by 2002:a2e:b8c4:0:b0:309:1fee:378d with SMTP id
38308e7fff4ca-31049a1cf35mr46597761fa.19.1744705825108;
Tue, 15 Apr 2025 01:30:25 -0700 (PDT)
Received: from brule-Precision-3590.prevas.se ([81.216.59.226])
by smtp.gmail.com with ESMTPSA id
38308e7fff4ca-30f464cc0a2sm19679971fa.31.2025.04.15.01.30.23
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Tue, 15 Apr 2025 01:30:24 -0700 (PDT)
From: Bruno Leite <brunosampaioleite@gmail.com>
To: u-boot@lists.denx.de
Cc: pbrobinson@gmail.com, Matthias Brugger <mbrugger@suse.com>,
clast@prevas.dk, ravi@prevas.dk, Bruno Leite <brule@prevas.dk>,
Fiona Klute <fiona.klute@gmx.de>, Francois Berder <fberder@outlook.fr>,
Ilias Apalodimas <ilias.apalodimas@linaro.org>,
Martin Stolpe <martinstolpe@gmail.com>,
Patrice Chotard <patrice.chotard@foss.st.com>,
Rasmus Villemoes <rasmus.villemoes@prevas.dk>,
Simon Glass <sjg@chromium.org>, Tom Rini <trini@konsulko.com>
Subject: [PATCH 1/1] rpi: copy over uart clock-frequency in DT
Date: Tue, 15 Apr 2025 10:30:14 +0200
Message-ID: <20250415083017.3523317-2-brunosampaioleite@gmail.com>
X-Mailer: git-send-email 2.45.2
In-Reply-To: <20250415083017.3523317-1-brunosampaioleite@gmail.com>
References: <20250415083017.3523317-1-brunosampaioleite@gmail.com>
MIME-Version: 1.0
X-Mailman-Approved-At: Tue, 15 Apr 2025 14:50:26 +0200
X-BeenThere: u-boot@lists.denx.de
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: U-Boot discussion <u-boot.lists.denx.de>
List-Unsubscribe: <https://lists.denx.de/options/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>
List-Archive: <https://lists.denx.de/pipermail/u-boot/>
List-Post: <mailto:u-boot@lists.denx.de>
List-Help: <mailto:u-boot-request@lists.denx.de?subject=help>
List-Subscribe: <https://lists.denx.de/listinfo/u-boot>,
<mailto:u-boot-request@lists.denx.de?subject=subscribe>
Errors-To: u-boot-bounces@lists.denx.de
Sender: "U-Boot" <u-boot-bounces@lists.denx.de>
X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de
X-Virus-Status: Clean
From: Bruno Leite <brule@prevas.dk>
rpi5 firmware sets uart_clk clock-frequency in
the firmware and patches it to the DT, copy it
over when loading a new DT.
Signed-off-by: Bruno Leite <brule@prevas.dk>
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Tested-by: Peter Robinson <pbrobinson@gmail.com>
---
board/raspberrypi/rpi/rpi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 70d3c35499b..5c84c324c71 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -602,6 +602,9 @@ void update_fdt_from_fw(void *fdt, void *fw_fdt)
/* Bluetooth device address as provided by the firmware */
copy_property(fdt, fw_fdt, "/soc/serial@7e201000/bluetooth", "local-bd-address");
+
+ /* copy uart clk as provided by the firmware */
+ copy_property(fdt, fw_fdt, "/clocks/clk-uart", "clock-frequency");
}
int ft_board_setup(void *blob, struct bd_info *bd)

View file

@ -1 +1 @@
SHA512 (u-boot-v2026.10-rc3.tar.bz2) = e993f5d78a1ac0eb11f00e3730ff23eb880e206036f78c3eb74852b846a23d59111b4b07f4ced2c88c61a8c1627036c3cc32717c0efcf819376c5cd0a34183d2
SHA512 (u-boot-2025.07-rc4.tar.bz2) = 5d72c3848c440b585644aed7664b6e85adaf623a96d6fa5389e85f9c3e5046a3dae94cf2d076e6654a6175e1d11d2f9612de301b70c6537ee85d4cfd9955c010

View file

@ -1,26 +1,35 @@
%global candidate rc3
%global candidate rc4
%if 0%{?rhel}
%bcond_with toolsonly
%else
%bcond_without toolsonly
%endif
%global debug_package %{nil}
# Set it to "opensbi" (stable) or "opensbi-unstable" (unstable, git)
%global opensbi opensbi
Name: uboot-tools
Version: 2026.10
Version: 2025.07
Release: 0.3%{?candidate:.%{candidate}}%{?dist}
Epoch: 1
Summary: U-Boot utilities
# Automatically converted from old format: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ - review is highly recommended.
License: GPL-2.0-or-later AND LicenseRef-Callaway-BSD AND LGPL-2.1-or-later AND LGPL-2.0-or-later
URL: https://u-boot-project.org/
ExcludeArch: s390x
Source0: https://git.u-boot-project.org/u-boot/u-boot/-/archive/v%{version}%{?candidate:-%{candidate}}/u-boot-v%{version}%{?candidate:-%{candidate}}.tar.bz2
URL: http://www.denx.de/wiki/U-Boot
Source0: https://ftp.denx.de/pub/u-boot/u-boot-%{version}%{?candidate:-%{candidate}}.tar.bz2
Source1: aarch64-boards
Source2: riscv64-boards
Source3: x86_64-boards
Source10: rk3588-boards
Source11: rk3568-boards
Source12: rk3566-boards
Source20: rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin
Source21: rk3568_ddr_1056MHz_v1.23.bin
Source22: rk3566_ddr_1056MHz_v1.23.bin
# Fedora patches to enable/disable features
Patch1: disable-VBE-by-default.patch
@ -30,28 +39,21 @@ Patch3: uefi-distro-load-FDT-from-any-partition-on-boot-device.patch
# Identify VFAT partitions as ESP, allows EFI setvar on our images
Patch4: uefi-Add-all-options-for-EFI-System-Partitions.patch
# New function to find fdt for loading from disk
Patch5: uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch
Patch6: uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch
# Enable UEFI SetVariable for devices without backed storage
Patch6: uefi-enable-SetVariableRT-with-volotile-storage.patch
# Enable UEFI HTTPS boot for all Fedora firmware
Patch7: uefi-enable-https-boot-by-default.patch
Patch7: uefi-enable-SetVariableRT-with-volotile-storage.patch
# Should be upstream but it's taking time
#Patch8: Add-video-damage-tracking.patch
# Device improvments
# USB-PD improvements
Patch10: USB-PD-TCPM-improvements.patch
# Rockchips improvements
Patch11: rockchip-Enable-preboot-start-for-pci-usb.patch
Patch13: rockchip-rk356x-Stop-overriding-sdhci-mmc-aliases.patch
# Jetson fixes
Patch14: p3450-fix-board.patch
Patch15: JetsonTX2-Fix-upstream-device-tree-naming.patch
# Fix AllWinner
Patch16: Allwinner-fix-booting-on-a-number-of-devices.patch
# RPi
Patch20: Fix-NVMe-not-only-on-Raspberry-Pi-5.patch
Patch21: raspberrypi-Add-quirk-for-RPi5-2Gb-rev-1.0.patch
Patch22: rpi-copy-chosen-bootloader-partition-and-set-boot_partition.patch
Patch10: rockchip-Enable-preboot-start-for-pci-usb.patch
# USB-PD improvements
Patch11: USB-PD-TCPM-improvements.patch
# Rockchip DT rebase for fixes
Patch12: 0001-Rebase-to-upstream-6.15.5-rockchip-DTs.patch
ExclusiveArch: aarch64
BuildRequires: bc
BuildRequires: bison
BuildRequires: dtc
@ -60,47 +62,31 @@ BuildRequires: gcc
BuildRequires: gnutls-devel
BuildRequires: libuuid-devel
BuildRequires: make
BuildRequires: ncurses-devel
%if 0%{?fedora} > 44
BuildRequires: openssl3-devel
BuildRequires: openssl3-devel-engine
%else
BuildRequires: openssl-devel
BuildRequires: openssl-devel-engine
%endif
BuildRequires: perl-interpreter
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-libfdt
BuildRequires: SDL2-devel
BuildRequires: swig
%if %{with toolsonly}
%ifarch aarch64
BuildRequires: arm-trusted-firmware-armv8
BuildRequires: optee-os-firmware-armv8
BuildRequires: crust-firmware
BuildRequires: python3-pyelftools
BuildRequires: xxd
%endif
%ifarch riscv64
BuildRequires: %{opensbi}
%endif
%endif
Requires: dtc
BuildRequires: uboot-tools
%description
This package contains a few U-Boot utilities - mkimage for creating boot images
and fw_printenv/fw_setenv for manipulating the boot environment variables.
%if %{with toolsonly}
%ifarch aarch64
%package -n uboot-images-armv8
%package -n uboot-images-copr
Summary: U-Boot firmware images for aarch64 boards
BuildArch: noarch
%description -n uboot-images-armv8
%description -n uboot-images-copr
U-Boot firmware binaries for aarch64 boards
%endif
%ifarch riscv64
%package -n uboot-images-riscv64
@ -111,104 +97,62 @@ BuildArch: noarch
U-Boot firmware binaries for riscv64 boards
%endif
%ifarch x86_64
%package -n uboot-images-x86_64
Summary: U-Boot firmware images for x86_64 boards
BuildArch: noarch
%description -n uboot-images-x86_64
U-Boot firmware binaries for x86_64 boards
%endif
%endif
%prep
%autosetup -p1 -n u-boot-v%{version}%{?candidate:-%{candidate}}
%autosetup -p1 -n u-boot-%{version}%{?candidate:-%{candidate}}
cp %SOURCE1 %SOURCE2 %SOURCE3 .
cp %SOURCE1 %SOURCE2 .
cp %SOURCE10 .
cp %SOURCE11 .
cp %SOURCE12 .
cp %SOURCE20 .
cp %SOURCE21 .
cp %SOURCE22 .
%build
mkdir builds
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-only_defconfig O=builds/
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-all O=builds/
%if %{with toolsonly}
# OpenSBI firmware is distributed in U-Boot SPL images
%ifarch riscv64
export OPENSBI=%{_datadir}/%{opensbi}/generic/firmware/fw_dynamic.bin
%endif
%ifarch aarch64 riscv64 x86_64
for board in $(cat %{_arch}-boards)
for board in $(cat rk3588-boards)
do
echo "Building board: $board"
echo "Board: $board using rk3588"
mkdir builds/$(echo $board)/
# ATF selection, needs improving, suggestions of ATF SoC to Board matrix welcome
sun50i=(a64-olinuxino a64-olinuxino-emmc amarula_a64_relic bananapi_m64 nanopi_a64 oceanic_5205_5inmfd orangepi_win pine64-lts pine64_plus pine64_plus pinebook pinephone pinephone pinetab sopine_baseboard teres_i)
if [[ " ${sun50i[*]} " == *" $board "* ]]; then
echo "Board: $board using sun50i_a64"
cp /usr/share/arm-trusted-firmware/sun50i_a64/bl31.bin builds/$(echo $board)/atf-bl31
cp /usr/share/crust-firmware/a64/scp.bin builds/$(echo $board)/
fi
sun50h5=(bananapi_m2_plus_h5 emlid_neutis_n5_devboard libretech_all_h3_cc_h5 libretech_all_h3_it_h5 libretech_all_h5_cc_h5 nanopi_neo2 nanopi_neo_plus2 nanopi_r1s_h5 orangepi_pc2 orangepi_prime orangepi_zero_plus2 orangepi_zero_plus)
if [[ " ${sun50h5[*]} " == *" $board "* ]]; then
echo "Board: $board using sun50i_h6"
cp /usr/share/arm-trusted-firmware/sun50i_a64/bl31.bin builds/$(echo $board)/atf-bl31
cp /usr/share/crust-firmware/h5/scp.bin builds/$(echo $board)/
fi
sun50h6=(beelink_gs1 emlid_neutis_n5_devboard orangepi_3 orangepi_lite2 orangepi_one_plus pine_h64 tanix_tx6)
if [[ " ${sun50h6[*]} " == *" $board "* ]]; then
echo "Board: $board using sun50i_h6"
cp /usr/share/arm-trusted-firmware/sun50i_h6/bl31.bin builds/$(echo $board)/atf-bl31
cp /usr/share/crust-firmware/h6/scp.bin builds/$(echo $board)/
fi
sun50i_h616=(anbernic_rg35xx_h700 orangepi_zero2 orangepi_zero2w orangepi_zero3 transpeed-8k618-t x96_mate)
if [[ " ${sun50i_h616[*]} " == *" $board "* ]]; then
echo "Board: $board using sun50i_h616"
cp /usr/share/arm-trusted-firmware/sun50i_h616/bl31.bin builds/$(echo $board)/atf-bl31
fi
rk3328=(evb-rk3328 generic-rk3328 nanopi-r2c-plus-rk3328 nanopi-r2c-rk3328 nanopi-r2s-rk3328 nanopi-r2s-plus-rk3328 orangepi-r1-plus-lts-rk3328 orangepi-r1-plus-rk3328 roc-cc-rk3328 rock64-rk3328 rock-pi-e-rk3328 rock-pi-e-v3-rk3328)
if [[ " ${rk3328[*]} " == *" $board "* ]]; then
echo "Board: $board using rk3328"
cp /usr/share/arm-trusted-firmware/rk3328/bl31.elf builds/$(echo $board)/atf-bl31
fi
rk3368=(evb-px5 geekbox)
if [[ " ${rk3368[*]} " == *" $board "* ]]; then
echo "Board: $board using rk3368"
cp /usr/share/arm-trusted-firmware/rk3368/bl31.elf builds/$(echo $board)/atf-bl31
fi
rk3399=(eaidk-610-rk3399 evb-rk3399 ficus-rk3399 firefly-rk3399 generic-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 leez-rk3399 nanopc-t4-rk3399 nanopi-m4-2gb-rk3399 nanopi-m4b-rk3399 nanopi-m4-rk3399 nanopi-neo4-rk3399 nanopi-r4s-rk3399 orangepi-rk3399 pinebook-pro-rk3399 pinephone-pro-rk3399 puma-rk3399 rock-4c-plus-rk3399 rock-4se-rk3399 rock960-rk3399 rock-pi-4c-rk3399 rock-pi-4-rk3399 rock-pi-n10-rk3399pro rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399)
if [[ " ${rk3399[*]} " == *" $board "* ]]; then
echo "Board: $board using rk3399"
cp /usr/share/arm-trusted-firmware/rk3399/* builds/$(echo $board)/
cp builds/$(echo $board)/bl31.elf builds/$(echo $board)/atf-bl31
fi
zynqmp=(xilinx_zynqmp_kria xilinx_zynqmp_virt)
if [[ " ${zynqmp[*]} " == *" $board "* ]]; then
echo "Board: $board using zynqmp"
cp /usr/share/arm-trusted-firmware/zynqmp/bl31.bin builds/$(echo $board)/atf-bl31
fi
# End ATF
make $(echo $board)_defconfig O=builds/$(echo $board)/
BL31=builds/$(echo $board)/atf-bl31 %make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
BL31=/usr/share/arm-trusted-firmware/rk3588/bl31.elf \
ROCKCHIP_TPL=rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin \
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
done
for board in $(cat rk3568-boards)
do
echo "Board: $board using rk3568"
mkdir builds/$(echo $board)/
make $(echo $board)_defconfig O=builds/$(echo $board)/
BL31=/usr/share/arm-trusted-firmware/rk3568/bl31.elf \
ROCKCHIP_TPL=rk3568_ddr_1056MHz_v1.23.bin \
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
done
for board in $(cat rk3566-boards)
do
echo "Board: $board using rk3566"
mkdir builds/$(echo $board)/
make $(echo $board)_defconfig O=builds/$(echo $board)/
BL31=/usr/share/arm-trusted-firmware/rk3568/bl31.elf \
ROCKCHIP_TPL=rk3566_ddr_1056MHz_v1.23.bin \
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
done
%endif
%endif
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_mandir}/man1
mkdir -p %{buildroot}%{_datadir}/uboot/
%if %{with toolsonly}
%ifarch aarch64
for board in $(ls builds)
do
for file in u-boot.bin u-boot.img u-boot-dtb.img u-boot-sunxi-with-spl.bin u-boot-rockchip-spi.bin u-boot-rockchip.bin
for file in u-boot-rockchip-spi.bin u-boot-rockchip.bin
do
if [ -f builds/$(echo $board)/$(echo $file) ]; then
install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file)
@ -216,234 +160,12 @@ do
done
done
# Just for xilinx_zynqmp
for board in "xilinx_zynqmp_kria xilinx_zynqmp_virt"
do
for file in u-boot.itb spl/boot.bin
do
if [ -f builds/$(echo $board)/$(echo $file) ]; then
install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file)
fi
done
done
# For Apple M-series we also need the nodtb variant
install -pD -m 0644 builds/apple_m1/u-boot-nodtb.bin %{buildroot}%{_datadir}/uboot/apple_m1/u-boot-nodtb.bin
%endif
%ifarch riscv64
for board in $(ls builds)
do
for file in u-boot.itb spl/u-boot-spl.bin spl/u-boot-spl.bin.normal.out
do
if [ -f builds/$(echo $board)/$(echo $file) ]; then
install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file)
fi
done
done
%endif
%ifarch x86_64
for board in $(ls builds)
do
for file in u-boot.rom
do
if [ -f builds/$(echo $board)/$(echo $file) ]; then
install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file)
fi
done
done
%endif
# Bit of a hack to remove binaries we don't use as they're large
for board in $(ls builds)
do
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.dtb
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-sunxi-with-spl.bin ]; then
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.*
fi
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-rockchip.bin ]; then
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.*
fi
done
%endif
for tool in dumpimage env/fw_printenv fdt_add_pubkey fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc ifwitool img2srec kwboot mkeficapsule mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder
do
install -p -m 0755 builds/tools/$tool %{buildroot}%{_bindir}
done
for tool in dumpimage kwboot mkeficapsule mkimage
do
install -p -m 0644 doc/$tool.1 %{buildroot}%{_mandir}/man1
done
install -p -m 0755 builds/tools/env/fw_printenv %{buildroot}%{_bindir}
( cd %{buildroot}%{_bindir}; ln -sf fw_printenv fw_setenv )
%files
%license Licenses/*
%doc README doc/develop/distro.rst doc/README.gpt
%doc doc/develop/uefi doc/usage doc/arch/arm64.rst
%{_bindir}/*
%{_mandir}/man1/dumpimage.1*
%{_mandir}/man1/kwboot.1*
%{_mandir}/man1/mkeficapsule.1*
%{_mandir}/man1/mkimage.1*
%if %{with toolsonly}
%ifarch aarch64
%files -n uboot-images-armv8
%files -n uboot-images-copr
%license Licenses/*
%dir %{_datadir}/uboot/
%{_datadir}/uboot/*
%endif
%ifarch riscv64
%files -n uboot-images-riscv64
%license Licenses/*
%dir %{_datadir}/uboot/
%{_datadir}/uboot/*
%endif
%ifarch x86_64
%files -n uboot-images-x86_64
%license Licenses/*
%dir %{_datadir}/uboot/
%{_datadir}/uboot/*
%endif
%endif
%changelog
* Thu Aug 27 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.10-0.3.rc3
- Update to 2026.10 RC3
* Wed Aug 12 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.10-0.2.rc2
- Update to 2026.10 RC2
* Thu Jul 30 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.10-0.1.rc1
- Update to 2026.10 RC1
- Update source URL
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:2026.07-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Tue Jul 07 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-1
- Update to 2026.07 GA
* Tue Jun 23 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-0.4.rc5
- Update to 2026.07 RC5
* Mon Jun 08 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-0.3.rc4
- Update to 2026.07 RC4
* Fri May 29 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-0.2.rc3
- Update to 2026.07 RC3
- Update U-Boot Project URL
- Update RPi PCIe patches
- Various RPi fixes
* Fri May 01 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-0.1.rc1
- Update to 2026.07 RC1
* Sat Apr 11 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-2
- Fix PCIe/USB on Raspberry Pi 4 (rhbz#2448365)
- Fix detection of some revisions of RPi5
* Tue Apr 07 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-1
- Update to 2026.04 GA
* Sun Mar 29 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.9.rc5
- Enable NVME booting on RPi5
* Tue Mar 24 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.8.rc5
- Update to 2026.04 RC5
* Sat Mar 14 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.7.rc4
- Raspberry Pi fixes
* Tue Mar 10 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.6.rc4
- Update to 2026.04 RC4
* Fri Feb 27 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.5.rc3
- Update to 2026.04 RC3
* Tue Feb 17 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.4.rc2
- Add initial bcm2712d0 identification
* Mon Feb 09 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.3.rc2
- Update to 2026.04 RC2
* Tue Jan 27 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.2.rc1
- Update to 2026.04 RC1
* Mon Jan 19 2026 Javier Martinez Canillas <javierm@redhat.com> - 1:2026.01-3
- Add a uboot-images-x86_64 subpackage
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:2026.01-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Tue Jan 06 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-1
- Update to 2026.01 GA
* Mon Dec 29 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.4.rc5
- Update to 2026.01 RC5
* Mon Dec 08 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.3.rc4
- Update to 2026.01 RC4
* Fri Nov 28 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.2.rc3
- Updates for RPi
* Mon Nov 24 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.1.rc3
- Update to 2026.01 RC3
* Thu Oct 16 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-2
- Drop residual Rockchip firmware (saves ~150Mb)
* Mon Oct 13 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-1
- Update to 2025.10 GA (rhbz#2401964)
- Fix booting when using FW device-tree (rhbz#2402498)
- Fix for some variants of Raspberry Pi
- Fixes for Jetson device booting
* Fri Sep 26 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.7.rc5
- Update to 2025.10 RC5
* Mon Sep 08 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.6.rc4
- Update to 2025.10 RC4
* Sun Sep 07 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.5.rc3
- Boot fixes for some Raspberry Pi variants
* Wed Aug 27 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.4.rc3
- Fix booting on some Allwinner devices
* Mon Aug 25 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.3.rc3
- Update to 2025.10 RC3
* Tue Aug 19 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.2.rc2
- Fix and re-enable Jetson Nano
* Mon Aug 18 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.1.rc2
- Update to 2025.10 RC2
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:2025.07-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jul 10 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-2
- Update patch for rebase issue
* Wed Jul 09 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-1
- Update to 2025.07 GA
* Fri Jun 27 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.5.rc5
- Update to 2025.07 RC5
- Enable LWIP stack by default
- Enable HTTP(s) boot support
* Thu Jun 26 2025 Javier Martinez Canillas <javierm@redhat.com> - 1:2025.07-0.4.rc4
- Add EFI_PARTITION_INFO_PROTOCOL support
* Sun Jun 15 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.3.rc4
- Update to 2025.07 RC4

View file

@ -1,82 +0,0 @@
From 7eabab2fda12b7a4417e5c7f29a507dfa9e7fffd Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Sun, 3 May 2026 09:24:34 +0100
Subject: [PATCH] enable https boot by default
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
cmd/Kconfig | 1 +
lib/efi_loader/Kconfig | 1 +
lib/mbedtls/Kconfig | 3 ++-
net/Kconfig | 3 ++-
4 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/cmd/Kconfig b/cmd/Kconfig
index c71c6824a19..8ff14adffe1 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -2289,6 +2289,7 @@ config CMD_WGET
config WGET_HTTPS
bool "wget https"
+ default y
depends on CMD_WGET
depends on PROT_TCP_LWIP
depends on MBEDTLS_LIB
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 4cb13ae7c8a..20733429962 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -609,6 +609,7 @@ config EFI_BOOTMGR
config EFI_HTTP_BOOT
bool "EFI HTTP Boot support"
+ default y
depends on NET
depends on CMDLINE
select CMD_NET
diff --git a/lib/mbedtls/Kconfig b/lib/mbedtls/Kconfig
index 789721ee6cd..7a241c2bc26 100644
--- a/lib/mbedtls/Kconfig
+++ b/lib/mbedtls/Kconfig
@@ -2,7 +2,7 @@
choice
prompt "Crypto libraries (U-Boot Proper)"
- default LEGACY_HASHING_AND_CRYPTO
+ default MBEDTLS_LIB
help
Select crypto libraries.
LEGACY_HASHING_AND_CRYPTO for legacy crypto libraries,
@@ -15,6 +15,7 @@ config LEGACY_HASHING_AND_CRYPTO
config MBEDTLS_LIB
bool "MbedTLS libraries"
+ default y
select MBEDTLS_LIB_X509
endchoice
diff --git a/net/Kconfig b/net/Kconfig
index e712a0dd2ac..3158d37dff7 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -16,7 +16,7 @@ if NET
choice
prompt "Networking stack"
- default NET_LEGACY
+ default NET_LWIP
config NET_LEGACY
bool "Legacy U-Boot networking stack"
@@ -27,6 +27,7 @@ config NET_LEGACY
config NET_LWIP
bool "Use lwIP for networking stack"
+ default y
select NETDEVICES
help
Include networking support based on the lwIP (lightweight IP)
--
2.54.0

View file

@ -1,6 +1,6 @@
From 56a985cec8592a8de88e7f254df82f5d444a5ecc Mon Sep 17 00:00:00 2001
From 750754448f9c196888352b636269c2455dcd2ecf Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Thu, 28 May 2026 22:08:07 +0100
Date: Mon, 16 Jun 2025 11:41:16 +0100
Subject: [PATCH] initial find_fdt_location for finding the DT on disk
The old distro boot looked for a DT on the first boot partition
@ -16,16 +16,29 @@ so that devices will continue to work as they did previously.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
cmd/bootefi.c | 1 +
cmd/bootmenu.c | 5 ++
include/efi_loader.h | 2 +
lib/efi_loader/efi_helper.c | 106 +++++++++++++++++++++++++++++++++++-
3 files changed, 112 insertions(+), 1 deletion(-)
lib/efi_loader/efi_helper.c | 104 ++++++++++++++++++++++++++++++++++++
4 files changed, 112 insertions(+)
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 8e8752127ed..347f5573bf0 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -147,6 +147,7 @@ static int do_bootefi(struct cmd_tbl *cmdtp, int flag, int argc,
if (argc > 2) {
uintptr_t fdt_addr;
+ /* Do we need to run find_fdt_location here?*/
fdt_addr = hextoul(argv[2], NULL);
fdt = map_sysmem(fdt_addr, 0);
} else {
diff --git a/cmd/bootmenu.c b/cmd/bootmenu.c
index 528afd221d0..a10ea35a687 100644
index a5c979079f4..8b3cb54f324 100644
--- a/cmd/bootmenu.c
+++ b/cmd/bootmenu.c
@@ -502,6 +502,11 @@ static void handle_uefi_bootnext(void)
@@ -467,6 +467,11 @@ static void handle_uefi_bootnext(void)
u16 bootnext;
efi_status_t ret;
efi_uintn_t size;
@ -38,10 +51,10 @@ index 528afd221d0..a10ea35a687 100644
/* Initialize EFI drivers */
ret = efi_init_obj_list();
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 3a4d502631c..b11f8a2cb42 100644
index b3beda5de7b..5d00141f76f 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -574,6 +574,8 @@ struct efi_register_notify_event {
@@ -572,6 +572,8 @@ struct efi_register_notify_event {
struct list_head handles;
};
@ -51,7 +64,7 @@ index 3a4d502631c..b11f8a2cb42 100644
int efi_init_early(void);
/* Initialize efi execution environment */
diff --git a/lib/efi_loader/efi_helper.c b/lib/efi_loader/efi_helper.c
index 44b806aadc4..61e982091b9 100644
index 44b806aadc4..3340c710171 100644
--- a/lib/efi_loader/efi_helper.c
+++ b/lib/efi_loader/efi_helper.c
@@ -15,6 +15,7 @@
@ -169,22 +182,21 @@ index 44b806aadc4..61e982091b9 100644
+ /* Check if there is device tree loaded from disk */
+ fdt_opt = find_fdt_location();
+ if (fdt_opt)
+ log_info("Found DTB on disk\n");
+
+ log_debug("Found DTB on disk\n");
/* Check if there is a hardware device tree */
- fdt_opt = env_get("fdt_addr");
+ if (!fdt_opt) {
+ fdt_opt = env_get("fdt_addr");
+ if (fdt_opt)
+ log_info("Found DTB: Prior firmware\n");
+ }
fdt_opt = env_get("fdt_addr");
/* Use our own device tree as fallback */
if (!fdt_opt) {
fdt_opt = env_get("fdtcontroladdr");
+ log_info("Using DT from U-Boot\n");
+ log_debug("Using DT from U-Boot\n");
if (!fdt_opt) {
log_err("need device tree\n");
return EFI_NOT_FOUND;
--
2.54.0
2.49.0

View file

@ -1 +0,0 @@
qemu-x86_64