Compare commits
No commits in common. "rawhide" and "f37" have entirely different histories.
30 changed files with 2672 additions and 3296 deletions
|
|
@ -0,0 +1,92 @@
|
|||
From 17096f20920205200b88d6d8facdbef0d3d3d3e8 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sun, 4 Sep 2022 22:22:50 +0100
|
||||
Subject: [PATCH] Revert "power: pmic: rk8xx: Support sysreset shutdown method"
|
||||
|
||||
This reverts commit ad607512f5757f4485968efd5bcf2c0245a8a235.
|
||||
---
|
||||
drivers/power/pmic/rk8xx.c | 50 +-------------------------------------
|
||||
1 file changed, 1 insertion(+), 49 deletions(-)
|
||||
|
||||
diff --git a/drivers/power/pmic/rk8xx.c b/drivers/power/pmic/rk8xx.c
|
||||
index 25ef621f8df..8d703112c38 100644
|
||||
--- a/drivers/power/pmic/rk8xx.c
|
||||
+++ b/drivers/power/pmic/rk8xx.c
|
||||
@@ -6,50 +6,10 @@
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
-#include <dm/lists.h>
|
||||
#include <errno.h>
|
||||
#include <log.h>
|
||||
#include <power/rk8xx_pmic.h>
|
||||
#include <power/pmic.h>
|
||||
-#include <sysreset.h>
|
||||
-
|
||||
-static int rk8xx_sysreset_request(struct udevice *dev, enum sysreset_t type)
|
||||
-{
|
||||
- struct rk8xx_priv *priv = dev_get_priv(dev->parent);
|
||||
-
|
||||
- if (type != SYSRESET_POWER_OFF)
|
||||
- return -EPROTONOSUPPORT;
|
||||
-
|
||||
- switch (priv->variant) {
|
||||
- case RK805_ID:
|
||||
- case RK808_ID:
|
||||
- case RK816_ID:
|
||||
- case RK818_ID:
|
||||
- pmic_clrsetbits(dev->parent, REG_DEVCTRL, 0, BIT(0));
|
||||
- break;
|
||||
- case RK809_ID:
|
||||
- case RK817_ID:
|
||||
- pmic_clrsetbits(dev->parent, RK817_REG_SYS_CFG3, 0,
|
||||
- BIT(0));
|
||||
- break;
|
||||
- default:
|
||||
- printf("Unknown PMIC RK%x: Cannot shutdown\n",
|
||||
- priv->variant);
|
||||
- return -EPROTONOSUPPORT;
|
||||
- };
|
||||
-
|
||||
- return -EINPROGRESS;
|
||||
-}
|
||||
-
|
||||
-static struct sysreset_ops rk8xx_sysreset_ops = {
|
||||
- .request = rk8xx_sysreset_request,
|
||||
-};
|
||||
-
|
||||
-U_BOOT_DRIVER(rk8xx_sysreset) = {
|
||||
- .name = "rk8xx_sysreset",
|
||||
- .id = UCLASS_SYSRESET,
|
||||
- .ops = &rk8xx_sysreset_ops,
|
||||
-};
|
||||
|
||||
/* In the event of a plug-in and the appropriate option has been
|
||||
* selected, we simply shutdown instead of continue the normal boot
|
||||
@@ -133,7 +93,7 @@ static int rk8xx_read(struct udevice *dev, uint reg, uint8_t *buff, int len)
|
||||
static int rk8xx_bind(struct udevice *dev)
|
||||
{
|
||||
ofnode regulators_node;
|
||||
- int children, ret;
|
||||
+ int children;
|
||||
|
||||
regulators_node = dev_read_subnode(dev, "regulators");
|
||||
if (!ofnode_valid(regulators_node)) {
|
||||
@@ -144,14 +104,6 @@ static int rk8xx_bind(struct udevice *dev)
|
||||
|
||||
debug("%s: '%s' - found regulators subnode\n", __func__, dev->name);
|
||||
|
||||
- if (CONFIG_IS_ENABLED(SYSRESET)) {
|
||||
- ret = device_bind_driver_to_node(dev, "rk8xx_sysreset",
|
||||
- "rk8xx_sysreset",
|
||||
- dev_ofnode(dev), NULL);
|
||||
- if (ret)
|
||||
- return ret;
|
||||
- }
|
||||
-
|
||||
children = pmic_bind_children(dev, regulators_node, pmic_children_info);
|
||||
if (!children)
|
||||
debug("%s: %s - no child found\n", __func__, dev->name);
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -1,717 +0,0 @@
|
|||
From patchwork Wed Feb 26 18:44:44 2025
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
X-Patchwork-Id: 2052544
|
||||
X-Patchwork-Delegate: marek.vasut@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=collabora.com header.i=@collabora.com
|
||||
header.a=rsa-sha256 header.s=mail header.b=IthL1Z+m;
|
||||
dkim-atps=neutral
|
||||
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 server-signature ECDSA (secp384r1))
|
||||
(No client certificate requested)
|
||||
by legolas.ozlabs.org (Postfix) with ESMTPS id 4Z33M03Hhjz1yCp
|
||||
for <incoming@patchwork.ozlabs.org>; Thu, 27 Feb 2025 05:45:32 +1100 (AEDT)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id BFF7680FF0;
|
||||
Wed, 26 Feb 2025 19:45:16 +0100 (CET)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=collabora.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=collabora.com header.i=@collabora.com
|
||||
header.b="IthL1Z+m";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id 7614F810F9; Wed, 26 Feb 2025 19:45:13 +0100 (CET)
|
||||
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,RCVD_IN_DNSWL_BLOCKED,
|
||||
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from bali.collaboradmins.com (bali.collaboradmins.com
|
||||
[IPv6:2a01:4f8:201:9162::2])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by phobos.denx.de (Postfix) with ESMTPS id 2173180FDE
|
||||
for <u-boot@lists.denx.de>; Wed, 26 Feb 2025 19:45:08 +0100 (CET)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=collabora.com
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=sebastian.reichel@collabora.com
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
|
||||
s=mail; t=1740595507;
|
||||
bh=Fnp6a8opSCXiH5NJdu5uivbBBZF3pe1CXyluh8+n8/c=;
|
||||
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
|
||||
b=IthL1Z+mDeIRy9MWEa0lGyJWuHk/Pu+yUpLly7RG6NIpC0lCgla3ssiy2x+8/G+bz
|
||||
DWjrKUMxgWtqfjfffRiKEJZ6Z2sAXJ1ePvDmMtbGoolWSrzsV2+cWh0byYrEBuVBe9
|
||||
Vp0ye7gJ4Wt610s4QHa4xoYcm7h9KGmE3IEjb+XYFv1HMJIOoACl04BwkLctza1KBr
|
||||
XlIqC+snvRP/yQxa2+6RYGXgQD5JnJxCM1orXVIJxyyJxTzb3XgNir60Gb4HI9724H
|
||||
LDZy0Hq7NQ1zF0h1yVUOklDotw17isbNoI4K3JCExR+r7GsdESsGY6cwAbZY71iWlf
|
||||
OsSSrV6TZtAMg==
|
||||
Received: from jupiter.universe (dyndsl-091-249-076-032.ewe-ip-backbone.de
|
||||
[91.249.76.32])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
||||
key-exchange X25519 server-signature RSA-PSS (4096 bits))
|
||||
(No client certificate requested) (Authenticated sender: sre)
|
||||
by bali.collaboradmins.com (Postfix) with ESMTPSA id A18CC17E0881;
|
||||
Wed, 26 Feb 2025 19:45:07 +0100 (CET)
|
||||
Received: by jupiter.universe (Postfix, from userid 1000)
|
||||
id 32E35480034; Wed, 26 Feb 2025 19:45:07 +0100 (CET)
|
||||
From: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
To: Marek Vasut <marex@denx.de>, u-boot@lists.denx.de,
|
||||
Jonas Karlman <jonas@kwiboo.se>, Soeren Moch <smoch@web.de>
|
||||
Cc: Tim Harvey <tharvey@gateworks.com>,
|
||||
Philipp Tomsich <philipp.tomsich@vrull.eu>,
|
||||
Anand Moon <linux.amoon@gmail.com>, Maxim Kiselev <bigunclemax@gmail.com>,
|
||||
Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
Subject: [PATCH v2 1/4] usb: tcpm: improve handling of some power-supplies
|
||||
Date: Wed, 26 Feb 2025 19:44:44 +0100
|
||||
Message-ID: <20250226184506.64114-2-sebastian.reichel@collabora.com>
|
||||
X-Mailer: git-send-email 2.47.2
|
||||
In-Reply-To: <20250226184506.64114-1-sebastian.reichel@collabora.com>
|
||||
References: <20250226184506.64114-1-sebastian.reichel@collabora.com>
|
||||
MIME-Version: 1.0
|
||||
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
|
||||
|
||||
When the Rock 5B is booted with the current TCPM with its power supplied
|
||||
by a "Cambrionix PDSync-C4" port it reaches the power-supply ready state.
|
||||
Once that has happened the hub starts sending GetSinkCap messages, but
|
||||
U-Boot already stopped processing PD messages. After retrying a bunch of
|
||||
times the hub instead sends soft resets. Since U-Boot will also not
|
||||
react to them, the USB hub will follow-up with a hard reset and that
|
||||
cuts off the supply voltage.
|
||||
|
||||
Since the state machine is already prepared to handle GetSinkCap
|
||||
messages, try to avoid this by handling incoming messages for another
|
||||
50ms after reaching the ready state.
|
||||
|
||||
Fixes: 1db4c0ac77e3 ("usb: tcpm: add core framework")
|
||||
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
---
|
||||
drivers/usb/tcpm/tcpm.c | 31 ++++++++++++++++++++++++++-----
|
||||
1 file changed, 26 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/tcpm/tcpm.c b/drivers/usb/tcpm/tcpm.c
|
||||
index 0aee57cb2f4a..b754b4dcd0b5 100644
|
||||
--- a/drivers/usb/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/tcpm/tcpm.c
|
||||
@@ -2229,6 +2229,17 @@ static int tcpm_port_init(struct udevice *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static inline void tcpm_poll_one_event(struct udevice *dev)
|
||||
+{
|
||||
+ const struct dm_tcpm_ops *drvops = dev_get_driver_ops(dev);
|
||||
+ struct tcpm_port *port = dev_get_uclass_plat(dev);
|
||||
+
|
||||
+ drvops->poll_event(dev);
|
||||
+ port->poll_event_cnt++;
|
||||
+ udelay(500);
|
||||
+ tcpm_check_and_run_delayed_work(dev);
|
||||
+}
|
||||
+
|
||||
static void tcpm_poll_event(struct udevice *dev)
|
||||
{
|
||||
const struct dm_tcpm_ops *drvops = dev_get_driver_ops(dev);
|
||||
@@ -2242,15 +2253,25 @@ static void tcpm_poll_event(struct udevice *dev)
|
||||
(port->state == SNK_READY || port->state == SRC_READY))
|
||||
break;
|
||||
|
||||
- drvops->poll_event(dev);
|
||||
- port->poll_event_cnt++;
|
||||
- udelay(500);
|
||||
- tcpm_check_and_run_delayed_work(dev);
|
||||
+ tcpm_poll_one_event(dev);
|
||||
}
|
||||
|
||||
- if (port->state != SNK_READY && port->state != SRC_READY)
|
||||
+ /*
|
||||
+ * Some power-supplies send GetSinkCap shortly after they are ready.
|
||||
+ * If they do not receive a response after a few retries they will issue
|
||||
+ * a soft-reset followed by a hard reset, which kills the board power.
|
||||
+ * Let's poll for 50ms after reaching the ready state to check if the
|
||||
+ * power-supply wants something from us.
|
||||
+ */
|
||||
+ if (port->state == SNK_READY) {
|
||||
+ port->poll_event_cnt = 0;
|
||||
+
|
||||
+ while (port->poll_event_cnt < 100)
|
||||
+ tcpm_poll_one_event(dev);
|
||||
+ } else {
|
||||
dev_warn(dev, "TCPM: exit in state %s\n",
|
||||
tcpm_states[port->state]);
|
||||
+ }
|
||||
|
||||
/*
|
||||
* At this time, call the callback function of the respective pd chip
|
||||
|
||||
From patchwork Wed Feb 26 18:44:45 2025
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
X-Patchwork-Id: 2052546
|
||||
X-Patchwork-Delegate: marek.vasut@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=collabora.com header.i=@collabora.com
|
||||
header.a=rsa-sha256 header.s=mail header.b=hgX6o5vZ;
|
||||
dkim-atps=neutral
|
||||
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 server-signature ECDSA (secp384r1))
|
||||
(No client certificate requested)
|
||||
by legolas.ozlabs.org (Postfix) with ESMTPS id 4Z33MJ5sFGz1yCp
|
||||
for <incoming@patchwork.ozlabs.org>; Thu, 27 Feb 2025 05:45:48 +1100 (AEDT)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id 69A29811C5;
|
||||
Wed, 26 Feb 2025 19:45:17 +0100 (CET)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=collabora.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=collabora.com header.i=@collabora.com
|
||||
header.b="hgX6o5vZ";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id 832B180FB9; Wed, 26 Feb 2025 19:45:14 +0100 (CET)
|
||||
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,RCVD_IN_DNSWL_BLOCKED,
|
||||
RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,
|
||||
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from bali.collaboradmins.com (bali.collaboradmins.com
|
||||
[148.251.105.195])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by phobos.denx.de (Postfix) with ESMTPS id 2178380FF0
|
||||
for <u-boot@lists.denx.de>; Wed, 26 Feb 2025 19:45:08 +0100 (CET)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=collabora.com
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=sebastian.reichel@collabora.com
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
|
||||
s=mail; t=1740595507;
|
||||
bh=H/gQCZCWVmLNRIaBLvWsE35SaDMWvta2+rTkymkHQJE=;
|
||||
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
|
||||
b=hgX6o5vZwM72CR2hgo76tgo2eE00qHM7oNja381ACl8gIUUVioy8RTeqXtum89tBf
|
||||
aIwKm/oNQNvGxy92pX5/1Jg/MwYZKS8jDukz6ZgsLKu22rJXf58FFoV095AcEkUMB2
|
||||
lrO4KJgFW/x1FK8GmSVSXXH+iUYJLkzsfZKgHKoQYHZcVXJRgFjHR5ytGKsA/fq4el
|
||||
7Wrx3lmLNjL7fYlDF5AyY+Wl6hqzjDq58nFedXHv8TEHx6fzfB0IBzOL/F8bGqVcyy
|
||||
lal7bjJvMPoA9zfgIC77R1neWktg5FSro75YciSRSj9lmMNCmESnSPCgsZ4wBW0V6f
|
||||
ppD77gOtjDfLQ==
|
||||
Received: from jupiter.universe (dyndsl-091-249-076-032.ewe-ip-backbone.de
|
||||
[91.249.76.32])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
||||
key-exchange X25519 server-signature RSA-PSS (4096 bits))
|
||||
(No client certificate requested) (Authenticated sender: sre)
|
||||
by bali.collaboradmins.com (Postfix) with ESMTPSA id 9725D17E087F;
|
||||
Wed, 26 Feb 2025 19:45:07 +0100 (CET)
|
||||
Received: by jupiter.universe (Postfix, from userid 1000)
|
||||
id 34511480037; Wed, 26 Feb 2025 19:45:07 +0100 (CET)
|
||||
From: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
To: Marek Vasut <marex@denx.de>, u-boot@lists.denx.de,
|
||||
Jonas Karlman <jonas@kwiboo.se>, Soeren Moch <smoch@web.de>
|
||||
Cc: Tim Harvey <tharvey@gateworks.com>,
|
||||
Philipp Tomsich <philipp.tomsich@vrull.eu>,
|
||||
Anand Moon <linux.amoon@gmail.com>, Maxim Kiselev <bigunclemax@gmail.com>,
|
||||
Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
Subject: [PATCH v2 2/4] usb: tcpm: avoid resets for missing source capability
|
||||
messages
|
||||
Date: Wed, 26 Feb 2025 19:44:45 +0100
|
||||
Message-ID: <20250226184506.64114-3-sebastian.reichel@collabora.com>
|
||||
X-Mailer: git-send-email 2.47.2
|
||||
In-Reply-To: <20250226184506.64114-1-sebastian.reichel@collabora.com>
|
||||
References: <20250226184506.64114-1-sebastian.reichel@collabora.com>
|
||||
MIME-Version: 1.0
|
||||
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
|
||||
|
||||
The current TCPM code implements source capability message handling
|
||||
according to the USB-PD specification. Unfortunately some USB PD
|
||||
sources do not properly follow the specification and do not send
|
||||
source capability messages after a soft reset when they already
|
||||
negotiated a specific contract before. The currently implemented way
|
||||
(and what is described in the specificiation) to resolve this problem
|
||||
is triggering a hard reset.
|
||||
|
||||
But a hard reset is fatal on batteryless platforms powered via USB-C PD,
|
||||
since that removes VBUS for some time. Since this is triggered at boot
|
||||
time, the system may get stuck in a boot loop.
|
||||
|
||||
For example I noticed the following behaviour on a Radxa Rock 5B
|
||||
combined with an affected power-supply:
|
||||
|
||||
1. The system is booted up with current code
|
||||
2. A reboot is requested
|
||||
3. U-Boot TCPM / fusb302 driver sends soft reset and waits for the
|
||||
source capability message
|
||||
4. No new source capability message is send by the power-supply
|
||||
after the soft reset
|
||||
5. U-Boot sends a hard reset
|
||||
6. The board resets, but the fusb302 registers are not reset. This
|
||||
is because of a hardware glitch. The serial pins are high when
|
||||
no data is exchanged. Apparently the RK3588 has protection diodes,
|
||||
which leak some voltage into the power-domain. The Rock 5B serial
|
||||
pins and the fusb302 are using the same 3.3V power domain and the
|
||||
leaked voltage is enough to keep the fusb302 registers alive.
|
||||
7. After the hard reset the power-supply sends another source capability
|
||||
message, which is auto-acked by fusb302 (because the register state
|
||||
is kept) even though the U-Boot driver has not yet probed. Once the
|
||||
U-Boot driver probes it sends another soft reset and waits for a new
|
||||
source capability message, which never arrives.
|
||||
|
||||
Fortunately the affected power-supplies (I have two setups showing this
|
||||
behaviour) support sending a source capability message when explicitly
|
||||
being asked. Thus an easy workaround to handle this is deviating from
|
||||
the USB-PD specification and sending a Get_Source_Cap message and
|
||||
waiting some time longer before doing the hard reset.
|
||||
|
||||
Note, that I recently added the same workaround to the Linux kernel
|
||||
with a slightly different rationale (since it needs to take over from
|
||||
U-Boot).
|
||||
|
||||
Fixes: 1db4c0ac77e3 ("usb: tcpm: add core framework")
|
||||
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
---
|
||||
drivers/usb/tcpm/tcpm-internal.h | 1 +
|
||||
drivers/usb/tcpm/tcpm.c | 32 +++++++++++++++++++++++++++++---
|
||||
2 files changed, 30 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/tcpm/tcpm-internal.h b/drivers/usb/tcpm/tcpm-internal.h
|
||||
index 561442090027..4861f4d13866 100644
|
||||
--- a/drivers/usb/tcpm/tcpm-internal.h
|
||||
+++ b/drivers/usb/tcpm/tcpm-internal.h
|
||||
@@ -30,6 +30,7 @@
|
||||
S(SNK_DISCOVERY_DEBOUNCE), \
|
||||
S(SNK_DISCOVERY_DEBOUNCE_DONE), \
|
||||
S(SNK_WAIT_CAPABILITIES), \
|
||||
+ S(SNK_WAIT_CAPABILITIES_TIMEOUT), \
|
||||
S(SNK_NEGOTIATE_CAPABILITIES), \
|
||||
S(SNK_TRANSITION_SINK), \
|
||||
S(SNK_TRANSITION_SINK_VBUS), \
|
||||
diff --git a/drivers/usb/tcpm/tcpm.c b/drivers/usb/tcpm/tcpm.c
|
||||
index b754b4dcd0b5..786d92fa4c6f 100644
|
||||
--- a/drivers/usb/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/tcpm/tcpm.c
|
||||
@@ -1424,7 +1424,8 @@ static inline enum tcpm_state hard_reset_state(struct tcpm_port *port)
|
||||
return ERROR_RECOVERY;
|
||||
if (port->pwr_role == TYPEC_SOURCE)
|
||||
return SRC_UNATTACHED;
|
||||
- if (port->state == SNK_WAIT_CAPABILITIES)
|
||||
+ if (port->state == SNK_WAIT_CAPABILITIES ||
|
||||
+ port->state == SNK_WAIT_CAPABILITIES_TIMEOUT)
|
||||
return SNK_READY;
|
||||
return SNK_UNATTACHED;
|
||||
}
|
||||
@@ -1650,10 +1651,35 @@ static void run_state_machine(struct udevice *dev)
|
||||
tcpm_set_state(dev, SOFT_RESET_SEND,
|
||||
PD_T_SINK_WAIT_CAP);
|
||||
} else {
|
||||
- tcpm_set_state(dev, hard_reset_state(port),
|
||||
- PD_T_SINK_WAIT_CAP);
|
||||
+ if (!port->self_powered)
|
||||
+ tcpm_set_state(dev, SNK_WAIT_CAPABILITIES_TIMEOUT,
|
||||
+ PD_T_SINK_WAIT_CAP);
|
||||
+ else
|
||||
+ tcpm_set_state(dev, hard_reset_state(port),
|
||||
+ PD_T_SINK_WAIT_CAP);
|
||||
}
|
||||
break;
|
||||
+ case SNK_WAIT_CAPABILITIES_TIMEOUT:
|
||||
+ /*
|
||||
+ * There are some USB PD sources in the field, which do not
|
||||
+ * properly implement the specification and fail to start
|
||||
+ * sending Source Capability messages after a soft reset. The
|
||||
+ * specification suggests to do a hard reset when no Source
|
||||
+ * capability message is received within PD_T_SINK_WAIT_CAP,
|
||||
+ * but that might effectively kil the machine's power source.
|
||||
+ *
|
||||
+ * This slightly diverges from the specification and tries to
|
||||
+ * recover from this by explicitly asking for the capabilities
|
||||
+ * using the Get_Source_Cap control message before falling back
|
||||
+ * to a hard reset. The control message should also be supported
|
||||
+ * and handled by all USB PD source and dual role devices
|
||||
+ * according to the specification.
|
||||
+ */
|
||||
+ if (tcpm_pd_send_control(dev, PD_CTRL_GET_SOURCE_CAP))
|
||||
+ tcpm_set_state_cond(dev, hard_reset_state(port), 0);
|
||||
+ else
|
||||
+ tcpm_set_state(dev, hard_reset_state(port), PD_T_SINK_WAIT_CAP);
|
||||
+ break;
|
||||
case SNK_NEGOTIATE_CAPABILITIES:
|
||||
port->pd_capable = true;
|
||||
port->hard_reset_count = 0;
|
||||
|
||||
From patchwork Wed Feb 26 18:44:46 2025
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
X-Patchwork-Id: 2052545
|
||||
X-Patchwork-Delegate: marek.vasut@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=collabora.com header.i=@collabora.com
|
||||
header.a=rsa-sha256 header.s=mail header.b=BxTv7Lfo;
|
||||
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) server-digest SHA384)
|
||||
(No client certificate requested)
|
||||
by legolas.ozlabs.org (Postfix) with ESMTPS id 4Z33M971h7z1yCp
|
||||
for <incoming@patchwork.ozlabs.org>; Thu, 27 Feb 2025 05:45:41 +1100 (AEDT)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id 1B09C8118B;
|
||||
Wed, 26 Feb 2025 19:45:17 +0100 (CET)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=collabora.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=collabora.com header.i=@collabora.com
|
||||
header.b="BxTv7Lfo";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id 4399E810F9; Wed, 26 Feb 2025 19:45:14 +0100 (CET)
|
||||
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,RCVD_IN_DNSWL_BLOCKED,
|
||||
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from bali.collaboradmins.com (bali.collaboradmins.com
|
||||
[IPv6:2a01:4f8:201:9162::2])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by phobos.denx.de (Postfix) with ESMTPS id 2163F80FB9
|
||||
for <u-boot@lists.denx.de>; Wed, 26 Feb 2025 19:45:08 +0100 (CET)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=collabora.com
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=sebastian.reichel@collabora.com
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
|
||||
s=mail; t=1740595507;
|
||||
bh=7OaDpd2idE5ETWAiOZte0kuOU6ZYitEVWkDgDmqaQU8=;
|
||||
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
|
||||
b=BxTv7LfoAae43YSXPquVPmmwStgQirXCxaSBD0fo554R5O/si/Iif5L+zXXJocATJ
|
||||
z7+I7ZKbknkTeVyzoRDCXvXIVz2bFdTRWQN4Z2iwJbVI1covAv/Gn4wIE2Q6hbNKbU
|
||||
qV5AKg7gvrKkbztbo7N9bHNjkrlAbd8B4Ew3SR8FM46DMAOwNzVsoX3rLMcPtlWzHj
|
||||
4OBKCx22H/4ASIWjMbYoDE09DyQ+CPOf8JcX8OPwFcH9j6vW6cEWvyjiAyDj6LnwOq
|
||||
KD+ZYVIkWhkIzAkE2NHB2IpA4xlxW8i18BJzNBD8N1eBx/HCgb0camb4KanY1Hta/d
|
||||
4ipLyuFaCkMog==
|
||||
Received: from jupiter.universe (dyndsl-091-249-076-032.ewe-ip-backbone.de
|
||||
[91.249.76.32])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
||||
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
||||
SHA256)
|
||||
(No client certificate requested) (Authenticated sender: sre)
|
||||
by bali.collaboradmins.com (Postfix) with ESMTPSA id 816AA17E0861;
|
||||
Wed, 26 Feb 2025 19:45:07 +0100 (CET)
|
||||
Received: by jupiter.universe (Postfix, from userid 1000)
|
||||
id 361F2480038; Wed, 26 Feb 2025 19:45:07 +0100 (CET)
|
||||
From: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
To: Marek Vasut <marex@denx.de>, u-boot@lists.denx.de,
|
||||
Jonas Karlman <jonas@kwiboo.se>, Soeren Moch <smoch@web.de>
|
||||
Cc: Tim Harvey <tharvey@gateworks.com>,
|
||||
Philipp Tomsich <philipp.tomsich@vrull.eu>,
|
||||
Anand Moon <linux.amoon@gmail.com>, Maxim Kiselev <bigunclemax@gmail.com>,
|
||||
Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
Subject: [PATCH v2 3/4] usb: tcpm: print error on hard reset
|
||||
Date: Wed, 26 Feb 2025 19:44:46 +0100
|
||||
Message-ID: <20250226184506.64114-4-sebastian.reichel@collabora.com>
|
||||
X-Mailer: git-send-email 2.47.2
|
||||
In-Reply-To: <20250226184506.64114-1-sebastian.reichel@collabora.com>
|
||||
References: <20250226184506.64114-1-sebastian.reichel@collabora.com>
|
||||
MIME-Version: 1.0
|
||||
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
|
||||
|
||||
A USB-PD hard reset involves removing the voltage from VBUS for some
|
||||
time. So basically it has the same effect as removing the USB-C plug
|
||||
for a short moment. If the machine is powered from the USB-C port and
|
||||
does not have a fallback supply (e.g. a battery), this will result in
|
||||
a full machine reset due to power loss.
|
||||
|
||||
Ideally we want to avoid triggering a hard reset on these boards. A
|
||||
non-working USB-C port is probably better than unplanned reboots. But
|
||||
boards with a backup supply should do the hard reset to get everything
|
||||
working again.
|
||||
|
||||
In theory it would be enough to check the self_powered property, but
|
||||
it seems the property might not be configured consistently enough in
|
||||
system firmwares.
|
||||
|
||||
USB-PD hard resets should happen rarely in general, so let's at least
|
||||
print an error message before the potential board reset happens. This
|
||||
is also useful, since it immediately gives away which device triggered
|
||||
the hard reset.
|
||||
|
||||
Fixes: 1db4c0ac77e3 ("usb: tcpm: add core framework")
|
||||
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
---
|
||||
drivers/usb/tcpm/tcpm.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/tcpm/tcpm.c b/drivers/usb/tcpm/tcpm.c
|
||||
index 786d92fa4c6f..909fe2ef4fcb 100644
|
||||
--- a/drivers/usb/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/tcpm/tcpm.c
|
||||
@@ -1711,6 +1711,8 @@ static void run_state_machine(struct udevice *dev)
|
||||
|
||||
/* Hard_Reset states */
|
||||
case HARD_RESET_SEND:
|
||||
+ if (!port->self_powered && port->port_type == TYPEC_PORT_SNK)
|
||||
+ dev_err(dev, "Initiating hard-reset, which might result in machine power-loss.\n");
|
||||
tcpm_pd_transmit(dev, TCPC_TX_HARD_RESET, NULL);
|
||||
tcpm_set_state(dev, HARD_RESET_START, 0);
|
||||
port->wait_dr_swap_message = false;
|
||||
|
||||
From patchwork Wed Feb 26 18:44:47 2025
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
X-Patchwork-Id: 2052542
|
||||
X-Patchwork-Delegate: marek.vasut@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=collabora.com header.i=@collabora.com
|
||||
header.a=rsa-sha256 header.s=mail header.b=K4mNmlOy;
|
||||
dkim-atps=neutral
|
||||
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 server-signature ECDSA (secp384r1))
|
||||
(No client certificate requested)
|
||||
by legolas.ozlabs.org (Postfix) with ESMTPS id 4Z33Lk40FPz1yCp
|
||||
for <incoming@patchwork.ozlabs.org>; Thu, 27 Feb 2025 05:45:18 +1100 (AEDT)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id DAFC780FF2;
|
||||
Wed, 26 Feb 2025 19:45:12 +0100 (CET)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=collabora.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=collabora.com header.i=@collabora.com
|
||||
header.b="K4mNmlOy";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id 56A22810F9; Wed, 26 Feb 2025 19:45:11 +0100 (CET)
|
||||
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,RCVD_IN_DNSWL_BLOCKED,
|
||||
SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from bali.collaboradmins.com (bali.collaboradmins.com
|
||||
[IPv6:2a01:4f8:201:9162::2])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by phobos.denx.de (Postfix) with ESMTPS id 217E080FF2
|
||||
for <u-boot@lists.denx.de>; Wed, 26 Feb 2025 19:45:08 +0100 (CET)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=collabora.com
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=sebastian.reichel@collabora.com
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
|
||||
s=mail; t=1740595507;
|
||||
bh=FeXZr6pfjIqGXvnsLHDigD702EmgVNH91IWVsD16udQ=;
|
||||
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
|
||||
b=K4mNmlOycXzLuJnNeDxyXLVCeZWNr//ycRqDt3ld9634ThDvJ0+y49X3z2nYW+fei
|
||||
HCqH2AoFiXj7khjiFpwCA4xOlYaTrF9yb0M9ApRxJ8vGuslNIK2k9osj8IJMoWmY8S
|
||||
fEez4H6Wso4VamCnXKCze2G5np5mhola5QxSnIJ2CXdFP9TM1x54P+XyeJMX6IZK0X
|
||||
lpZ0R8mACHGgXnkBASRMbo0CnLfSVrUgA83A0FHT7UgxfW8399wHol/FBakg5WS8nt
|
||||
47154TDW4ikoGF4dHBeD0KemJSR7I4F+nnUVQfgg8sXZKVm4yilBT+yx3WWBVCjQDl
|
||||
3igqfexnaUKnA==
|
||||
Received: from jupiter.universe (dyndsl-091-249-076-032.ewe-ip-backbone.de
|
||||
[91.249.76.32])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
|
||||
key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest
|
||||
SHA256)
|
||||
(No client certificate requested) (Authenticated sender: sre)
|
||||
by bali.collaboradmins.com (Postfix) with ESMTPSA id 7FBB317E065A;
|
||||
Wed, 26 Feb 2025 19:45:07 +0100 (CET)
|
||||
Received: by jupiter.universe (Postfix, from userid 1000)
|
||||
id 37B6A480039; Wed, 26 Feb 2025 19:45:07 +0100 (CET)
|
||||
From: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
To: Marek Vasut <marex@denx.de>, u-boot@lists.denx.de,
|
||||
Jonas Karlman <jonas@kwiboo.se>, Soeren Moch <smoch@web.de>
|
||||
Cc: Tim Harvey <tharvey@gateworks.com>,
|
||||
Philipp Tomsich <philipp.tomsich@vrull.eu>,
|
||||
Anand Moon <linux.amoon@gmail.com>, Maxim Kiselev <bigunclemax@gmail.com>,
|
||||
Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
Subject: [PATCH v2 4/4] usb: tcpm: improve data role mismatch error recovery
|
||||
Date: Wed, 26 Feb 2025 19:44:47 +0100
|
||||
Message-ID: <20250226184506.64114-5-sebastian.reichel@collabora.com>
|
||||
X-Mailer: git-send-email 2.47.2
|
||||
In-Reply-To: <20250226184506.64114-1-sebastian.reichel@collabora.com>
|
||||
References: <20250226184506.64114-1-sebastian.reichel@collabora.com>
|
||||
MIME-Version: 1.0
|
||||
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
|
||||
|
||||
On Radxa ROCK 5B I managed to get U-Boot into an endless loop of
|
||||
printing
|
||||
|
||||
fusb302 usb-typec@22: TCPM: data role mismatch, initiating error recovery
|
||||
|
||||
messages by changing the data role in Linux and then rebooting the
|
||||
system. This is happening because the external device (A cheap USB-C hub
|
||||
powered through a USB-C PD power-supply) kept its state and the error
|
||||
recovery path for non self-powered devices is not enough to change it.
|
||||
|
||||
Avoid this by swapping our own data role when the error recovery stage
|
||||
is reached for a port, which is not self-powered. Right now data support
|
||||
is limited anyways and once proper support is added we can use the data
|
||||
role swap request to get the desired data direction after the initial
|
||||
negotiation completed.
|
||||
|
||||
Fixes: 1db4c0ac77e3 ("usb: tcpm: add core framework")
|
||||
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
|
||||
---
|
||||
drivers/usb/tcpm/tcpm.c | 30 +++++++++++++++++++++++++++---
|
||||
1 file changed, 27 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/tcpm/tcpm.c b/drivers/usb/tcpm/tcpm.c
|
||||
index 909fe2ef4fcb..12d66d470f9a 100644
|
||||
--- a/drivers/usb/tcpm/tcpm.c
|
||||
+++ b/drivers/usb/tcpm/tcpm.c
|
||||
@@ -833,6 +833,28 @@ static void tcpm_pd_ctrl_request(struct udevice *dev,
|
||||
}
|
||||
}
|
||||
|
||||
+static void tcpm_recover_data_role_mismatch(struct udevice *dev)
|
||||
+{
|
||||
+ struct tcpm_port *port = dev_get_uclass_plat(dev);
|
||||
+
|
||||
+ dev_err(dev, "TCPM: data role mismatch, initiating error recovery\n");
|
||||
+ if (port->self_powered) {
|
||||
+ tcpm_set_state(dev, ERROR_RECOVERY, 0);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ /*
|
||||
+ * The error recovery will not help for devices, which are not
|
||||
+ * self-powered because the error recovery avoids killing the board
|
||||
+ * power. Since this can happen early on sending
|
||||
+ * a DR_SWAP request is not sensible. Instead let's change our own
|
||||
+ * data role. It can be swapped back once USB-PD reached the ready
|
||||
+ * state.
|
||||
+ */
|
||||
+ tcpm_set_roles(dev, true, port->pwr_role,
|
||||
+ port->data_role == TYPEC_HOST ? TYPEC_DEVICE : TYPEC_HOST);
|
||||
+}
|
||||
+
|
||||
static void tcpm_pd_rx_handler(struct udevice *dev,
|
||||
const struct pd_message *msg)
|
||||
{
|
||||
@@ -867,9 +889,11 @@ static void tcpm_pd_rx_handler(struct udevice *dev,
|
||||
remote_is_host = !!(le16_to_cpu(msg->header) & PD_HEADER_DATA_ROLE);
|
||||
local_is_host = port->data_role == TYPEC_HOST;
|
||||
if (remote_is_host == local_is_host) {
|
||||
- dev_err(dev, "TCPM: data role mismatch, initiating error recovery\n");
|
||||
- tcpm_set_state(dev, ERROR_RECOVERY, 0);
|
||||
- } else {
|
||||
+ tcpm_recover_data_role_mismatch(dev);
|
||||
+ local_is_host = port->data_role == TYPEC_HOST;
|
||||
+ }
|
||||
+
|
||||
+ if (remote_is_host != local_is_host) {
|
||||
if (cnt)
|
||||
tcpm_pd_data_request(dev, msg);
|
||||
else
|
||||
|
|
@ -1,23 +1,18 @@
|
|||
a64-olinuxino
|
||||
a64-olinuxino-emmc
|
||||
amarula_a64_relic
|
||||
anbernic_rg35xx_h700
|
||||
apple_m1
|
||||
bananapi_m2_plus_h5
|
||||
bananapi_m64
|
||||
beelink_gs1
|
||||
dragonboard410c
|
||||
dragonboard820c
|
||||
eaidk-610-rk3399
|
||||
emlid_neutis_n5_devboard
|
||||
evb-px5
|
||||
dragonboard845c
|
||||
evb-rk3328
|
||||
evb-rk3399
|
||||
ficus-rk3399
|
||||
firefly-rk3399
|
||||
geekbox
|
||||
hikey
|
||||
hmibsc
|
||||
khadas-edge-captain-rk3399
|
||||
khadas-edge-rk3399
|
||||
khadas-edge-v-rk3399
|
||||
|
|
@ -43,64 +38,49 @@ nanopi_neo2
|
|||
nanopi-neo4-rk3399
|
||||
nanopi_neo_plus2
|
||||
nanopi_r1s_h5
|
||||
nanopi-r2c-plus-rk3328
|
||||
nanopi-r2c-rk3328
|
||||
nanopi-r2s-plus-rk3328
|
||||
nanopi-r2s-rk3328
|
||||
nanopi-r4s-rk3399
|
||||
oceanic_5205_5inmfd
|
||||
odroid-c2
|
||||
orangepi_3
|
||||
orangepi_lite2
|
||||
orangepi_one_plus
|
||||
orangepi_pc2
|
||||
orangepi_prime
|
||||
orangepi-r1-plus-lts-rk3328
|
||||
orangepi-r1-plus-rk3328
|
||||
orangepi-rk3399
|
||||
orangepi_win
|
||||
orangepi_zero2
|
||||
orangepi_zero2w
|
||||
orangepi_zero3
|
||||
orangepi_zero_plus
|
||||
orangepi_zero_plus2
|
||||
p212
|
||||
p2371-2180
|
||||
p2771-0000-500
|
||||
p3450-0000
|
||||
pine64-lts
|
||||
pine64_plus
|
||||
pinebook
|
||||
pinebook-pro-rk3399
|
||||
pine_h64
|
||||
pinephone
|
||||
pinephone-pro-rk3399
|
||||
pinetab
|
||||
poplar
|
||||
puma-rk3399
|
||||
qcm6490
|
||||
qcom
|
||||
qcom_qcs8300
|
||||
qcom_qcs9100
|
||||
qemu_arm64
|
||||
qemu_arm64_lwip
|
||||
roc-cc-rk3328
|
||||
rock-4c-plus-rk3399
|
||||
rock-4se-rk3399
|
||||
rock64-rk3328
|
||||
rock960-rk3399
|
||||
rock-pi-4c-rk3399
|
||||
rock-pi-4-rk3399
|
||||
rock-pi-e-rk3328
|
||||
rock-pi-e-v3-rk3328
|
||||
rock-pi-n10-rk3399pro
|
||||
rockpro64-rk3399
|
||||
roc-pc-mezzanine-rk3399
|
||||
roc-pc-rk3399
|
||||
rpi_3
|
||||
rpi_4
|
||||
rpi_arm64
|
||||
starqltechn
|
||||
sopine_baseboard
|
||||
tanix_tx6
|
||||
teres_i
|
||||
transpeed-8k618-t
|
||||
turris_mox
|
||||
vexpress_aemv8a_juno
|
||||
x96_mate
|
||||
xilinx_zynqmp_virt
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
From d9e3a49bc2a29922da5bddd95772279f6edba802 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Fri, 18 Aug 2023 13:28:05 +0100
|
||||
Subject: [PATCH] disable VBE by default
|
||||
|
||||
The VBE protocol needs explicit device support and as
|
||||
such isn't particularly useful by itself without that,
|
||||
it also adds size and the potential of an attack vector
|
||||
so devices that wish to use this protocol should
|
||||
explicitly opt in to it like all other large features
|
||||
in U-Boot.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
boot/Kconfig | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/boot/Kconfig b/boot/Kconfig
|
||||
index 30eb5b328d7..e8c3fbcb11d 100644
|
||||
--- a/boot/Kconfig
|
||||
+++ b/boot/Kconfig
|
||||
@@ -635,7 +635,6 @@ config BOOTMETH_QFW
|
||||
config BOOTMETH_VBE
|
||||
bool "Bootdev support for Verified Boot for Embedded"
|
||||
depends on FIT
|
||||
- default y
|
||||
select BOOTMETH_GLOBAL
|
||||
select EVENT
|
||||
help
|
||||
--
|
||||
2.49.0
|
||||
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
From a956480a6d52ae90ef4a46275c2ee29a4074de36 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Fri, 18 Aug 2023 23:10:42 +0100
|
||||
Subject: [PATCH] enable bootmenu by default
|
||||
|
||||
We want the boot menu on all Fedora devices as it makes
|
||||
it a whole lot more user friendly.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
boot/Kconfig | 2 ++
|
||||
cmd/Kconfig | 1 +
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/boot/Kconfig b/boot/Kconfig
|
||||
index 467b09e2350..ad67b1f65a6 100644
|
||||
--- a/boot/Kconfig
|
||||
+++ b/boot/Kconfig
|
||||
@@ -1281,6 +1281,7 @@ config BOOTDELAY
|
||||
|
||||
config AUTOBOOT_KEYED
|
||||
bool "Stop autobooting via specific input key / string"
|
||||
+ default y
|
||||
help
|
||||
This option enables stopping (aborting) of the automatic
|
||||
boot feature only by issuing a specific input key or
|
||||
@@ -1433,6 +1434,7 @@ config AUTOBOOT_MENUKEY
|
||||
|
||||
config AUTOBOOT_MENU_SHOW
|
||||
bool "Show a menu on boot"
|
||||
+ default y
|
||||
depends on CMD_BOOTMENU
|
||||
help
|
||||
This enables the boot menu, controlled by environment variables
|
||||
diff --git a/cmd/Kconfig b/cmd/Kconfig
|
||||
index 43ca10f69cc..3d39f2914cc 100644
|
||||
--- a/cmd/Kconfig
|
||||
+++ b/cmd/Kconfig
|
||||
@@ -413,6 +413,7 @@ source lib/efi_selftest/Kconfig
|
||||
|
||||
config CMD_BOOTMENU
|
||||
bool "bootmenu"
|
||||
+ default y
|
||||
select MENU
|
||||
select CHARSET
|
||||
help
|
||||
--
|
||||
2.41.0
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
qemu-riscv64_spl
|
||||
sifive_unleashed
|
||||
sifive_unmatched
|
||||
starfive_visionfive2
|
||||
886
rockchip-Add-initial-support-for-the-PinePhone-Pro.patch
Normal file
886
rockchip-Add-initial-support-for-the-PinePhone-Pro.patch
Normal file
|
|
@ -0,0 +1,886 @@
|
|||
From: Martijn Braam <martijn@brixit.nl>
|
||||
Subject: [PATCH] rockchip: Add initial support for the PinePhone Pro
|
||||
Date: Thu, 21 Oct 2021 19:18:43 +0200
|
||||
|
||||
This is a new device by PINE64 that's very similar to the Pinebook Pro
|
||||
that's already supported.
|
||||
|
||||
Specification:
|
||||
- Rockchip RK3399
|
||||
- 4GB Dual-Channel LPDDR4
|
||||
- 128GB eMMC
|
||||
- mSD card slot
|
||||
- AP6255 for 802.11ac WiFi and Bluetooth
|
||||
- 6 inch 720*1440 DSI display
|
||||
- Quectel EG25g usb modem
|
||||
- Type-C port with alt-mode display (DP 1.2) and PD charging.
|
||||
|
||||
Signed-off-by: Martijn Braam <martijn@brixit.nl>
|
||||
---
|
||||
|
||||
arch/arm/dts/Makefile | 1 +
|
||||
arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi | 44 ++
|
||||
arch/arm/dts/rk3399-pinephone-pro.dts | 520 ++++++++++++++++++
|
||||
arch/arm/mach-rockchip/rk3399/Kconfig | 8 +
|
||||
board/pine64/pinephone-pro-rk3399/Kconfig | 15 +
|
||||
board/pine64/pinephone-pro-rk3399/MAINTAINERS | 8 +
|
||||
board/pine64/pinephone-pro-rk3399/Makefile | 1 +
|
||||
.../pinephone-pro-rk3399.c | 57 ++
|
||||
configs/pinephone-pro-rk3399_defconfig | 92 ++++
|
||||
include/configs/pinephone-pro-rk3399.h | 23 +
|
||||
10 files changed, 769 insertions(+)
|
||||
create mode 100644 arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
|
||||
create mode 100644 arch/arm/dts/rk3399-pinephone-pro.dts
|
||||
create mode 100644 board/pine64/pinephone-pro-rk3399/Kconfig
|
||||
create mode 100644 board/pine64/pinephone-pro-rk3399/MAINTAINERS
|
||||
create mode 100644 board/pine64/pinephone-pro-rk3399/Makefile
|
||||
create mode 100644 board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
|
||||
create mode 100644 configs/pinephone-pro-rk3399_defconfig
|
||||
create mode 100644 include/configs/pinephone-pro-rk3399.h
|
||||
|
||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
||||
index ed3d360bb1..3206370226 100644
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -137,6 +137,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \
|
||||
rk3399-nanopi-r4s.dtb \
|
||||
rk3399-orangepi.dtb \
|
||||
rk3399-pinebook-pro.dtb \
|
||||
+ rk3399-pinephone-pro.dtb \
|
||||
rk3399-puma-haikou.dtb \
|
||||
rk3399-roc-pc.dtb \
|
||||
rk3399-roc-pc-mezzanine.dtb \
|
||||
diff --git a/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
|
||||
new file mode 100644
|
||||
index 0000000000..9d44db5978
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
|
||||
@@ -0,0 +1,44 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * Copyright (C) 2019 Peter Robinson <pbrobinson at gmail.com>
|
||||
+ * Copyright (C) 2021 Martijn Braam <martijn at brixit.nl>
|
||||
+ */
|
||||
+
|
||||
+#include "rk3399-u-boot.dtsi"
|
||||
+#include "rk3399-sdram-lpddr4-100.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ aliases {
|
||||
+ spi0 = &spi1;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc;
|
||||
+ };
|
||||
+
|
||||
+ config {
|
||||
+ u-boot,spl-payload-offset = <0x60000>; /* @ 384KB */
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+};
|
||||
+
|
||||
+&rk818 {
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+};
|
||||
+
|
||||
+&rng {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ max-frequency = <25000000>;
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+};
|
||||
+
|
||||
+&sdmmc {
|
||||
+ max-frequency = <20000000>;
|
||||
+ u-boot,dm-pre-reloc;
|
||||
+};
|
||||
diff --git a/arch/arm/dts/rk3399-pinephone-pro.dts b/arch/arm/dts/rk3399-pinephone-pro.dts
|
||||
new file mode 100644
|
||||
index 0000000000..3fe1845ced
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/rk3399-pinephone-pro.dts
|
||||
@@ -0,0 +1,520 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (c) 2021 Martijn Braam <martijn@brixit.nl>
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "rk3399.dtsi"
|
||||
+#include "rk3399-opp.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Pine64 PinePhone Pro";
|
||||
+ compatible = "pine64,pinephone-pro", "rockchip,rk3399";
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial2:1500000n8";
|
||||
+ };
|
||||
+
|
||||
+ sdio_pwrseq: sdio-pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ pinctrl-names = "default";
|
||||
+ };
|
||||
+
|
||||
+ /* Power tree */
|
||||
+ /* Root power source */
|
||||
+ vcc_sysin: vcc-sysin {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc_sysin";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ };
|
||||
+
|
||||
+ /* Main 3.3v supply */
|
||||
+ vcc3v3_sys: vcc3v3-sys {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3_sys";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ vin-supply = <&vcc_sysin>;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu_l0 {
|
||||
+ cpu-supply = <&vdd_cpu_l>;
|
||||
+};
|
||||
+
|
||||
+&cpu_l1 {
|
||||
+ cpu-supply = <&vdd_cpu_l>;
|
||||
+};
|
||||
+
|
||||
+&cpu_l2 {
|
||||
+ cpu-supply = <&vdd_cpu_l>;
|
||||
+};
|
||||
+
|
||||
+&cpu_l3 {
|
||||
+ cpu-supply = <&vdd_cpu_l>;
|
||||
+};
|
||||
+
|
||||
+&cpu_b0 {
|
||||
+ cpu-supply = <&vdd_cpu_b>;
|
||||
+};
|
||||
+
|
||||
+&cpu_b1 {
|
||||
+ cpu-supply = <&vdd_cpu_b>;
|
||||
+};
|
||||
+
|
||||
+&emmc_phy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&gpu {
|
||||
+ mali-supply = <&vdd_gpu>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ clock-frequency = <400000>;
|
||||
+ i2c-scl-rising-time-ns = <168>;
|
||||
+ i2c-scl-falling-time-ns = <4>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ rk818: pmic@1c {
|
||||
+ compatible = "rockchip,rk818";
|
||||
+ reg = <0x1c>;
|
||||
+ interrupt-parent = <&gpio1>;
|
||||
+ interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ #clock-cells = <1>;
|
||||
+ clock-output-names = "xin32k", "rk808-clkout2";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pmic_int_l>;
|
||||
+ rockchip,system-power-controller;
|
||||
+ wakeup-source;
|
||||
+
|
||||
+ vcc1-supply = <&vcc_sysin>;
|
||||
+ vcc2-supply = <&vcc_sysin>;
|
||||
+ vcc3-supply = <&vcc_sysin>;
|
||||
+ vcc4-supply = <&vcc_sysin>;
|
||||
+ vcc6-supply = <&vcc_sysin>;
|
||||
+ vcc7-supply = <&vcc3v3_sys>;
|
||||
+ vcc8-supply = <&vcc_sysin>;
|
||||
+ vcc9-supply = <&vcc3v3_sys>;
|
||||
+
|
||||
+ regulators {
|
||||
+ vdd_cpu_l: DCDC_REG1 {
|
||||
+ regulator-name = "vdd_cpu_1";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <750000>;
|
||||
+ regulator-max-microvolt = <1350000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_center: DCDC_REG2 {
|
||||
+ regulator-name = "vdd_center";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <800000>;
|
||||
+ regulator-max-microvolt = <1350000>;
|
||||
+ regulator-ramp-delay = <6001>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_ddr: DCDC_REG3 {
|
||||
+ regulator-name = "vcc_ddr";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_1v8: DCDC_REG4 {
|
||||
+ regulator-name = "vcc_1v8";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1800000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcca3v0_codec: LDO_REG1 {
|
||||
+ regulator-name = "vcca3v0_codec";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v0_touch: LDO_REG2 {
|
||||
+ regulator-name = "vcc3v0_touch";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcca1v8_codec: LDO_REG3 {
|
||||
+ regulator-name = "vcca1v8_codec";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_power_on: LDO_REG4 {
|
||||
+ regulator-name = "vcc_power_on";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3300000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_3v0: LDO_REG5 {
|
||||
+ regulator-name = "vcc_3v0";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3000000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_1v5: LDO_REG6 {
|
||||
+ regulator-name = "vcc_1v5";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1500000>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <1500000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc1v8_dvp: LDO_REG7 {
|
||||
+ regulator-name = "vcc1v8_dvp";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_s3: LDO_REG8 {
|
||||
+ regulator-name = "vcc3v3_s3";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc_sd: LDO_REG9 {
|
||||
+ regulator-name = "vcc_sd";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <3300000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vcc3v3_s0: SWITCH_REG {
|
||||
+ regulator-name = "vcc3v3_s0";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ boost_otg: DCDC_BOOST {
|
||||
+ regulator-name = "boost_otg";
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-state-mem {
|
||||
+ regulator-on-in-suspend;
|
||||
+ regulator-suspend-microvolt = <5000000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ otg_switch: OTG_SWITCH {
|
||||
+ regulator-name = "otg_switch";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_cpu_b: regulator@40 {
|
||||
+ compatible = "silergy,syr827";
|
||||
+ reg = <0x40>;
|
||||
+ fcs,suspend-voltage-selector = <1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vsel1_pin>;
|
||||
+ regulator-name = "vdd_cpu_b";
|
||||
+ regulator-min-microvolt = <712500>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-ramp-delay = <1000>;
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_gpu: regulator@41 {
|
||||
+ compatible = "silergy,syr828";
|
||||
+ reg = <0x41>;
|
||||
+ fcs,suspend-voltage-selector = <1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&vsel2_pin>;
|
||||
+ regulator-name = "vdd_gpu";
|
||||
+ regulator-min-microvolt = <712500>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-ramp-delay = <1000>;
|
||||
+ regulator-always-on;
|
||||
+ regulator-boot-on;
|
||||
+
|
||||
+ regulator-state-mem {
|
||||
+ regulator-off-in-suspend;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ i2c-scl-rising-time-ns = <300>;
|
||||
+ i2c-scl-falling-time-ns = <15>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c3 {
|
||||
+ i2c-scl-rising-time-ns = <450>;
|
||||
+ i2c-scl-falling-time-ns = <15>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c4 {
|
||||
+ i2c-scl-rising-time-ns = <600>;
|
||||
+ i2c-scl-falling-time-ns = <20>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ fusb0: typec-portc@22 {
|
||||
+ compatible = "fcs,fusb302";
|
||||
+ reg = <0x22>;
|
||||
+ interrupt-parent = <&gpio1>;
|
||||
+ interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&fusb0_int>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&io_domains {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ bt656-supply = <&vcc1v8_dvp>;
|
||||
+ audio-supply = <&vcca1v8_codec>;
|
||||
+ sdmmc-supply = <&vcc_sd>;
|
||||
+ gpio1830-supply = <&vcc_3v0>;
|
||||
+};
|
||||
+
|
||||
+&pmu_io_domains {
|
||||
+ pmu1830-supply = <&vcc_3v0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pinctrl {
|
||||
+ bt {
|
||||
+ bt_enable_h: bt-enable-h {
|
||||
+ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ bt_host_wake_l: bt-host-wake-l {
|
||||
+ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ };
|
||||
+
|
||||
+ bt_wake_l: bt-wake-l {
|
||||
+ rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ buttons {
|
||||
+ pwrbtn: pwrbtn {
|
||||
+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fusb302x {
|
||||
+ fusb0_int: fusb0-int {
|
||||
+ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ work_led_pin: work-led-pin {
|
||||
+ rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ diy_led_pin: diy-led-pin {
|
||||
+ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pcie {
|
||||
+ pcie_perst: pcie-perst {
|
||||
+ rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ pcie_pwr_en: pcie-pwr-en {
|
||||
+ rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ pmic {
|
||||
+ pmic_int_l: pmic-int-l {
|
||||
+ rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+
|
||||
+ vsel1_pin: vsel1-pin {
|
||||
+ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ };
|
||||
+
|
||||
+ vsel2_pin: vsel2-pin {
|
||||
+ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ sdcard {
|
||||
+ sdmmc0_pwr_h: sdmmc0-pwr-h {
|
||||
+ rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+ sdio-pwrseq {
|
||||
+ wifi_enable_h: wifi-enable-h {
|
||||
+ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usb-typec {
|
||||
+ vcc5v0_typec_en: vcc5v0_typec_en {
|
||||
+ rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usb2 {
|
||||
+ vcc5v0_host_en: vcc5v0-host-en {
|
||||
+ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pwm0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pwm2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdio0 {
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cap-sdio-irq;
|
||||
+ disable-wp;
|
||||
+ keep-power-in-suspend;
|
||||
+ mmc-pwrseq = <&sdio_pwrseq>;
|
||||
+ non-removable;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
|
||||
+ sd-uhs-sdr104;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdmmc {
|
||||
+ bus-width = <4>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cd-gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
|
||||
+ disable-wp;
|
||||
+ max-frequency = <150000000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
|
||||
+ vmmc-supply = <&vcc3v3_s3>;
|
||||
+ vqmmc-supply = <&vcc_1v8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&sdhci {
|
||||
+ bus-width = <8>;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&tsadc {
|
||||
+ /* tshut mode 0:CRU 1:GPIO */
|
||||
+ rockchip,hw-tshut-mode = <1>;
|
||||
+ /* tshut polarity 0:LOW 1:HIGH */
|
||||
+ rockchip,hw-tshut-polarity = <1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vopb {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vopb_mmu {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vopl {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&vopl_mmu {
|
||||
+ status = "okay";
|
||||
+};
|
||||
diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig
|
||||
index 17628f9171..3ba603ca80 100644
|
||||
--- a/arch/arm/mach-rockchip/rk3399/Kconfig
|
||||
+++ b/arch/arm/mach-rockchip/rk3399/Kconfig
|
||||
@@ -28,6 +28,13 @@ config TARGET_PINEBOOK_PRO_RK3399
|
||||
with 4Gb RAM, onboard eMMC, USB-C, a USB3 and USB2 port,
|
||||
1920*1080 screen and all the usual laptop features.
|
||||
|
||||
+config TARGET_PINEPHONE_PRO_RK3399
|
||||
+ bool "PinePhone Pro"
|
||||
+ help
|
||||
+ PinePhone Pro is a phone based on the Rockchip rk3399 SoC
|
||||
+ with 4Gb RAM, onboard eMMC, USB-C, a headphone jack,
|
||||
+ 720x1440 screen and an external Quectel USB modem.
|
||||
+
|
||||
config TARGET_PUMA_RK3399
|
||||
bool "Theobroma Systems RK3399-Q7 (Puma)"
|
||||
help
|
||||
@@ -154,6 +161,7 @@ endif # BOOTCOUNT_LIMIT
|
||||
source "board/firefly/roc-pc-rk3399/Kconfig"
|
||||
source "board/google/gru/Kconfig"
|
||||
source "board/pine64/pinebook-pro-rk3399/Kconfig"
|
||||
+source "board/pine64/pinephone-pro-rk3399/Kconfig"
|
||||
source "board/pine64/rockpro64_rk3399/Kconfig"
|
||||
source "board/rockchip/evb_rk3399/Kconfig"
|
||||
source "board/theobroma-systems/puma_rk3399/Kconfig"
|
||||
diff --git a/board/pine64/pinephone-pro-rk3399/Kconfig b/board/pine64/pinephone-pro-rk3399/Kconfig
|
||||
new file mode 100644
|
||||
index 0000000000..13d6465ae6
|
||||
--- /dev/null
|
||||
+++ b/board/pine64/pinephone-pro-rk3399/Kconfig
|
||||
@@ -0,0 +1,15 @@
|
||||
+if TARGET_PINEPHONE_PRO_RK3399
|
||||
+
|
||||
+config SYS_BOARD
|
||||
+ default "pinephone-pro-rk3399"
|
||||
+
|
||||
+config SYS_VENDOR
|
||||
+ default "pine64"
|
||||
+
|
||||
+config SYS_CONFIG_NAME
|
||||
+ default "pinephone-pro-rk3399"
|
||||
+
|
||||
+config BOARD_SPECIFIC_OPTIONS
|
||||
+ def_bool y
|
||||
+
|
||||
+endif
|
||||
diff --git a/board/pine64/pinephone-pro-rk3399/MAINTAINERS b/board/pine64/pinephone-pro-rk3399/MAINTAINERS
|
||||
new file mode 100644
|
||||
index 0000000000..9ca4fc4cbe
|
||||
--- /dev/null
|
||||
+++ b/board/pine64/pinephone-pro-rk3399/MAINTAINERS
|
||||
@@ -0,0 +1,8 @@
|
||||
+PINEPHONE_PRO
|
||||
+M: Martijn Braam <martijn@brixit.nl>
|
||||
+S: Maintained
|
||||
+F: board/pine64/rk3399-pinephone-pro/
|
||||
+F: include/configs/rk3399-pinephone-pro.h
|
||||
+F: arch/arm/dts/rk3399-pinephone-pro.dts
|
||||
+F: arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi
|
||||
+F: configs/pinephone-pro-rk3399_defconfig
|
||||
diff --git a/board/pine64/pinephone-pro-rk3399/Makefile b/board/pine64/pinephone-pro-rk3399/Makefile
|
||||
new file mode 100644
|
||||
index 0000000000..8d9203053e
|
||||
--- /dev/null
|
||||
+++ b/board/pine64/pinephone-pro-rk3399/Makefile
|
||||
@@ -0,0 +1 @@
|
||||
+obj-y += pinephone-pro-rk3399.o
|
||||
diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
|
||||
new file mode 100644
|
||||
index 0000000000..8efeb6ea3d
|
||||
--- /dev/null
|
||||
+++ b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c
|
||||
@@ -0,0 +1,57 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * (C) Copyright 2019 Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
+ * (C) Copyright 2021 Martijn Braam <martijn@brixit.nl>
|
||||
+ */
|
||||
+
|
||||
+#include <common.h>
|
||||
+#include <dm.h>
|
||||
+#include <init.h>
|
||||
+#include <syscon.h>
|
||||
+#include <asm/io.h>
|
||||
+#include <asm/arch-rockchip/clock.h>
|
||||
+#include <asm/arch-rockchip/grf_rk3399.h>
|
||||
+#include <asm/arch-rockchip/hardware.h>
|
||||
+#include <asm/arch-rockchip/misc.h>
|
||||
+
|
||||
+#define GRF_IO_VSEL_BT565_SHIFT 0
|
||||
+#define PMUGRF_CON0_VSEL_SHIFT 8
|
||||
+
|
||||
+#ifdef CONFIG_MISC_INIT_R
|
||||
+static void setup_iodomain(void)
|
||||
+{
|
||||
+ struct rk3399_grf_regs *grf =
|
||||
+ syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
|
||||
+ struct rk3399_pmugrf_regs *pmugrf =
|
||||
+ syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF);
|
||||
+
|
||||
+ /* BT565 is in 1.8v domain */
|
||||
+ rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT);
|
||||
+
|
||||
+ /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */
|
||||
+ rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT);
|
||||
+}
|
||||
+
|
||||
+int misc_init_r(void)
|
||||
+{
|
||||
+ const u32 cpuid_offset = 0x7;
|
||||
+ const u32 cpuid_length = 0x10;
|
||||
+ u8 cpuid[cpuid_length];
|
||||
+ int ret;
|
||||
+
|
||||
+ setup_iodomain();
|
||||
+
|
||||
+ ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = rockchip_cpuid_set(cpuid, cpuid_length);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ ret = rockchip_setup_macaddr();
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
diff --git a/configs/pinephone-pro-rk3399_defconfig b/configs/pinephone-pro-rk3399_defconfig
|
||||
new file mode 100644
|
||||
index 0000000000..2cf80f7d35
|
||||
--- /dev/null
|
||||
+++ b/configs/pinephone-pro-rk3399_defconfig
|
||||
@@ -0,0 +1,92 @@
|
||||
+CONFIG_ARM=y
|
||||
+CONFIG_SKIP_LOWLEVEL_INIT=y
|
||||
+CONFIG_ARCH_ROCKCHIP=y
|
||||
+CONFIG_SYS_TEXT_BASE=0x00200000
|
||||
+CONFIG_NR_DRAM_BANKS=1
|
||||
+CONFIG_ENV_SIZE=0x8000
|
||||
+CONFIG_ROCKCHIP_RK3399=y
|
||||
+CONFIG_TARGET_PINEPHONE_PRO_RK3399=y
|
||||
+CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
+CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
+CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
+CONFIG_SPL_SPI_SUPPORT=y
|
||||
+CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinephone-pro"
|
||||
+CONFIG_DEBUG_UART=y
|
||||
+CONFIG_SYS_LOAD_ADDR=0x800800
|
||||
+CONFIG_BOOTDELAY=3
|
||||
+CONFIG_USE_PREBOOT=y
|
||||
+CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinephone-pro.dtb"
|
||||
+CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
+CONFIG_MISC_INIT_R=y
|
||||
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||
+CONFIG_SPL_STACK_R=y
|
||||
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||
+CONFIG_SPL_MTD_SUPPORT=y
|
||||
+CONFIG_SPL_SPI_LOAD=y
|
||||
+CONFIG_TPL=y
|
||||
+CONFIG_CMD_BOOTZ=y
|
||||
+CONFIG_CMD_GPIO=y
|
||||
+CONFIG_CMD_GPT=y
|
||||
+CONFIG_CMD_I2C=y
|
||||
+CONFIG_CMD_MMC=y
|
||||
+CONFIG_CMD_PCI=y
|
||||
+CONFIG_CMD_USB=y
|
||||
+# CONFIG_CMD_SETEXPR is not set
|
||||
+CONFIG_CMD_TIME=y
|
||||
+CONFIG_CMD_PMIC=y
|
||||
+CONFIG_CMD_REGULATOR=y
|
||||
+CONFIG_SPL_OF_CONTROL=y
|
||||
+CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
||||
+CONFIG_ENV_IS_IN_SPI_FLASH=y
|
||||
+CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
+CONFIG_ROCKCHIP_GPIO=y
|
||||
+CONFIG_SYS_I2C_ROCKCHIP=y
|
||||
+CONFIG_DM_KEYBOARD=y
|
||||
+CONFIG_LED=y
|
||||
+CONFIG_LED_GPIO=y
|
||||
+CONFIG_MISC=y
|
||||
+CONFIG_ROCKCHIP_EFUSE=y
|
||||
+CONFIG_MMC_DW=y
|
||||
+CONFIG_MMC_DW_ROCKCHIP=y
|
||||
+CONFIG_MMC_SDHCI=y
|
||||
+CONFIG_MMC_SDHCI_SDMA=y
|
||||
+CONFIG_MMC_SDHCI_ROCKCHIP=y
|
||||
+CONFIG_SF_DEFAULT_SPEED=20000000
|
||||
+CONFIG_SPI_FLASH_GIGADEVICE=y
|
||||
+CONFIG_SPI_FLASH_WINBOND=y
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
||||
+CONFIG_PHY_ROCKCHIP_TYPEC=y
|
||||
+CONFIG_DM_PMIC_FAN53555=y
|
||||
+CONFIG_PMIC_RK8XX=y
|
||||
+CONFIG_REGULATOR_PWM=y
|
||||
+CONFIG_REGULATOR_RK8XX=y
|
||||
+CONFIG_PWM_ROCKCHIP=y
|
||||
+CONFIG_RAM_RK3399_LPDDR4=y
|
||||
+CONFIG_DM_RESET=y
|
||||
+CONFIG_DM_RNG=y
|
||||
+CONFIG_RNG_ROCKCHIP=y
|
||||
+CONFIG_BAUDRATE=1500000
|
||||
+CONFIG_DEBUG_UART_SHIFT=2
|
||||
+CONFIG_ROCKCHIP_SPI=y
|
||||
+CONFIG_SYSRESET=y
|
||||
+CONFIG_USB=y
|
||||
+CONFIG_USB_XHCI_HCD=y
|
||||
+CONFIG_USB_XHCI_DWC3=y
|
||||
+CONFIG_USB_EHCI_HCD=y
|
||||
+CONFIG_USB_EHCI_GENERIC=y
|
||||
+CONFIG_USB_OHCI_HCD=y
|
||||
+CONFIG_USB_OHCI_GENERIC=y
|
||||
+CONFIG_USB_DWC3=y
|
||||
+CONFIG_USB_DWC3_GENERIC=y
|
||||
+CONFIG_USB_KEYBOARD=y
|
||||
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
|
||||
+CONFIG_USB_HOST_ETHER=y
|
||||
+CONFIG_USB_ETHER_ASIX=y
|
||||
+CONFIG_USB_ETHER_RTL8152=y
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+CONFIG_DISPLAY=y
|
||||
+CONFIG_VIDEO_ROCKCHIP=y
|
||||
+CONFIG_DISPLAY_ROCKCHIP_EDP=y
|
||||
+CONFIG_SPL_TINY_MEMSET=y
|
||||
+CONFIG_ERRNO_STR=y
|
||||
diff --git a/include/configs/pinephone-pro-rk3399.h b/include/configs/pinephone-pro-rk3399.h
|
||||
new file mode 100644
|
||||
index 0000000000..fefa793fdd
|
||||
--- /dev/null
|
||||
+++ b/include/configs/pinephone-pro-rk3399.h
|
||||
@@ -0,0 +1,23 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
+/*
|
||||
+ * Copyright (C) 2016 Rockchip Electronics Co., Ltd
|
||||
+ * Copyright (C) 2020 Peter Robinson <pbrobinson at gmail.com>
|
||||
+ * Copyright (C) 2021 Martijn Braam <martijn@brixit.nl>
|
||||
+ */
|
||||
+
|
||||
+#ifndef __PINEPHONE_PRO_RK3399_H
|
||||
+#define __PINEPHONE_PRO_RK3399_H
|
||||
+
|
||||
+#define ROCKCHIP_DEVICE_SETTINGS \
|
||||
+ "stdin=serial,usbkbd\0" \
|
||||
+ "stdout=serial,vidconsole\0" \
|
||||
+ "stderr=serial,vidconsole\0"
|
||||
+
|
||||
+#include <configs/rk3399_common.h>
|
||||
+
|
||||
+#define SDRAM_BANK_SIZE (2UL << 30)
|
||||
+
|
||||
+#define CONFIG_USB_OHCI_NEW
|
||||
+#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
|
||||
+
|
||||
+#endif
|
||||
|
|
@ -1,860 +0,0 @@
|
|||
From a6909a16b4cc301f1007d9e75d02abb6d06a1ea7 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Thu, 28 May 2026 21:29:29 +0100
|
||||
Subject: [PATCH] rockchip: Enable preboot start for pci/usb
|
||||
|
||||
Enable the preboot so nvme works OOTB
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
configs/anbernic-rgxx3-rk3566_defconfig | 2 ++
|
||||
configs/bpi-r2-pro-rk3568_defconfig | 2 ++
|
||||
configs/cm3588-nas-rk3588_defconfig | 2 ++
|
||||
configs/coolpi-4b-rk3588s_defconfig | 2 ++
|
||||
configs/coolpi-cm5-evb-rk3588_defconfig | 2 ++
|
||||
configs/evb-rk3568_defconfig | 2 ++
|
||||
configs/evb-rk3588_defconfig | 2 ++
|
||||
configs/firefly-rk3399_defconfig | 2 ++
|
||||
configs/generic-rk3568_defconfig | 2 ++
|
||||
configs/generic-rk3588_defconfig | 2 ++
|
||||
configs/jaguar-rk3588_defconfig | 2 ++
|
||||
configs/lubancat-2-rk3568_defconfig | 2 ++
|
||||
configs/nanopc-t4-rk3399_defconfig | 2 ++
|
||||
configs/nanopc-t6-rk3588_defconfig | 2 ++
|
||||
configs/nanopi-r5c-rk3568_defconfig | 2 ++
|
||||
configs/nanopi-r5s-rk3568_defconfig | 2 ++
|
||||
configs/nanopi-r6c-rk3588s_defconfig | 2 ++
|
||||
configs/nanopi-r6s-rk3588s_defconfig | 2 ++
|
||||
configs/neu6a-io-rk3588_defconfig | 2 ++
|
||||
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/quartzpro64-rk3588_defconfig | 2 ++
|
||||
configs/radxa-cm3-io-rk3566_defconfig | 2 ++
|
||||
configs/radxa-e25-rk3568_defconfig | 2 ++
|
||||
configs/radxa-zero-3-rk3566_defconfig | 2 ++
|
||||
configs/roc-pc-mezzanine-rk3399_defconfig | 2 ++
|
||||
configs/rock-3a-rk3568_defconfig | 2 ++
|
||||
configs/rock-3b-rk3568_defconfig | 2 ++
|
||||
configs/rock-3c-rk3566_defconfig | 2 ++
|
||||
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 ++
|
||||
configs/rock5a-rk3588s_defconfig | 2 ++
|
||||
configs/rock5b-rk3588_defconfig | 2 ++
|
||||
configs/rock960-rk3399_defconfig | 2 ++
|
||||
configs/rockpro64-rk3399_defconfig | 2 ++
|
||||
configs/sige7-rk3588_defconfig | 2 ++
|
||||
configs/soquartz-blade-rk3566_defconfig | 2 ++
|
||||
configs/soquartz-cm4-rk3566_defconfig | 2 ++
|
||||
configs/soquartz-model-a-rk3566_defconfig | 2 ++
|
||||
configs/tiger-rk3588_defconfig | 2 ++
|
||||
configs/toybrick-rk3588_defconfig | 2 ++
|
||||
configs/turing-rk1-rk3588_defconfig | 2 ++
|
||||
60 files changed, 121 insertions(+)
|
||||
|
||||
diff --git a/configs/anbernic-rgxx3-rk3566_defconfig b/configs/anbernic-rgxx3-rk3566_defconfig
|
||||
index 854de8b00a4..cd91f18ba80 100644
|
||||
--- a/configs/anbernic-rgxx3-rk3566_defconfig
|
||||
+++ b/configs/anbernic-rgxx3-rk3566_defconfig
|
||||
@@ -12,6 +12,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFE660000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
CONFIG_DEBUG_UART=y
|
||||
+CONFIG_USE_PREBOOT=y
|
||||
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
|
||||
# CONFIG_EFI_LOADER is not set
|
||||
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
|
||||
--- a/configs/bpi-r2-pro-rk3568_defconfig
|
||||
+++ b/configs/bpi-r2-pro-rk3568_defconfig
|
||||
@@ -9,6 +9,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFE660000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/cm3588-nas-rk3588_defconfig b/configs/cm3588-nas-rk3588_defconfig
|
||||
index 5b5ef8d5ac1..53147d115dd 100644
|
||||
--- a/configs/cm3588-nas-rk3588_defconfig
|
||||
+++ b/configs/cm3588-nas-rk3588_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/coolpi-4b-rk3588s_defconfig b/configs/coolpi-4b-rk3588s_defconfig
|
||||
index e6772622403..75e0b373ce9 100644
|
||||
--- a/configs/coolpi-4b-rk3588s_defconfig
|
||||
+++ b/configs/coolpi-4b-rk3588s_defconfig
|
||||
@@ -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_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
|
||||
--- a/configs/coolpi-cm5-evb-rk3588_defconfig
|
||||
+++ b/configs/coolpi-cm5-evb-rk3588_defconfig
|
||||
@@ -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_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
|
||||
--- a/configs/evb-rk3568_defconfig
|
||||
+++ b/configs/evb-rk3568_defconfig
|
||||
@@ -9,6 +9,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFE660000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/evb-rk3588_defconfig b/configs/evb-rk3588_defconfig
|
||||
index c7f6256a626..cfa73c660e7 100644
|
||||
--- a/configs/evb-rk3588_defconfig
|
||||
+++ b/configs/evb-rk3588_defconfig
|
||||
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFEB50000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/firefly-rk3399_defconfig b/configs/firefly-rk3399_defconfig
|
||||
index 83b9de5feb9..2ba8f5029c3 100644
|
||||
--- a/configs/firefly-rk3399_defconfig
|
||||
+++ b/configs/firefly-rk3399_defconfig
|
||||
@@ -14,6 +14,8 @@ CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
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_DEFAULT_FDT_FILE="rockchip/rk3399-firefly.dtb"
|
||||
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
|
||||
--- a/configs/generic-rk3568_defconfig
|
||||
+++ b/configs/generic-rk3568_defconfig
|
||||
@@ -14,6 +14,8 @@ CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
CONFIG_SPL_SPI=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/generic-rk3588_defconfig b/configs/generic-rk3588_defconfig
|
||||
index ac450e6d757..b5424ac9f16 100644
|
||||
--- a/configs/generic-rk3588_defconfig
|
||||
+++ b/configs/generic-rk3588_defconfig
|
||||
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFEB50000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/jaguar-rk3588_defconfig b/configs/jaguar-rk3588_defconfig
|
||||
index ed3883b4f9c..47dbd834f30 100644
|
||||
--- a/configs/jaguar-rk3588_defconfig
|
||||
+++ b/configs/jaguar-rk3588_defconfig
|
||||
@@ -16,6 +16,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/lubancat-2-rk3568_defconfig b/configs/lubancat-2-rk3568_defconfig
|
||||
index 7548bf60b06..2fb8a432503 100644
|
||||
--- a/configs/lubancat-2-rk3568_defconfig
|
||||
+++ b/configs/lubancat-2-rk3568_defconfig
|
||||
@@ -9,6 +9,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFE660000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
CONFIG_DEBUG_UART=y
|
||||
+CONFIG_USE_PREBOOT=y
|
||||
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
|
||||
CONFIG_EFI_VAR_BUF_SIZE=16384
|
||||
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
|
||||
--- a/configs/nanopc-t4-rk3399_defconfig
|
||||
+++ b/configs/nanopc-t4-rk3399_defconfig
|
||||
@@ -15,6 +15,8 @@ CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
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_DEFAULT_FDT_FILE="rockchip/rk3399-nanopc-t4.dtb"
|
||||
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
|
||||
--- a/configs/nanopc-t6-rk3588_defconfig
|
||||
+++ b/configs/nanopc-t6-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/nanopi-r5c-rk3568_defconfig b/configs/nanopi-r5c-rk3568_defconfig
|
||||
index e75a24dadc8..159ef033932 100644
|
||||
--- a/configs/nanopi-r5c-rk3568_defconfig
|
||||
+++ b/configs/nanopi-r5c-rk3568_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="usb start;"
|
||||
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
|
||||
--- a/configs/nanopi-r5s-rk3568_defconfig
|
||||
+++ b/configs/nanopi-r5s-rk3568_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="usb start;"
|
||||
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
|
||||
--- a/configs/nanopi-r6c-rk3588s_defconfig
|
||||
+++ b/configs/nanopi-r6c-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/nanopi-r6s-rk3588s_defconfig b/configs/nanopi-r6s-rk3588s_defconfig
|
||||
index 743dfca441b..903ec56ad6f 100644
|
||||
--- a/configs/nanopi-r6s-rk3588s_defconfig
|
||||
+++ b/configs/nanopi-r6s-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/neu6a-io-rk3588_defconfig b/configs/neu6a-io-rk3588_defconfig
|
||||
index 19f129e96f0..08ed699b01d 100644
|
||||
--- a/configs/neu6a-io-rk3588_defconfig
|
||||
+++ b/configs/neu6a-io-rk3588_defconfig
|
||||
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFEB50000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/neu6b-io-rk3588_defconfig b/configs/neu6b-io-rk3588_defconfig
|
||||
index 2cf5aeccf51..8cafd779a1c 100644
|
||||
--- a/configs/neu6b-io-rk3588_defconfig
|
||||
+++ b/configs/neu6b-io-rk3588_defconfig
|
||||
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFEB50000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/nova-rk3588s_defconfig b/configs/nova-rk3588s_defconfig
|
||||
index f7d7492ff46..5abb6ebbe18 100644
|
||||
--- a/configs/nova-rk3588s_defconfig
|
||||
+++ b/configs/nova-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/odroid-m1-rk3568_defconfig b/configs/odroid-m1-rk3568_defconfig
|
||||
index b00985b0405..19d7af53c7f 100644
|
||||
--- a/configs/odroid-m1-rk3568_defconfig
|
||||
+++ b/configs/odroid-m1-rk3568_defconfig
|
||||
@@ -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_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
|
||||
--- a/configs/orangepi-3b-rk3566_defconfig
|
||||
+++ b/configs/orangepi-3b-rk3566_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-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
|
||||
--- a/configs/orangepi-5-plus-rk3588_defconfig
|
||||
+++ b/configs/orangepi-5-plus-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-rk3588s_defconfig b/configs/orangepi-5-rk3588s_defconfig
|
||||
index e0eba389289..33fe68add7b 100644
|
||||
--- a/configs/orangepi-5-rk3588s_defconfig
|
||||
+++ b/configs/orangepi-5-rk3588s_defconfig
|
||||
@@ -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_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
|
||||
--- a/configs/pinebook-pro-rk3399_defconfig
|
||||
+++ b/configs/pinebook-pro-rk3399_defconfig
|
||||
@@ -22,6 +22,7 @@ CONFIG_PCI=y
|
||||
CONFIG_DEBUG_UART=y
|
||||
CONFIG_BOOTDELAY=3
|
||||
CONFIG_USE_PREBOOT=y
|
||||
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
|
||||
CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb"
|
||||
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
|
||||
--- a/configs/pinetab2-rk3566_defconfig
|
||||
+++ b/configs/pinetab2-rk3566_defconfig
|
||||
@@ -18,6 +18,8 @@ CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
CONFIG_SPL_SPI=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/powkiddy-x55-rk3566_defconfig b/configs/powkiddy-x55-rk3566_defconfig
|
||||
index 37a359c91a9..70bc5ab6402 100644
|
||||
--- a/configs/powkiddy-x55-rk3566_defconfig
|
||||
+++ b/configs/powkiddy-x55-rk3566_defconfig
|
||||
@@ -9,6 +9,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFE660000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/quartz64-a-rk3566_defconfig b/configs/quartz64-a-rk3566_defconfig
|
||||
index 780fd581f0a..7938b5c0d1b 100644
|
||||
--- a/configs/quartz64-a-rk3566_defconfig
|
||||
+++ b/configs/quartz64-a-rk3566_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/quartz64-b-rk3566_defconfig b/configs/quartz64-b-rk3566_defconfig
|
||||
index 4d92a67cd73..fe8a168373d 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
|
||||
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/quartzpro64-rk3588_defconfig b/configs/quartzpro64-rk3588_defconfig
|
||||
index 0ad74e8bbef..b9cbddfae77 100644
|
||||
--- a/configs/quartzpro64-rk3588_defconfig
|
||||
+++ b/configs/quartzpro64-rk3588_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/radxa-cm3-io-rk3566_defconfig b/configs/radxa-cm3-io-rk3566_defconfig
|
||||
index 875f0b76fa5..2523dccd6a3 100644
|
||||
--- a/configs/radxa-cm3-io-rk3566_defconfig
|
||||
+++ b/configs/radxa-cm3-io-rk3566_defconfig
|
||||
@@ -9,6 +9,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFE660000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/radxa-e25-rk3568_defconfig b/configs/radxa-e25-rk3568_defconfig
|
||||
index 779d540e22d..7e003e74520 100644
|
||||
--- a/configs/radxa-e25-rk3568_defconfig
|
||||
+++ b/configs/radxa-e25-rk3568_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/radxa-zero-3-rk3566_defconfig b/configs/radxa-zero-3-rk3566_defconfig
|
||||
index f5cf09a5e4a..7db7e3fcd3d 100644
|
||||
--- a/configs/radxa-zero-3-rk3566_defconfig
|
||||
+++ b/configs/radxa-zero-3-rk3566_defconfig
|
||||
@@ -11,6 +11,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFE660000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/roc-pc-mezzanine-rk3399_defconfig b/configs/roc-pc-mezzanine-rk3399_defconfig
|
||||
index 8b4d8c1b0aa..54baa07aeae 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
|
||||
CONFIG_SPL_SPI=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_DEBUG_UART=y
|
||||
+CONFIG_USE_PREBOOT=y
|
||||
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
|
||||
# CONFIG_ANDROID_BOOT_IMAGE is not set
|
||||
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
|
||||
--- a/configs/rock-3a-rk3568_defconfig
|
||||
+++ b/configs/rock-3a-rk3568_defconfig
|
||||
@@ -16,6 +16,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/rock-3b-rk3568_defconfig b/configs/rock-3b-rk3568_defconfig
|
||||
index c3bf48b9e34..0cfa8eba168 100644
|
||||
--- a/configs/rock-3b-rk3568_defconfig
|
||||
+++ b/configs/rock-3b-rk3568_defconfig
|
||||
@@ -16,6 +16,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/rock-3c-rk3566_defconfig b/configs/rock-3c-rk3566_defconfig
|
||||
index 417aa33a663..61d0e1b8c6a 100644
|
||||
--- a/configs/rock-3c-rk3566_defconfig
|
||||
+++ b/configs/rock-3c-rk3566_defconfig
|
||||
@@ -16,6 +16,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/rock-4c-plus-rk3399_defconfig b/configs/rock-4c-plus-rk3399_defconfig
|
||||
index 0f6bdfdfb06..f31cb061a83 100644
|
||||
--- a/configs/rock-4c-plus-rk3399_defconfig
|
||||
+++ b/configs/rock-4c-plus-rk3399_defconfig
|
||||
@@ -17,6 +17,8 @@ CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
CONFIG_SPL_SPI_FLASH_SUPPORT=y
|
||||
CONFIG_SPL_SPI=y
|
||||
CONFIG_DEBUG_UART=y
|
||||
+CONFIG_USE_PREBOOT=y
|
||||
+CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
|
||||
CONFIG_EFI_CAPSULE_ON_DISK=y
|
||||
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
|
||||
--- a/configs/rock-4se-rk3399_defconfig
|
||||
+++ b/configs/rock-4se-rk3399_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_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
|
||||
--- a/configs/rock-5-itx-rk3588_defconfig
|
||||
+++ b/configs/rock-5-itx-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/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
|
||||
--- a/configs/rock-pi-4-rk3399_defconfig
|
||||
+++ b/configs/rock-pi-4-rk3399_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_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
|
||||
--- a/configs/rock-pi-4c-rk3399_defconfig
|
||||
+++ b/configs/rock-pi-4c-rk3399_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_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
|
||||
--- a/configs/rock-pi-n10-rk3399pro_defconfig
|
||||
+++ b/configs/rock-pi-n10-rk3399pro_defconfig
|
||||
@@ -13,6 +13,8 @@ CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
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_ANDROID_BOOT_IMAGE is not set
|
||||
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
|
||||
--- a/configs/rock5a-rk3588s_defconfig
|
||||
+++ b/configs/rock5a-rk3588s_defconfig
|
||||
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFEB50000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/rock5b-rk3588_defconfig b/configs/rock5b-rk3588_defconfig
|
||||
index da5fb3a2c30..053346fc035 100644
|
||||
--- a/configs/rock5b-rk3588_defconfig
|
||||
+++ b/configs/rock5b-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/rock960-rk3399_defconfig b/configs/rock960-rk3399_defconfig
|
||||
index db121f03ae6..e55f1b6a034 100644
|
||||
--- a/configs/rock960-rk3399_defconfig
|
||||
+++ b/configs/rock960-rk3399_defconfig
|
||||
@@ -12,6 +12,8 @@ CONFIG_DEBUG_UART_BASE=0xFF1A0000
|
||||
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_DEFAULT_FDT_FILE="rockchip/rk3399-rock960.dtb"
|
||||
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
|
||||
--- a/configs/rockpro64-rk3399_defconfig
|
||||
+++ b/configs/rockpro64-rk3399_defconfig
|
||||
@@ -20,6 +20,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_DEFAULT_FDT_FILE="rockchip/rk3399-rockpro64.dtb"
|
||||
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
|
||||
--- a/configs/sige7-rk3588_defconfig
|
||||
+++ b/configs/sige7-rk3588_defconfig
|
||||
@@ -13,6 +13,8 @@ CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/soquartz-blade-rk3566_defconfig b/configs/soquartz-blade-rk3566_defconfig
|
||||
index 7de159a8881..4137f0459b5 100644
|
||||
--- a/configs/soquartz-blade-rk3566_defconfig
|
||||
+++ b/configs/soquartz-blade-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/soquartz-cm4-rk3566_defconfig b/configs/soquartz-cm4-rk3566_defconfig
|
||||
index 4455ee5b5aa..ad63ba0204f 100644
|
||||
--- a/configs/soquartz-cm4-rk3566_defconfig
|
||||
+++ b/configs/soquartz-cm4-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/soquartz-model-a-rk3566_defconfig b/configs/soquartz-model-a-rk3566_defconfig
|
||||
index abdab514496..9e01345bdaa 100644
|
||||
--- a/configs/soquartz-model-a-rk3566_defconfig
|
||||
+++ b/configs/soquartz-model-a-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/tiger-rk3588_defconfig b/configs/tiger-rk3588_defconfig
|
||||
index 105e8e10e0b..bcc2ae302a5 100644
|
||||
--- a/configs/tiger-rk3588_defconfig
|
||||
+++ b/configs/tiger-rk3588_defconfig
|
||||
@@ -17,6 +17,8 @@ CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
# CONFIG_DEBUG_UART_BOARD_INIT is not set
|
||||
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/toybrick-rk3588_defconfig b/configs/toybrick-rk3588_defconfig
|
||||
index 14b231ae3e2..7af393731cd 100644
|
||||
--- a/configs/toybrick-rk3588_defconfig
|
||||
+++ b/configs/toybrick-rk3588_defconfig
|
||||
@@ -10,6 +10,8 @@ CONFIG_SYS_LOAD_ADDR=0xc00800
|
||||
CONFIG_DEBUG_UART_BASE=0xFEB50000
|
||||
CONFIG_DEBUG_UART_CLOCK=24000000
|
||||
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/turing-rk1-rk3588_defconfig b/configs/turing-rk1-rk3588_defconfig
|
||||
index 0b3efec23e6..515db2a2b0c 100644
|
||||
--- a/configs/turing-rk1-rk3588_defconfig
|
||||
+++ b/configs/turing-rk1-rk3588_defconfig
|
||||
@@ -12,6 +12,8 @@ CONFIG_DEBUG_UART_BASE=0xFEBC0000
|
||||
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
|
||||
--
|
||||
2.54.0
|
||||
|
||||
136
rockchip-general-fixes.patch
Normal file
136
rockchip-general-fixes.patch
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
From 2d9350c50a9659cc2a247cdea07f0eacffa3cb32 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sun, 12 Jun 2022 14:44:44 +0100
|
||||
Subject: [PATCH] rockchip: pinebook-pro: minor SPI flash fixes
|
||||
|
||||
Set a default offset for environment so it doesn't write it to
|
||||
unexpected locations, drop unneeded mtd config option.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
configs/pinebook-pro-rk3399_defconfig | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig
|
||||
index 8ca1d0708f9..aaa52c6ea70 100644
|
||||
--- a/configs/pinebook-pro-rk3399_defconfig
|
||||
+++ b/configs/pinebook-pro-rk3399_defconfig
|
||||
@@ -5,6 +5,7 @@ CONFIG_ARCH_ROCKCHIP=y
|
||||
CONFIG_SYS_TEXT_BASE=0x00200000
|
||||
CONFIG_NR_DRAM_BANKS=1
|
||||
CONFIG_ENV_SIZE=0x8000
|
||||
+CONFIG_ENV_OFFSET=0x3F8000
|
||||
CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro"
|
||||
CONFIG_ROCKCHIP_RK3399=y
|
||||
CONFIG_TARGET_PINEBOOK_PRO_RK3399=y
|
||||
@@ -22,7 +23,6 @@ CONFIG_MISC_INIT_R=y
|
||||
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
||||
CONFIG_SPL_STACK_R=y
|
||||
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000
|
||||
-CONFIG_SPL_MTD_SUPPORT=y
|
||||
CONFIG_SPL_SPI_LOAD=y
|
||||
CONFIG_TPL=y
|
||||
CONFIG_CMD_BOOTZ=y
|
||||
--
|
||||
2.36.1
|
||||
|
||||
From 27ba8e2f904063aec5196f86dd0332bf58a60259 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sun, 12 Jun 2022 14:50:42 +0100
|
||||
Subject: [PATCH] rockchip: rockpro64: enable leds
|
||||
|
||||
The Rockpro64 has some GPIO leds so let's enable them so the
|
||||
user gets some output in early boot.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
configs/rockpro64-rk3399_defconfig | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
|
||||
index e6f7a8469a3..b0c3527fab0 100644
|
||||
--- a/configs/rockpro64-rk3399_defconfig
|
||||
+++ b/configs/rockpro64-rk3399_defconfig
|
||||
@@ -42,6 +42,8 @@ CONFIG_AHCI_PCI=y
|
||||
CONFIG_SATA_SIL=y
|
||||
CONFIG_ROCKCHIP_GPIO=y
|
||||
CONFIG_SYS_I2C_ROCKCHIP=y
|
||||
+CONFIG_LED=y
|
||||
+CONFIG_LED_GPIO=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_ROCKCHIP_EFUSE=y
|
||||
CONFIG_MMC_DW=y
|
||||
--
|
||||
2.36.1
|
||||
|
||||
From 8bca90472e0d71e5344711b6f5fe8dc95e19af5a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sun, 12 Jun 2022 15:12:47 +0100
|
||||
Subject: [PATCH] rockchip: pinebook-pro: sync PBP dtb to 5.18
|
||||
|
||||
Sync the pinebook pro to upstream 5.18, in particular this brings
|
||||
brings in a fix so the DP is disabled so Linux will actually boot.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm/dts/rk3399-pinebook-pro.dts | 11 +++--------
|
||||
1 file changed, 3 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/dts/rk3399-pinebook-pro.dts b/arch/arm/dts/rk3399-pinebook-pro.dts
|
||||
index 2b5f001ff4a..d6b68d77d63 100644
|
||||
--- a/arch/arm/dts/rk3399-pinebook-pro.dts
|
||||
+++ b/arch/arm/dts/rk3399-pinebook-pro.dts
|
||||
@@ -17,6 +17,7 @@
|
||||
/ {
|
||||
model = "Pine64 Pinebook Pro";
|
||||
compatible = "pine64,pinebook-pro", "rockchip,rk3399";
|
||||
+ chassis-type = "laptop";
|
||||
|
||||
aliases {
|
||||
mmc0 = &sdio0;
|
||||
@@ -242,12 +243,12 @@
|
||||
vdd_log: vdd-log {
|
||||
compatible = "pwm-regulator";
|
||||
pwms = <&pwm2 0 25000 1>;
|
||||
+ pwm-supply = <&vcc_sysin>;
|
||||
regulator-name = "vdd_log";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
- vin-supply = <&vcc_sysin>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
@@ -385,10 +386,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
-&cdn_dp {
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
&cpu_b0 {
|
||||
cpu-supply = <&vdd_cpu_b>;
|
||||
};
|
||||
@@ -475,8 +472,6 @@
|
||||
vcc10-supply = <&vcc_sysin>;
|
||||
vcc11-supply = <&vcc_sysin>;
|
||||
vcc12-supply = <&vcc3v3_sys>;
|
||||
- vcc13-supply = <&vcc_sysin>;
|
||||
- vcc14-supply = <&vcc_sysin>;
|
||||
|
||||
regulators {
|
||||
/* rk3399 center logic supply */
|
||||
@@ -711,7 +706,7 @@
|
||||
|
||||
connector {
|
||||
compatible = "usb-c-connector";
|
||||
- data-role = "host";
|
||||
+ data-role = "dual";
|
||||
label = "USB-C";
|
||||
op-sink-microwatt = <1000000>;
|
||||
power-role = "dual";
|
||||
--
|
||||
2.36.1
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
296
rpi-Copy-properties-from-firmware-DT-to-loaded-DT.patch
Normal file
296
rpi-Copy-properties-from-firmware-DT-to-loaded-DT.patch
Normal file
|
|
@ -0,0 +1,296 @@
|
|||
From patchwork Wed Aug 10 12:39:26 2022
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Antoine Mazeas <antoine@karthanis.net>
|
||||
X-Patchwork-Id: 1665242
|
||||
X-Patchwork-Delegate: matthias.bgg@gmail.com
|
||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: bilbo.ozlabs.org;
|
||||
dkim=pass (1024-bit key;
|
||||
unprotected) header.d=karthanis.net header.i=@karthanis.net
|
||||
header.a=rsa-sha256 header.s=20191114 header.b=mcrC/rnn;
|
||||
dkim-atps=neutral
|
||||
Authentication-Results: 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=<UNKNOWN>)
|
||||
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 server-signature RSA-PSS (2048 bits))
|
||||
(No client certificate requested)
|
||||
by bilbo.ozlabs.org (Postfix) with ESMTPS id 4M2qkM6g8Vz9ryY
|
||||
for <incoming@patchwork.ozlabs.org>; Wed, 10 Aug 2022 22:58:35 +1000 (AEST)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id CB5EF842A3;
|
||||
Wed, 10 Aug 2022 14:58:11 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=karthanis.net
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dkim=pass (1024-bit key;
|
||||
unprotected) header.d=karthanis.net header.i=@karthanis.net
|
||||
header.b="mcrC/rnn";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id 4FB14841DC; Wed, 10 Aug 2022 14:40:46 +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,SPF_HELO_NONE,SPF_PASS,
|
||||
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from smtp-42a9.mail.infomaniak.ch (smtp-42a9.mail.infomaniak.ch
|
||||
[IPv6:2001:1600:3:17::42a9])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by phobos.denx.de (Postfix) with ESMTPS id CCC6784084
|
||||
for <u-boot@lists.denx.de>; Wed, 10 Aug 2022 14:40:43 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=karthanis.net
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=antoine@karthanis.net
|
||||
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
|
||||
by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4M2qKl3S6GzMqbyx;
|
||||
Wed, 10 Aug 2022 14:40:43 +0200 (CEST)
|
||||
Received: from localhost.localdomain (unknown [88.168.170.86])
|
||||
by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4M2qKk6qXKzlnSD1;
|
||||
Wed, 10 Aug 2022 14:40:42 +0200 (CEST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=karthanis.net;
|
||||
s=20191114; t=1660135243;
|
||||
bh=YF4GTVv5pqqW0OMrNZFlf0WHnELr1KiKKA02ok/znf4=;
|
||||
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
|
||||
b=mcrC/rnnUv3FXlrllL2s9lLTjUEnTuLbiINuyrIQWr2HG3AmCcD11F7n0AypUdePp
|
||||
2XfG1PnZalJa2v3m6/DUWsz6B/cqmYo31h/6HpFeJ4g2i1pEZar7cC+9oScmbjJptV
|
||||
w2oDsFHzyK2oWHUMGFJ4N6bboD8kq3z4WLaH2vrQ=
|
||||
From: Antoine Mazeas <antoine@karthanis.net>
|
||||
To: u-boot@lists.denx.de
|
||||
Cc: Antoine Mazeas <antoine@karthanis.net>,
|
||||
Sjoerd Simons <sjoerd@collabora.com>
|
||||
Subject: [PATCH 1/2] rpi: Copy properties from firmware dtb to the loaded dtb
|
||||
Date: Wed, 10 Aug 2022 14:39:26 +0200
|
||||
Message-Id: <20220810123927.2567677-2-antoine@karthanis.net>
|
||||
X-Mailer: git-send-email 2.37.1
|
||||
In-Reply-To: <20220810123927.2567677-1-antoine@karthanis.net>
|
||||
References: <20220810123927.2567677-1-antoine@karthanis.net>
|
||||
MIME-Version: 1.0
|
||||
X-Mailman-Approved-At: Wed, 10 Aug 2022 14:58:03 +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.6 at phobos.denx.de
|
||||
X-Virus-Status: Clean
|
||||
|
||||
The RPI firmware adjusts several property values in the dtb it passes
|
||||
to u-boot depending on the board/SoC revision. Inherit some of these
|
||||
when u-boot loads a dtb itself. Specificaly copy:
|
||||
|
||||
* /model: The firmware provides a more specific string
|
||||
* /memreserve: The firmware defines a reserved range, better keep it
|
||||
* emmc2bus and pcie0 dma-ranges: The C0T revision of the bcm2711 Soc (as
|
||||
present on rpi 400 and some rpi 4B boards) has different values for
|
||||
these then the B0T revision. So these need to be adjusted to boot on
|
||||
these boards
|
||||
* blconfig: The firmware defines the memory area where the blconfig
|
||||
stored. Copy those over so it can be enabled.
|
||||
* /chosen/kaslr-seed: The firmware generates a kaslr seed, take advantage
|
||||
of that.
|
||||
|
||||
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
|
||||
---
|
||||
board/raspberrypi/rpi/rpi.c | 48 +++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 48 insertions(+)
|
||||
|
||||
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
|
||||
index 17b8108cc8..28b6f52506 100644
|
||||
--- a/board/raspberrypi/rpi/rpi.c
|
||||
+++ b/board/raspberrypi/rpi/rpi.c
|
||||
@@ -504,10 +504,58 @@ void *board_fdt_blob_setup(int *err)
|
||||
return (void *)fw_dtb_pointer;
|
||||
}
|
||||
|
||||
+int copy_property(void *dst, void *src, char *path, char *property)
|
||||
+{
|
||||
+ int dst_offset, src_offset;
|
||||
+ const fdt32_t *prop;
|
||||
+ int len;
|
||||
+
|
||||
+ src_offset = fdt_path_offset(src, path);
|
||||
+ dst_offset = fdt_path_offset(dst, path);
|
||||
+
|
||||
+ if (src_offset < 0 || dst_offset < 0)
|
||||
+ return -1;
|
||||
+
|
||||
+ prop = fdt_getprop(src, src_offset, property, &len);
|
||||
+ if (!prop)
|
||||
+ return -1;
|
||||
+
|
||||
+ return fdt_setprop(dst, dst_offset, property, prop, len);
|
||||
+}
|
||||
+
|
||||
+/* Copy tweaks from the firmware dtb to the loaded dtb */
|
||||
+void update_fdt_from_fw(void *fdt, void *fw_fdt)
|
||||
+{
|
||||
+ /* Using dtb from firmware directly; leave it alone */
|
||||
+ if (fdt == fw_fdt)
|
||||
+ return;
|
||||
+
|
||||
+ /* The firmware provides a more precie model; so copy that */
|
||||
+ copy_property(fdt, fw_fdt, "/", "model");
|
||||
+
|
||||
+ /* memory reserve as suggested by the firmware */
|
||||
+ copy_property(fdt, fw_fdt, "/", "memreserve");
|
||||
+
|
||||
+ /* Adjust dma-ranges for the SD card and PCI bus as they can depend on
|
||||
+ * the SoC revision
|
||||
+ */
|
||||
+ copy_property(fdt, fw_fdt, "emmc2bus", "dma-ranges");
|
||||
+ copy_property(fdt, fw_fdt, "pcie0", "dma-ranges");
|
||||
+
|
||||
+ /* Bootloader configuration template exposes as nvmem */
|
||||
+ if (copy_property(fdt, fw_fdt, "blconfig", "reg") == 0)
|
||||
+ copy_property(fdt, fw_fdt, "blconfig", "status");
|
||||
+
|
||||
+ /* kernel address randomisation seed as provided by the firmware */
|
||||
+ copy_property(fdt, fw_fdt, "/chosen", "kaslr-seed");
|
||||
+}
|
||||
+
|
||||
int ft_board_setup(void *blob, struct bd_info *bd)
|
||||
{
|
||||
int node;
|
||||
|
||||
+ 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);
|
||||
|
||||
From patchwork Wed Aug 10 12:39:27 2022
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Antoine Mazeas <antoine@karthanis.net>
|
||||
X-Patchwork-Id: 1665243
|
||||
X-Patchwork-Delegate: matthias.bgg@gmail.com
|
||||
Return-Path: <u-boot-bounces@lists.denx.de>
|
||||
X-Original-To: incoming@patchwork.ozlabs.org
|
||||
Delivered-To: patchwork-incoming@bilbo.ozlabs.org
|
||||
Authentication-Results: bilbo.ozlabs.org;
|
||||
dkim=pass (1024-bit key;
|
||||
unprotected) header.d=karthanis.net header.i=@karthanis.net
|
||||
header.a=rsa-sha256 header.s=20191114 header.b=3Vltv92i;
|
||||
dkim-atps=neutral
|
||||
Authentication-Results: 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=<UNKNOWN>)
|
||||
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 server-signature RSA-PSS (2048 bits))
|
||||
(No client certificate requested)
|
||||
by bilbo.ozlabs.org (Postfix) with ESMTPS id 4M2qkb5v6sz9ryY
|
||||
for <incoming@patchwork.ozlabs.org>; Wed, 10 Aug 2022 22:58:47 +1000 (AEST)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id 2E6C784564;
|
||||
Wed, 10 Aug 2022 14:58:17 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=karthanis.net
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dkim=pass (1024-bit key;
|
||||
unprotected) header.d=karthanis.net header.i=@karthanis.net
|
||||
header.b="3Vltv92i";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id 274CF8415B; Wed, 10 Aug 2022 14:40:48 +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,SPF_HELO_NONE,SPF_PASS,
|
||||
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from smtp-42a9.mail.infomaniak.ch (smtp-42a9.mail.infomaniak.ch
|
||||
[84.16.66.169])
|
||||
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
|
||||
(No client certificate requested)
|
||||
by phobos.denx.de (Postfix) with ESMTPS id DAC58841A4
|
||||
for <u-boot@lists.denx.de>; Wed, 10 Aug 2022 14:40:45 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=karthanis.net
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=antoine@karthanis.net
|
||||
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
|
||||
by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4M2qKn4VzjzMqnFS;
|
||||
Wed, 10 Aug 2022 14:40:45 +0200 (CEST)
|
||||
Received: from localhost.localdomain (unknown [88.168.170.86])
|
||||
by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA id 4M2qKn1TBqzlnSCc;
|
||||
Wed, 10 Aug 2022 14:40:45 +0200 (CEST)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=karthanis.net;
|
||||
s=20191114; t=1660135245;
|
||||
bh=f61vvBG7E2UozLHxeE7zghMr3kXQzBW+5PpzEyEGYJU=;
|
||||
h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
|
||||
b=3Vltv92i/KGKD06qHi+zyrqGwfJWUvdwHMojKKH7OqswhScJTxhUbGq6MnPrCqWsn
|
||||
QgB117zr++vQSy1jxV2vZIFLxMC3j8AZb4l3ktmU7FiPp7AUB6AqAzv+tUrYeS3nz4
|
||||
LQ0mJS4s1jk1k0WWAK3/WGdOyUAo8ZWw5oiBHUvk=
|
||||
From: Antoine Mazeas <antoine@karthanis.net>
|
||||
To: u-boot@lists.denx.de
|
||||
Cc: Antoine Mazeas <antoine@karthanis.net>
|
||||
Subject: [PATCH 2/2] rpi: Copy eth PHY address from fw DT to loaded DT
|
||||
Date: Wed, 10 Aug 2022 14:39:27 +0200
|
||||
Message-Id: <20220810123927.2567677-3-antoine@karthanis.net>
|
||||
X-Mailer: git-send-email 2.37.1
|
||||
In-Reply-To: <20220810123927.2567677-1-antoine@karthanis.net>
|
||||
References: <20220810123927.2567677-1-antoine@karthanis.net>
|
||||
MIME-Version: 1.0
|
||||
X-Mailman-Approved-At: Wed, 10 Aug 2022 14:58:03 +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.6 at phobos.denx.de
|
||||
X-Virus-Status: Clean
|
||||
|
||||
Some Raspberry Pi 400 boards, specifically rev 1.1, have a different address for the ethernet PHY device than what is provided by the kernel DTB. The correct address is provided by the firmware, so we should carry it over into the loaded device tree so that ethernet works on such boards.
|
||||
|
||||
Signed-off-by: Antoine Mazeas <antoine@karthanis.net>
|
||||
---
|
||||
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 28b6f52506..793fd1aa30 100644
|
||||
--- a/board/raspberrypi/rpi/rpi.c
|
||||
+++ b/board/raspberrypi/rpi/rpi.c
|
||||
@@ -548,6 +548,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");
|
||||
+
|
||||
+ /* address of the PHY device as provided by the firmware */
|
||||
+ copy_property(fdt, fw_fdt, "ethernet0/mdio@e14/ethernet-phy@1", "reg");
|
||||
}
|
||||
|
||||
int ft_board_setup(void *blob, struct bd_info *bd)
|
||||
96
rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
Normal file
96
rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
From f10f94831450671a77f61fe413b4a57459963860 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Mon, 10 Aug 2020 22:20:29 +0100
|
||||
Subject: [PATCH] rpi: Use firmware provided device tree
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
configs/rpi_0_w_defconfig | 2 +-
|
||||
configs/rpi_2_defconfig | 2 +-
|
||||
configs/rpi_3_32b_defconfig | 2 +-
|
||||
configs/rpi_3_b_plus_defconfig | 2 +-
|
||||
configs/rpi_3_defconfig | 2 +-
|
||||
configs/rpi_defconfig | 2 +-
|
||||
6 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
|
||||
index bba5e12b12..0241f4c6d3 100644
|
||||
--- a/configs/rpi_0_w_defconfig
|
||||
+++ b/configs/rpi_0_w_defconfig
|
||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
|
||||
index 1c2bbb29ce..9573e475f4 100644
|
||||
--- a/configs/rpi_2_defconfig
|
||||
+++ b/configs/rpi_2_defconfig
|
||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
|
||||
index b8a3d17f43..252df994e6 100644
|
||||
--- a/configs/rpi_3_32b_defconfig
|
||||
+++ b/configs/rpi_3_32b_defconfig
|
||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
diff --git a/configs/rpi_3_b_plus_defconfig b/configs/rpi_3_b_plus_defconfig
|
||||
index 4c361438fa..3b2996a2f9 100644
|
||||
--- a/configs/rpi_3_b_plus_defconfig
|
||||
+++ b/configs/rpi_3_b_plus_defconfig
|
||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
|
||||
index 9b281a4f15..1e9ee6122e 100644
|
||||
--- a/configs/rpi_3_defconfig
|
||||
+++ b/configs/rpi_3_defconfig
|
||||
@@ -18,7 +18,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
|
||||
index b5ad53c37b..223fc03275 100644
|
||||
--- a/configs/rpi_defconfig
|
||||
+++ b/configs/rpi_defconfig
|
||||
@@ -17,7 +17,7 @@ CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
CONFIG_CMD_FS_UUID=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
|
||||
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
|
||||
--
|
||||
2.26.2
|
||||
|
||||
228
rpi-bcm2835_sdhost-firmware-managed-clock.patch
Normal file
228
rpi-bcm2835_sdhost-firmware-managed-clock.patch
Normal file
|
|
@ -0,0 +1,228 @@
|
|||
From f3a870bfa075fb880f5e018a0a5ae6f27ca8be49 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Fazio <vfazio@xes-inc.com>
|
||||
Date: Mon, 13 Sep 2021 13:34:45 -0500
|
||||
Subject: [PATCH] mmc: bcm2835-host: let firmware manage the clock
|
||||
|
||||
Newer firmware supports managing the sdhost clock divisor, so leverage
|
||||
this feature if it is available.
|
||||
|
||||
SET_SDHOST_CLOCK is largely undocumented except for its usage within the
|
||||
Linux kernel, which this change is based on.
|
||||
|
||||
https://github.com/raspberrypi/linux/commit/3cd16c39c718e2dda7885c4ed7a20118aed12524
|
||||
|
||||
Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
|
||||
---
|
||||
arch/arm/mach-bcm283x/include/mach/mbox.h | 18 ++++++++
|
||||
arch/arm/mach-bcm283x/include/mach/msg.h | 10 +++++
|
||||
arch/arm/mach-bcm283x/msg.c | 30 +++++++++++++
|
||||
drivers/mmc/bcm2835_sdhost.c | 53 ++++++++++++++---------
|
||||
4 files changed, 90 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
index 7dcac583cc4..9b1943fcfc4 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
@@ -252,6 +252,24 @@ struct bcm2835_mbox_tag_get_clock_rate {
|
||||
} body;
|
||||
};
|
||||
|
||||
+#define BCM2835_MBOX_TAG_SET_SDHOST_CLOCK 0x00038042
|
||||
+
|
||||
+struct bcm2835_mbox_tag_set_sdhost_clock {
|
||||
+ struct bcm2835_mbox_tag_hdr tag_hdr;
|
||||
+ union {
|
||||
+ struct {
|
||||
+ u32 rate_hz;
|
||||
+ u32 rate_1;
|
||||
+ u32 rate_2;
|
||||
+ } req;
|
||||
+ struct {
|
||||
+ u32 rate_hz;
|
||||
+ u32 rate_1;
|
||||
+ u32 rate_2;
|
||||
+ } resp;
|
||||
+ } body;
|
||||
+};
|
||||
+
|
||||
#define BCM2835_MBOX_TAG_ALLOCATE_BUFFER 0x00040001
|
||||
|
||||
struct bcm2835_mbox_tag_allocate_buffer {
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/msg.h b/arch/arm/mach-bcm283x/include/mach/msg.h
|
||||
index e45c1bf010f..ab37abdb6c6 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/msg.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/msg.h
|
||||
@@ -22,6 +22,16 @@ int bcm2835_power_on_module(u32 module);
|
||||
*/
|
||||
int bcm2835_get_mmc_clock(u32 clock_id);
|
||||
|
||||
+/**
|
||||
+ * bcm2835_set_sdhost_clock() - determine if firmware controls sdhost cdiv
|
||||
+ *
|
||||
+ * @rate_hz: Input clock frequency
|
||||
+ * @rate_1: Returns a clock frequency
|
||||
+ * @rate_2: Returns a clock frequency
|
||||
+ * @return 0 of OK, -EIO on error
|
||||
+ */
|
||||
+int bcm2835_set_sdhost_clock(u32 rate_hz, u32 *rate_1, u32 *rate_2);
|
||||
+
|
||||
/**
|
||||
* bcm2835_get_video_size() - get the current display size
|
||||
*
|
||||
diff --git a/arch/arm/mach-bcm283x/msg.c b/arch/arm/mach-bcm283x/msg.c
|
||||
index e2badfecb09..8c1c36a5f15 100644
|
||||
--- a/arch/arm/mach-bcm283x/msg.c
|
||||
+++ b/arch/arm/mach-bcm283x/msg.c
|
||||
@@ -21,6 +21,12 @@ struct msg_get_clock_rate {
|
||||
u32 end_tag;
|
||||
};
|
||||
|
||||
+struct msg_set_sdhost_clock {
|
||||
+ struct bcm2835_mbox_hdr hdr;
|
||||
+ struct bcm2835_mbox_tag_set_sdhost_clock set_sdhost_clock;
|
||||
+ u32 end_tag;
|
||||
+};
|
||||
+
|
||||
struct msg_query {
|
||||
struct bcm2835_mbox_hdr hdr;
|
||||
struct bcm2835_mbox_tag_physical_w_h physical_w_h;
|
||||
@@ -111,6 +117,30 @@ int bcm2835_get_mmc_clock(u32 clock_id)
|
||||
return clock_rate;
|
||||
}
|
||||
|
||||
+int bcm2835_set_sdhost_clock(u32 rate_hz, u32 *rate_1, u32 *rate_2)
|
||||
+{
|
||||
+ ALLOC_CACHE_ALIGN_BUFFER(struct msg_set_sdhost_clock, msg_sdhost_clk, 1);
|
||||
+ int ret;
|
||||
+
|
||||
+ BCM2835_MBOX_INIT_HDR(msg_sdhost_clk);
|
||||
+ BCM2835_MBOX_INIT_TAG(&msg_sdhost_clk->set_sdhost_clock, SET_SDHOST_CLOCK);
|
||||
+
|
||||
+ msg_sdhost_clk->set_sdhost_clock.body.req.rate_hz = rate_hz;
|
||||
+ msg_sdhost_clk->set_sdhost_clock.body.req.rate_1 = *rate_1;
|
||||
+ msg_sdhost_clk->set_sdhost_clock.body.req.rate_2 = *rate_2;
|
||||
+
|
||||
+ ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg_sdhost_clk->hdr);
|
||||
+ if (ret) {
|
||||
+ printf("bcm2835: Could not query sdhost clock rate\n");
|
||||
+ return -EIO;
|
||||
+ }
|
||||
+
|
||||
+ *rate_1 = msg_sdhost_clk->set_sdhost_clock.body.resp.rate_1;
|
||||
+ *rate_2 = msg_sdhost_clk->set_sdhost_clock.body.resp.rate_2;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
int bcm2835_get_video_size(int *widthp, int *heightp)
|
||||
{
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_query, msg_query, 1);
|
||||
diff --git a/drivers/mmc/bcm2835_sdhost.c b/drivers/mmc/bcm2835_sdhost.c
|
||||
index 894dbdd6861..3a9cd6f1eb2 100644
|
||||
--- a/drivers/mmc/bcm2835_sdhost.c
|
||||
+++ b/drivers/mmc/bcm2835_sdhost.c
|
||||
@@ -181,6 +181,7 @@ struct bcm2835_host {
|
||||
struct udevice *dev;
|
||||
struct mmc *mmc;
|
||||
struct bcm2835_plat *plat;
|
||||
+ unsigned int firmware_sets_cdiv:1;
|
||||
};
|
||||
|
||||
static void bcm2835_dumpregs(struct bcm2835_host *host)
|
||||
@@ -233,7 +234,7 @@ static void bcm2835_reset_internal(struct bcm2835_host *host)
|
||||
msleep(20);
|
||||
host->clock = 0;
|
||||
writel(host->hcfg, host->ioaddr + SDHCFG);
|
||||
- writel(host->cdiv, host->ioaddr + SDCDIV);
|
||||
+ writel(SDCDIV_MAX_CDIV, host->ioaddr + SDCDIV);
|
||||
}
|
||||
|
||||
static int bcm2835_wait_transfer_complete(struct bcm2835_host *host)
|
||||
@@ -598,6 +599,7 @@ static int bcm2835_transmit(struct bcm2835_host *host)
|
||||
static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock)
|
||||
{
|
||||
int div;
|
||||
+ u32 clock_rate[2] = { 0 };
|
||||
|
||||
/* The SDCDIV register has 11 bits, and holds (div - 2). But
|
||||
* in data mode the max is 50MHz wihout a minimum, and only
|
||||
@@ -620,26 +622,34 @@ static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock)
|
||||
* clock divisor at all times.
|
||||
*/
|
||||
|
||||
- if (clock < 100000) {
|
||||
- /* Can't stop the clock, but make it as slow as possible
|
||||
- * to show willing
|
||||
- */
|
||||
- host->cdiv = SDCDIV_MAX_CDIV;
|
||||
- writel(host->cdiv, host->ioaddr + SDCDIV);
|
||||
- return;
|
||||
- }
|
||||
+ if (host->firmware_sets_cdiv) {
|
||||
+ bcm2835_set_sdhost_clock(clock, &clock_rate[0], &clock_rate[1]);
|
||||
+ clock = max(clock_rate[0], clock_rate[1]);
|
||||
+ } else {
|
||||
+ if (clock < 100000) {
|
||||
+ /* Can't stop the clock, but make it as slow as possible
|
||||
+ * to show willing
|
||||
+ */
|
||||
+ host->cdiv = SDCDIV_MAX_CDIV;
|
||||
+ writel(host->cdiv, host->ioaddr + SDCDIV);
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
- div = host->max_clk / clock;
|
||||
- if (div < 2)
|
||||
- div = 2;
|
||||
- if ((host->max_clk / div) > clock)
|
||||
- div++;
|
||||
- div -= 2;
|
||||
+ div = host->max_clk / clock;
|
||||
+ if (div < 2)
|
||||
+ div = 2;
|
||||
+ if ((host->max_clk / div) > clock)
|
||||
+ div++;
|
||||
+ div -= 2;
|
||||
|
||||
- if (div > SDCDIV_MAX_CDIV)
|
||||
- div = SDCDIV_MAX_CDIV;
|
||||
+ if (div > SDCDIV_MAX_CDIV)
|
||||
+ div = SDCDIV_MAX_CDIV;
|
||||
+
|
||||
+ clock = host->max_clk / (div + 2);
|
||||
+ host->cdiv = div;
|
||||
+ writel(host->cdiv, host->ioaddr + SDCDIV);
|
||||
+ }
|
||||
|
||||
- clock = host->max_clk / (div + 2);
|
||||
host->mmc->clock = clock;
|
||||
|
||||
/* Calibrate some delays */
|
||||
@@ -647,9 +657,6 @@ static void bcm2835_set_clock(struct bcm2835_host *host, unsigned int clock)
|
||||
host->ns_per_fifo_word = (1000000000 / clock) *
|
||||
((host->mmc->card_caps & MMC_MODE_4BIT) ? 8 : 32);
|
||||
|
||||
- host->cdiv = div;
|
||||
- writel(host->cdiv, host->ioaddr + SDCDIV);
|
||||
-
|
||||
/* Set the timeout to 500ms */
|
||||
writel(host->mmc->clock / 2, host->ioaddr + SDTOUT);
|
||||
}
|
||||
@@ -759,6 +766,7 @@ static int bcm2835_probe(struct udevice *dev)
|
||||
struct bcm2835_host *host = dev_get_priv(dev);
|
||||
struct mmc *mmc = mmc_get_mmc_dev(dev);
|
||||
struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
|
||||
+ u32 clock_rate[2] = { ~0 };
|
||||
|
||||
host->dev = dev;
|
||||
host->mmc = mmc;
|
||||
@@ -776,6 +784,9 @@ static int bcm2835_probe(struct udevice *dev)
|
||||
|
||||
host->max_clk = bcm2835_get_mmc_clock(BCM2835_MBOX_CLOCK_ID_CORE);
|
||||
|
||||
+ bcm2835_set_sdhost_clock(0, &clock_rate[0], &clock_rate[1]);
|
||||
+ host->firmware_sets_cdiv = (clock_rate[0] != ~0);
|
||||
+
|
||||
bcm2835_add_host(host);
|
||||
|
||||
dev_dbg(dev, "%s -> OK\n", __func__);
|
||||
|
|
@ -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)
|
||||
77
rpi-fallback-to-max-clock-for-mmc.patch
Normal file
77
rpi-fallback-to-max-clock-for-mmc.patch
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
From 71ba043e5c5575f3d86536acade70dab6599489b Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Fazio <vfazio@xes-inc.com>
|
||||
Date: Mon, 13 Sep 2021 11:22:30 -0500
|
||||
Subject: [PATCH] arm: rpi: fallback to max clock rate for MMC clock
|
||||
|
||||
In rpi-firmware 25e2b597ebfb2495eab4816a276758dcc6ea21f1 and later,
|
||||
the GET_CLOCK_RATE mailbox property was changed to return the last
|
||||
value set by SET_CLOCK_RATE.
|
||||
|
||||
https://github.com/raspberrypi/firmware/issues/1619#issuecomment-917025502
|
||||
|
||||
U-Boot does not call SET_CLOCK_RATE so bcm2835_get_mmc_clock will
|
||||
return zero and can cause degraded MMC performance.
|
||||
|
||||
Calling SET_CLOCK_RATE fixes the frequency of the clock to a specific
|
||||
value and disables the firmware's clock scaling so is not an option.
|
||||
|
||||
Instead, fallback to GET_MAX_CLOCK_RATE in bcm2835_get_mmc_clock if
|
||||
GET_CLOCK_RATE returns zero.
|
||||
|
||||
Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
|
||||
---
|
||||
arch/arm/mach-bcm283x/include/mach/mbox.h | 2 ++
|
||||
arch/arm/mach-bcm283x/msg.c | 20 +++++++++++++++++++-
|
||||
2 files changed, 21 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
index 2ae2d3d97c3..7dcac583cc4 100644
|
||||
--- a/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
+++ b/arch/arm/mach-bcm283x/include/mach/mbox.h
|
||||
@@ -224,6 +224,8 @@ struct bcm2835_mbox_tag_set_power_state {
|
||||
};
|
||||
|
||||
#define BCM2835_MBOX_TAG_GET_CLOCK_RATE 0x00030002
|
||||
+#define BCM2835_MBOX_TAG_GET_MAX_CLOCK_RATE 0x00030004
|
||||
+#define BCM2835_MBOX_TAG_GET_MIN_CLOCK_RATE 0x00030007
|
||||
|
||||
#define BCM2835_MBOX_CLOCK_ID_EMMC 1
|
||||
#define BCM2835_MBOX_CLOCK_ID_UART 2
|
||||
diff --git a/arch/arm/mach-bcm283x/msg.c b/arch/arm/mach-bcm283x/msg.c
|
||||
index 347aece3cd8..e2badfecb09 100644
|
||||
--- a/arch/arm/mach-bcm283x/msg.c
|
||||
+++ b/arch/arm/mach-bcm283x/msg.c
|
||||
@@ -75,6 +75,7 @@ int bcm2835_get_mmc_clock(u32 clock_id)
|
||||
{
|
||||
ALLOC_CACHE_ALIGN_BUFFER(struct msg_get_clock_rate, msg_clk, 1);
|
||||
int ret;
|
||||
+ u32 clock_rate = 0;
|
||||
|
||||
ret = bcm2835_power_on_module(BCM2835_MBOX_POWER_DEVID_SDHCI);
|
||||
if (ret)
|
||||
@@ -90,7 +91,24 @@ int bcm2835_get_mmc_clock(u32 clock_id)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
- return msg_clk->get_clock_rate.body.resp.rate_hz;
|
||||
+ clock_rate = msg_clk->get_clock_rate.body.resp.rate_hz;
|
||||
+
|
||||
+ if (clock_rate == 0)
|
||||
+ {
|
||||
+ BCM2835_MBOX_INIT_HDR(msg_clk);
|
||||
+ BCM2835_MBOX_INIT_TAG(&msg_clk->get_clock_rate, GET_MAX_CLOCK_RATE);
|
||||
+ msg_clk->get_clock_rate.body.req.clock_id = clock_id;
|
||||
+
|
||||
+ ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg_clk->hdr);
|
||||
+ if (ret) {
|
||||
+ printf("bcm2835: Could not query max eMMC clock rate\n");
|
||||
+ return -EIO;
|
||||
+ }
|
||||
+
|
||||
+ clock_rate = msg_clk->get_clock_rate.body.resp.rate_hz;
|
||||
+ }
|
||||
+
|
||||
+ return clock_rate;
|
||||
}
|
||||
|
||||
int bcm2835_get_video_size(int *widthp, int *heightp)
|
||||
544
smbios-Simplify-reporting-of-unknown-values.patch
Normal file
544
smbios-Simplify-reporting-of-unknown-values.patch
Normal file
|
|
@ -0,0 +1,544 @@
|
|||
From patchwork Tue Sep 6 13:44:25 2022
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
X-Patchwork-Id: 1674857
|
||||
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=<UNKNOWN>)
|
||||
Authentication-Results: legolas.ozlabs.org;
|
||||
dkim=pass (2048-bit key;
|
||||
unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256
|
||||
header.s=google header.b=wUY2RcfH;
|
||||
dkim-atps=neutral
|
||||
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 server-signature ECDSA (P-384))
|
||||
(No client certificate requested)
|
||||
by legolas.ozlabs.org (Postfix) with ESMTPS id 4MMRT72TCPz1yhd
|
||||
for <incoming@patchwork.ozlabs.org>; Tue, 6 Sep 2022 23:44:43 +1000 (AEST)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id 498F2849CE;
|
||||
Tue, 6 Sep 2022 15:44:39 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=linaro.org
|
||||
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=linaro.org header.i=@linaro.org header.b="wUY2RcfH";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id A8842849CF; Tue, 6 Sep 2022 15:44:37 +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,SPF_HELO_NONE,SPF_PASS,
|
||||
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
|
||||
[IPv6:2a00:1450:4864:20::52d])
|
||||
(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 403A5849AA
|
||||
for <u-boot@lists.denx.de>; Tue, 6 Sep 2022 15:44:35 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=linaro.org
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=ilias.apalodimas@linaro.org
|
||||
Received: by mail-ed1-x52d.google.com with SMTP id x73so8243364ede.10
|
||||
for <u-boot@lists.denx.de>; Tue, 06 Sep 2022 06:44:35 -0700 (PDT)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;
|
||||
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
|
||||
:to:from:from:to:cc:subject:date;
|
||||
bh=YBbhuTYZcGSI4FSsstTIADofj6ZEC8vsTpd/U8gWDlU=;
|
||||
b=wUY2RcfHqhMQ1dgd2my7jtmfsgHjAF8xFa3HnTkB/tUGQL/oQyls7ODcVui/VImHlf
|
||||
Ah33xwYqK1nwEuoS8HqkWcksTr48pKf/EikkkBbHif0XnfS4oySI3RHo7WW6Yi8HQUoP
|
||||
tbuQ3LPSYgo+62HaqTYVoJ2g6jc1qiEFe/+y6hR2BfmyKd0g/SxwLS9P1QuQosdhX+uO
|
||||
DKWWukFYFV06Nn7x/3oiyoXq33VAWatgQBv/sPC7dBgh/EpnobDpI8NhNhJAkFIcAUrU
|
||||
B91PBwNRtB1Lsf+Eo3WjLtQbinL3h/VvogRSvZEoKCmHY5dbTYB8G1uNzksnK6QecIRu
|
||||
q9qA==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20210112;
|
||||
h=content-transfer-encoding:mime-version:message-id:date:subject:cc
|
||||
:to:from:x-gm-message-state:from:to:cc:subject:date;
|
||||
bh=YBbhuTYZcGSI4FSsstTIADofj6ZEC8vsTpd/U8gWDlU=;
|
||||
b=KfQ/P0sYI7szdfgs6GA5oPXctzQ8yfxjRs7PgVHFg7jl09SeFl3jpKzaMGbC7GlEgM
|
||||
JXt2VP6w9TndL/D71cR8w9BObY2mZJoLRP/s25LpSU6izkisnuueyGeqKegGEfGE+4B3
|
||||
9xaG/EUlPZmHlAem6bOf9Dl6lE5WkT6SnTDopwODIbcTAWlIa8Gjtw9XBaaa8iRnVuTn
|
||||
S3IwY9R7DLaSFBQXTVHmAYnhCc2b5XCRKlSNwmDE65+LqvOdAu3MTbA5/YyL9pEPjHi9
|
||||
4q0ZQksAE0olpQQwxyjHrvz7h7ktSuJoesa/A4dX3PEbzSbBmPI1CGtPy27/luAUCH3F
|
||||
e8Vw==
|
||||
X-Gm-Message-State: ACgBeo2YRons+T+T1+BdP4+uyEFge3LrQ/gS2VYwuVZg325XGZ8HVnXH
|
||||
Lq8no+qriMaFPrto6+L889ufiYLHsm+dZQ==
|
||||
X-Google-Smtp-Source:
|
||||
AA6agR6coLdFIB45xwZJzpltd9Qfi6bEAn6J22G77ibwSDNyt1L1YbxRL9dlK4pmf9A6n2RN31Ug2w==
|
||||
X-Received: by 2002:aa7:c84f:0:b0:446:2bfb:5a63 with SMTP id
|
||||
g15-20020aa7c84f000000b004462bfb5a63mr17498596edt.172.1662471874779;
|
||||
Tue, 06 Sep 2022 06:44:34 -0700 (PDT)
|
||||
Received: from localhost.localdomain ([46.103.15.185])
|
||||
by smtp.gmail.com with ESMTPSA id
|
||||
p23-20020a056402501700b0043ba7df7a42sm8473330eda.26.2022.09.06.06.44.33
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 06 Sep 2022 06:44:34 -0700 (PDT)
|
||||
From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
To: u-boot@lists.denx.de
|
||||
Cc: trini@konsulko.com, sjg@chromium.org, heinrich.schuchardt@canonical.com,
|
||||
pbrobinson@gmail.com, Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
Subject: [PATCH 1/2] smbios: Simplify reporting of unknown values
|
||||
Date: Tue, 6 Sep 2022 16:44:25 +0300
|
||||
Message-Id: <20220906134426.53748-1-ilias.apalodimas@linaro.org>
|
||||
X-Mailer: git-send-email 2.37.2
|
||||
MIME-Version: 1.0
|
||||
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.6 at phobos.denx.de
|
||||
X-Virus-Status: Clean
|
||||
|
||||
If a value is not valid during the DT or SYSINFO parsing, we explicitly
|
||||
set that to "Unknown Product" and "Unknown" for the product and
|
||||
manufacturer respectively. It's cleaner if we move the checks insisde
|
||||
smbios_add_string() and always report "Unknown" regardless of the missing
|
||||
field.
|
||||
|
||||
pre-patch dmidecode
|
||||
<snip>
|
||||
Handle 0x0001, DMI type 1, 27 bytes
|
||||
System Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown Product
|
||||
Version: Not Specified
|
||||
Serial Number: Not Specified
|
||||
UUID: Not Settable
|
||||
Wake-up Type: Reserved
|
||||
SKU Number: Not Specified
|
||||
Family: Not Specified
|
||||
|
||||
Handle 0x0002, DMI type 2, 14 bytes
|
||||
Base Board Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown Product
|
||||
Version: Not Specified
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Not Specified
|
||||
Features:
|
||||
Board is a hosting board
|
||||
Location In Chassis: Not Specified
|
||||
Chassis Handle: 0x0000
|
||||
Type: Motherboard
|
||||
<snip>
|
||||
|
||||
post-patch dmidecode:
|
||||
|
||||
Handle 0x0001, DMI type 1, 27 bytes
|
||||
System Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown
|
||||
Version: Unknown
|
||||
Serial Number: Unknown
|
||||
UUID: Not Settable
|
||||
Wake-up Type: Reserved
|
||||
SKU Number: Unknown
|
||||
Family: Unknown
|
||||
|
||||
Handle 0x0002, DMI type 2, 14 bytes
|
||||
Base Board Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown
|
||||
Version: Unknown
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Unknown
|
||||
Features:
|
||||
Board is a hosting board
|
||||
Location In Chassis: Not Specified
|
||||
Chassis Handle: 0x0000
|
||||
Type: Motherboard
|
||||
|
||||
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
---
|
||||
lib/smbios.c | 17 +++--------------
|
||||
1 file changed, 3 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/lib/smbios.c b/lib/smbios.c
|
||||
index d7f4999e8b2a..fcc8686993ef 100644
|
||||
--- a/lib/smbios.c
|
||||
+++ b/lib/smbios.c
|
||||
@@ -102,7 +102,7 @@ static int smbios_add_string(struct smbios_ctx *ctx, const char *str)
|
||||
int i = 1;
|
||||
char *p = ctx->eos;
|
||||
|
||||
- if (!*str)
|
||||
+ if (!str || !*str)
|
||||
str = "Unknown";
|
||||
|
||||
for (;;) {
|
||||
@@ -151,8 +151,7 @@ static int smbios_add_prop_si(struct smbios_ctx *ctx, const char *prop,
|
||||
const char *str;
|
||||
|
||||
str = ofnode_read_string(ctx->node, prop);
|
||||
- if (str)
|
||||
- return smbios_add_string(ctx, str);
|
||||
+ return smbios_add_string(ctx, str);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -231,7 +230,7 @@ static int smbios_write_type0(ulong *current, int handle,
|
||||
t->vendor = smbios_add_string(ctx, "U-Boot");
|
||||
|
||||
t->bios_ver = smbios_add_prop(ctx, "version");
|
||||
- if (!t->bios_ver)
|
||||
+ if (!strcmp(ctx->last_str, "Unknown"))
|
||||
t->bios_ver = smbios_add_string(ctx, PLAIN_VERSION);
|
||||
if (t->bios_ver)
|
||||
gd->smbios_version = ctx->last_str;
|
||||
@@ -281,11 +280,7 @@ static int smbios_write_type1(ulong *current, int handle,
|
||||
fill_smbios_header(t, SMBIOS_SYSTEM_INFORMATION, len, handle);
|
||||
smbios_set_eos(ctx, t->eos);
|
||||
t->manufacturer = smbios_add_prop(ctx, "manufacturer");
|
||||
- if (!t->manufacturer)
|
||||
- t->manufacturer = smbios_add_string(ctx, "Unknown");
|
||||
t->product_name = smbios_add_prop(ctx, "product");
|
||||
- if (!t->product_name)
|
||||
- t->product_name = smbios_add_string(ctx, "Unknown Product");
|
||||
t->version = smbios_add_prop_si(ctx, "version",
|
||||
SYSINFO_ID_SMBIOS_SYSTEM_VERSION);
|
||||
if (serial_str) {
|
||||
@@ -315,11 +310,7 @@ static int smbios_write_type2(ulong *current, int handle,
|
||||
fill_smbios_header(t, SMBIOS_BOARD_INFORMATION, len, handle);
|
||||
smbios_set_eos(ctx, t->eos);
|
||||
t->manufacturer = smbios_add_prop(ctx, "manufacturer");
|
||||
- if (!t->manufacturer)
|
||||
- t->manufacturer = smbios_add_string(ctx, "Unknown");
|
||||
t->product_name = smbios_add_prop(ctx, "product");
|
||||
- if (!t->product_name)
|
||||
- t->product_name = smbios_add_string(ctx, "Unknown Product");
|
||||
t->version = smbios_add_prop_si(ctx, "version",
|
||||
SYSINFO_ID_SMBIOS_BASEBOARD_VERSION);
|
||||
t->asset_tag_number = smbios_add_prop(ctx, "asset-tag");
|
||||
@@ -344,8 +335,6 @@ static int smbios_write_type3(ulong *current, int handle,
|
||||
fill_smbios_header(t, SMBIOS_SYSTEM_ENCLOSURE, len, handle);
|
||||
smbios_set_eos(ctx, t->eos);
|
||||
t->manufacturer = smbios_add_prop(ctx, "manufacturer");
|
||||
- if (!t->manufacturer)
|
||||
- t->manufacturer = smbios_add_string(ctx, "Unknown");
|
||||
t->chassis_type = SMBIOS_ENCLOSURE_DESKTOP;
|
||||
t->bootup_state = SMBIOS_STATE_SAFE;
|
||||
t->power_supply_state = SMBIOS_STATE_SAFE;
|
||||
|
||||
From patchwork Tue Sep 6 13:44:26 2022
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
X-Patchwork-Submitter: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
X-Patchwork-Id: 1674858
|
||||
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=<UNKNOWN>)
|
||||
Authentication-Results: legolas.ozlabs.org;
|
||||
dkim=pass (2048-bit key;
|
||||
unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256
|
||||
header.s=google header.b=wBCOiKYw;
|
||||
dkim-atps=neutral
|
||||
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 server-signature ECDSA (P-384))
|
||||
(No client certificate requested)
|
||||
by legolas.ozlabs.org (Postfix) with ESMTPS id 4MMRTM5pHRz1yhk
|
||||
for <incoming@patchwork.ozlabs.org>; Tue, 6 Sep 2022 23:44:55 +1000 (AEST)
|
||||
Received: from h2850616.stratoserver.net (localhost [IPv6:::1])
|
||||
by phobos.denx.de (Postfix) with ESMTP id 3639F849EA;
|
||||
Tue, 6 Sep 2022 15:44:53 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=linaro.org
|
||||
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=linaro.org header.i=@linaro.org header.b="wBCOiKYw";
|
||||
dkim-atps=neutral
|
||||
Received: by phobos.denx.de (Postfix, from userid 109)
|
||||
id E57FC84A1A; Tue, 6 Sep 2022 15:44: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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,
|
||||
DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS,
|
||||
T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2
|
||||
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
|
||||
[IPv6:2a00:1450:4864:20::52f])
|
||||
(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 60CD0849AA
|
||||
for <u-boot@lists.denx.de>; Tue, 6 Sep 2022 15:44:49 +0200 (CEST)
|
||||
Authentication-Results: phobos.denx.de;
|
||||
dmarc=pass (p=none dis=none) header.from=linaro.org
|
||||
Authentication-Results: phobos.denx.de;
|
||||
spf=pass smtp.mailfrom=ilias.apalodimas@linaro.org
|
||||
Received: by mail-ed1-x52f.google.com with SMTP id z21so5172669edi.1
|
||||
for <u-boot@lists.denx.de>; Tue, 06 Sep 2022 06:44:49 -0700 (PDT)
|
||||
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google;
|
||||
h=content-transfer-encoding:mime-version:references:in-reply-to
|
||||
:message-id:date:subject:cc:to:from:from:to:cc:subject:date;
|
||||
bh=KsGBN7dLy4q3TeQQmsDywPtn2m3V5eSK1ppBgO8D3xg=;
|
||||
b=wBCOiKYwM4mGDZUo6l68tblLVt57cCnO0dlzFPj9+m6cwKXe3agxiM3w4t9T5c822i
|
||||
vHmFd2F08bUrX81t/h4PDzg0mngbB9Rc9o4i3td1G9Zw6NdmogU7T7gEUyKKcTc80AWl
|
||||
QbbYgxulWB5Eg2dTQ3tlb2xmb5BU1/X0zl/rOC6l89urohdQtpIJ4XgFlijFlBgxh8XD
|
||||
aHytniLKGTLlVdJAIobcF9aM/ihpO7LPTDZ4SPCBt4t9+UWGW7vuTPDPDkCRiaaFestv
|
||||
9P32ZrGj43CH92zBQtpgZICS0UhzD3oYWJkwsmFbfxddgY5VD5SQi69VzD1CfFOvTGgX
|
||||
5HBg==
|
||||
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||||
d=1e100.net; s=20210112;
|
||||
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;
|
||||
bh=KsGBN7dLy4q3TeQQmsDywPtn2m3V5eSK1ppBgO8D3xg=;
|
||||
b=h1yL2aMN8ooI48PrqxwSNjw+MAj6qGtRMJjV8AWmRfv7nVQ97I/cXbauy/NItVEWP0
|
||||
eO4WFqVMQO+xyGn1S5w0MXYGVbEpVNxf0gwM7n7Ad+K2E2PDHyu6glGTvcqCW11gPGOJ
|
||||
uNDyo6pu7OtmOBso2OaL5eMGhw66ZGqQbzlQtO0mhqJf1RtQ9fRduRZrfTzAR9wIrM4Y
|
||||
qR3iK6b4O97tu0W0SctGf3rCNzI2bDv/zBKRvfSJ6q7s4DhLDxBJyQjySBo0Ee6UIwKc
|
||||
5q8zldycF/JfIbqzlJe6DaeoeDbzJ7qLBPvDmxQ7owSV9ftEa8lh/IIdPn13uDL2Bxjz
|
||||
WLbg==
|
||||
X-Gm-Message-State: ACgBeo0DsGDn9dDw7GQ5K44iwyXJqKH0pM3NWFxuDlmBNzKLyzH8SEzb
|
||||
03ImCopxuD/6oyVtH7ygeEl2Cc6GlNzVNQ==
|
||||
X-Google-Smtp-Source:
|
||||
AA6agR6kpp8KIkqO+/pui5Dy7mRTrk+S2U0k99eVOJv3PGkIDZ8H0oqIBypOwW5nogFds0FAjF4TXg==
|
||||
X-Received: by 2002:a05:6402:f18:b0:44d:9a45:394 with SMTP id
|
||||
i24-20020a0564020f1800b0044d9a450394mr12375719eda.138.1662471889015;
|
||||
Tue, 06 Sep 2022 06:44:49 -0700 (PDT)
|
||||
Received: from localhost.localdomain ([46.103.15.185])
|
||||
by smtp.gmail.com with ESMTPSA id
|
||||
p23-20020a056402501700b0043ba7df7a42sm8473330eda.26.2022.09.06.06.44.48
|
||||
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
|
||||
Tue, 06 Sep 2022 06:44:48 -0700 (PDT)
|
||||
From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
To: u-boot@lists.denx.de
|
||||
Cc: trini@konsulko.com, sjg@chromium.org, heinrich.schuchardt@canonical.com,
|
||||
pbrobinson@gmail.com, Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
Subject: [PATCH 2/2] smbios: Fallback to the default DT if sysinfo nodes are
|
||||
missing
|
||||
Date: Tue, 6 Sep 2022 16:44:26 +0300
|
||||
Message-Id: <20220906134426.53748-2-ilias.apalodimas@linaro.org>
|
||||
X-Mailer: git-send-email 2.37.2
|
||||
In-Reply-To: <20220906134426.53748-1-ilias.apalodimas@linaro.org>
|
||||
References: <20220906134426.53748-1-ilias.apalodimas@linaro.org>
|
||||
MIME-Version: 1.0
|
||||
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.6 at phobos.denx.de
|
||||
X-Virus-Status: Clean
|
||||
|
||||
In order to fill in the SMBIOS tables U-Boot currently relies on a
|
||||
"u-boot,sysinfo-smbios" compatible node. This is fine for the boards
|
||||
that already include such nodes. However with some recent EFI changes,
|
||||
the majority of boards can boot up distros, which usually rely on
|
||||
things like dmidecode etc for their reporting. For boards that
|
||||
lack this special node the SMBIOS output looks like:
|
||||
|
||||
System Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown
|
||||
Version: Unknown
|
||||
Serial Number: Unknown
|
||||
UUID: Not Settable
|
||||
Wake-up Type: Reserved
|
||||
SKU Number: Unknown
|
||||
Family: Unknown
|
||||
|
||||
This looks problematic since most of the info are "Unknown". The DT spec
|
||||
specifies standard properties containing relevant information like
|
||||
'model' and 'compatible' for which the suggested format is
|
||||
<manufacturer,model>. So let's add a last resort to our current
|
||||
smbios parsing. If none of the sysinfo properties are found, we can
|
||||
scan the root node for 'model' and 'compatible'.
|
||||
|
||||
pre-patch dmidecode:
|
||||
<snip>
|
||||
Handle 0x0001, DMI type 1, 27 bytes
|
||||
System Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown
|
||||
Version: Unknown
|
||||
Serial Number: Unknown
|
||||
UUID: Not Settable
|
||||
Wake-up Type: Reserved
|
||||
SKU Number: Unknown
|
||||
Family: Unknown
|
||||
|
||||
Handle 0x0002, DMI type 2, 14 bytes
|
||||
Base Board Information
|
||||
Manufacturer: Unknown
|
||||
Product Name: Unknown
|
||||
Version: Unknown
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Unknown
|
||||
Features:
|
||||
Board is a hosting board
|
||||
Location In Chassis: Not Specified
|
||||
Chassis Handle: 0x0000
|
||||
Type: Motherboard
|
||||
|
||||
Handle 0x0003, DMI type 3, 21 bytes
|
||||
Chassis Information
|
||||
Manufacturer: Unknown
|
||||
Type: Desktop
|
||||
Lock: Not Present
|
||||
Version: Not Specified
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Not Specified
|
||||
Boot-up State: Safe
|
||||
Power Supply State: Safe
|
||||
Thermal State: Safe
|
||||
Security Status: None
|
||||
OEM Information: 0x00000000
|
||||
Height: Unspecified
|
||||
Number Of Power Cords: Unspecified
|
||||
Contained Elements: 0
|
||||
<snip>
|
||||
|
||||
post-pastch dmidecode:
|
||||
<snip>
|
||||
Handle 0x0001, DMI type 1, 27 bytes
|
||||
System Information
|
||||
Manufacturer: socionext,developer-box
|
||||
Product Name: Socionext Developer Box
|
||||
Version: Unknown
|
||||
Serial Number: Unknown
|
||||
UUID: Not Settable
|
||||
Wake-up Type: Reserved
|
||||
SKU Number: Unknown
|
||||
Family: Unknown
|
||||
|
||||
Handle 0x0002, DMI type 2, 14 bytes
|
||||
Base Board Information
|
||||
Manufacturer: socionext,developer-box
|
||||
Product Name: Socionext Developer Box
|
||||
Version: Unknown
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Unknown
|
||||
Features:
|
||||
Board is a hosting board
|
||||
Location In Chassis: Not Specified
|
||||
Chassis Handle: 0x0000
|
||||
Type: Motherboard
|
||||
|
||||
Handle 0x0003, DMI type 3, 21 bytes
|
||||
Chassis Information
|
||||
Manufacturer: socionext,developer-box
|
||||
Type: Desktop
|
||||
Lock: Not Present
|
||||
Version: Not Specified
|
||||
Serial Number: Not Specified
|
||||
Asset Tag: Not Specified
|
||||
Boot-up State: Safe
|
||||
Power Supply State: Safe
|
||||
Thermal State: Safe
|
||||
Security Status: None
|
||||
OEM Information: 0x00000000
|
||||
Height: Unspecified
|
||||
Number Of Power Cords: Unspecified
|
||||
Contained Elements: 0
|
||||
<snip>
|
||||
|
||||
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
|
||||
---
|
||||
lib/smbios.c | 41 +++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 39 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/smbios.c b/lib/smbios.c
|
||||
index fcc8686993ef..f2eb961f514b 100644
|
||||
--- a/lib/smbios.c
|
||||
+++ b/lib/smbios.c
|
||||
@@ -43,6 +43,20 @@
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
+/**
|
||||
+ * struct sysifno_to_dt - Mapping of sysinfo strings to DT
|
||||
+ *
|
||||
+ * @sysinfo_str: sysinfo string
|
||||
+ * @dt_str: DT string
|
||||
+ */
|
||||
+static const struct {
|
||||
+ const char *sysinfo_str;
|
||||
+ const char *dt_str;
|
||||
+} sysifno_to_dt[] = {
|
||||
+ { .sysinfo_str = "product", .dt_str = "model" },
|
||||
+ { .sysinfo_str = "manufacturer", .dt_str = "compatible" },
|
||||
+};
|
||||
+
|
||||
/**
|
||||
* struct smbios_ctx - context for writing SMBIOS tables
|
||||
*
|
||||
@@ -87,6 +101,18 @@ struct smbios_write_method {
|
||||
const char *subnode_name;
|
||||
};
|
||||
|
||||
+static const char *convert_sysinfo_to_dt(const char *sysinfo_str)
|
||||
+{
|
||||
+ int i;
|
||||
+
|
||||
+ for (i = 0; i < ARRAY_SIZE(sysifno_to_dt); i++) {
|
||||
+ if (!strcmp(sysinfo_str, sysifno_to_dt[i].sysinfo_str))
|
||||
+ return sysifno_to_dt[i].dt_str;
|
||||
+ }
|
||||
+
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* smbios_add_string() - add a string to the string area
|
||||
*
|
||||
@@ -148,9 +174,20 @@ static int smbios_add_prop_si(struct smbios_ctx *ctx, const char *prop,
|
||||
return smbios_add_string(ctx, val);
|
||||
}
|
||||
if (IS_ENABLED(CONFIG_OF_CONTROL)) {
|
||||
- const char *str;
|
||||
+ const char *str = NULL;
|
||||
|
||||
- str = ofnode_read_string(ctx->node, prop);
|
||||
+ /*
|
||||
+ * If the node is not valid fallback and try the entire DT
|
||||
+ * so we can at least fill in maufacturer and board type
|
||||
+ */
|
||||
+ if (!ofnode_valid(ctx->node)) {
|
||||
+ const char *nprop = convert_sysinfo_to_dt(prop);
|
||||
+
|
||||
+ if (nprop)
|
||||
+ str = ofnode_read_string(ofnode_root(), nprop);
|
||||
+ } else {
|
||||
+ str = ofnode_read_string(ctx->node, prop);
|
||||
+ }
|
||||
return smbios_add_string(ctx, str);
|
||||
}
|
||||
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (u-boot-v2026.10-rc4.tar.bz2) = c454eb3ad16e3f5b3ee857171e4615dfa7ae413439a5ed77d145b63336de175f18e0557f93012ce067934816ba5d43daa0962e599cc9da6f94ccc659bd088768
|
||||
SHA512 (u-boot-2022.10.tar.bz2) = 95bc1f915a3349f6045e59f46d8514485ca0de1d62303f7026b8e59f3ac539b9545895e0dd736ed7b26f28239db31672ecad2accc3fd99356a55269697039147
|
||||
|
|
|
|||
666
uboot-tools.spec
666
uboot-tools.spec
|
|
@ -1,56 +1,35 @@
|
|||
%global candidate rc4
|
||||
%if 0%{?rhel}
|
||||
%bcond_with toolsonly
|
||||
%else
|
||||
#global candidate rc1
|
||||
%if !0%{?rhel}
|
||||
%bcond_without toolsonly
|
||||
%else
|
||||
%bcond_with toolsonly
|
||||
%endif
|
||||
|
||||
# Set it to "opensbi" (stable) or "opensbi-unstable" (unstable, git)
|
||||
%global opensbi opensbi
|
||||
|
||||
Name: uboot-tools
|
||||
Version: 2026.10
|
||||
Release: 0.4%{?candidate:.%{candidate}}%{?dist}
|
||||
Epoch: 1
|
||||
Version: 2022.10
|
||||
Release: 1%{?candidate:.%{candidate}}%{?dist}
|
||||
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/
|
||||
License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
|
||||
URL: http://www.denx.de/wiki/U-Boot
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
# Fedora patches to enable/disable features
|
||||
Patch1: disable-VBE-by-default.patch
|
||||
Patch2: enable-bootmenu-by-default.patch
|
||||
# This is now legacy, most devices use bootflow, we keep this for the laggards
|
||||
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
|
||||
# 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
|
||||
# Fedoraisms patches
|
||||
# Needed to find DT on boot partition that's not the first partition
|
||||
Patch1: uefi-distro-load-FDT-from-any-partition-on-boot-device.patch
|
||||
Patch2: smbios-Simplify-reporting-of-unknown-values.patch
|
||||
|
||||
# Device improvments
|
||||
# USB-PD improvements
|
||||
Patch10: USB-PD-TCPM-improvements.patch
|
||||
# Board fixes and enablement
|
||||
# RPi - uses RPI firmware device tree for HAT support
|
||||
Patch3: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
|
||||
Patch4: rpi-fallback-to-max-clock-for-mmc.patch
|
||||
Patch5: rpi-bcm2835_sdhost-firmware-managed-clock.patch
|
||||
Patch6: rpi-Copy-properties-from-firmware-DT-to-loaded-DT.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
|
||||
Patch7: rockchip-Add-initial-support-for-the-PinePhone-Pro.patch
|
||||
Patch8: 0001-Revert-power-pmic-rk8xx-Support-sysreset-shutdown-me.patch
|
||||
|
||||
BuildRequires: bc
|
||||
BuildRequires: bison
|
||||
|
|
@ -61,30 +40,15 @@ 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: SDL-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
|
||||
|
||||
|
|
@ -101,30 +65,12 @@ BuildArch: noarch
|
|||
%description -n uboot-images-armv8
|
||||
U-Boot firmware binaries for aarch64 boards
|
||||
%endif
|
||||
|
||||
%ifarch riscv64
|
||||
%package -n uboot-images-riscv64
|
||||
Summary: U-Boot firmware images for riscv64 boards
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n uboot-images-riscv64
|
||||
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 .
|
||||
|
||||
%build
|
||||
mkdir builds
|
||||
|
|
@ -133,67 +79,49 @@ mkdir 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
|
||||
%ifarch aarch64
|
||||
for board in $(cat %{_arch}-boards)
|
||||
do
|
||||
echo "Building board: $board"
|
||||
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)
|
||||
sun50i=(a64-olinuxino amarula_a64_relic bananapi_m2_plus_h5 bananapi_m64 libretech_all_h3_cc_h5 nanopi_a64 nanopi_neo2 nanopi_neo_plus2 orangepi_pc2 orangepi_prime orangepi_win orangepi_zero_plus orangepi_zero_plus2 pine64-lts pine64_plus pinebook 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)/
|
||||
cp /usr/share/arm-trusted-firmware/sun50i_a64/* 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)
|
||||
sun50h6=(beelink_gs1 orangepi_3 orangepi_lite2 orangepi_one_plus orangepi_zero2 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)/
|
||||
cp /usr/share/arm-trusted-firmware/sun50i_h6/* 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)
|
||||
rk3328=(evb-rk3328 nanopi-r2s-rk3328 rock64-rk3328 rock-pi-e-rk3328 roc-cc-rk3328)
|
||||
if [[ " ${rk3328[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board using rk3328"
|
||||
cp /usr/share/arm-trusted-firmware/rk3328/bl31.elf builds/$(echo $board)/atf-bl31
|
||||
cp /usr/share/arm-trusted-firmware/rk3328/* builds/$(echo $board)/
|
||||
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)
|
||||
rk3399=(evb-rk3399 ficus-rk3399 firefly-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 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)/
|
||||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
|
||||
|
||||
# build spi images for rockchip boards with SPI flash
|
||||
rkspi=(rock64-rk3328)
|
||||
if [[ " ${rkspi[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board with SPI flash"
|
||||
builds/$(echo $board)/tools/mkimage -n rk3328 -T rkspi -d builds/$(echo $board)/tpl/u-boot-tpl.bin:builds/$(echo $board)/spl/u-boot-spl.bin builds/$(echo $board)/idbloader.spi
|
||||
fi
|
||||
rkspi=(evb-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 nanopc-t4-rk3399 pinebook-pro-rk3399 pinephone-pro-rk3399 rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399)
|
||||
if [[ " ${rkspi[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board with SPI flash"
|
||||
builds/$(echo $board)/tools/mkimage -n rk3399 -T rkspi -d builds/$(echo $board)/tpl/u-boot-tpl.bin:builds/$(echo $board)/spl/u-boot-spl.bin builds/$(echo $board)/idbloader.spi
|
||||
fi
|
||||
done
|
||||
|
||||
%endif
|
||||
|
|
@ -208,369 +136,377 @@ mkdir -p %{buildroot}%{_datadir}/uboot/
|
|||
%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
|
||||
mkdir -p %{buildroot}%{_datadir}/uboot/$(echo $board)/
|
||||
for file in u-boot.bin u-boot.dtb u-boot.img u-boot-dtb.img u-boot.itb u-boot-sunxi-with-spl.bin u-boot-rockchip.bin idbloader.img idbloader.spi spl/boot.bin spl/sunxi-spl.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)
|
||||
install -p -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/
|
||||
fi
|
||||
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
|
||||
# For Apple M1 we also need the nodtb variant
|
||||
install -p -m 0644 builds/apple_m1/u-boot-nodtb.bin %{buildroot}%{_datadir}/uboot/apple_m1/u-boot-nodtb.bin
|
||||
%endif
|
||||
|
||||
# Bit of a hack to remove binaries we don't use as they're large
|
||||
%ifarch aarch64
|
||||
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}.*
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/MLO ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
fi
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/SPL ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
fi
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.imx ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
fi
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-spl.kwb ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.*
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-spl.bin
|
||||
fi
|
||||
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/idbloader.img ]; then
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.img
|
||||
fi
|
||||
done
|
||||
%endif
|
||||
%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
|
||||
for tool in bmp_logo dumpimage env/fw_printenv fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc img2srec mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder ubsha1 xway-swap-bytes kwboot
|
||||
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 0644 doc/mkimage.1 %{buildroot}%{_mandir}/man1
|
||||
|
||||
install -p -m 0755 builds/tools/env/fw_printenv %{buildroot}%{_bindir}
|
||||
( cd %{buildroot}%{_bindir}; ln -sf fw_printenv fw_setenv )
|
||||
|
||||
# Copy some useful docs over
|
||||
mkdir -p builds/docs
|
||||
cp -p board/hisilicon/hikey/README builds/docs/README.hikey
|
||||
cp -p board/rockchip/evb_rk3399/README builds/docs/README.evb_rk3399
|
||||
cp -p board/sunxi/README.sunxi64 builds/docs/README.sunxi64
|
||||
cp -p board/sunxi/README.nand builds/docs/README.sunxi-nand
|
||||
|
||||
%files
|
||||
%license Licenses/*
|
||||
%doc README doc/develop/distro.rst doc/README.gpt
|
||||
%doc doc/develop/uefi doc/usage doc/arch/arm64.rst
|
||||
%doc doc/README.rockchip doc/develop/uefi doc/uImage.FIT doc/arch/arm64.rst
|
||||
%doc builds/docs/* doc/board/amlogic/ doc/board/rockchip/
|
||||
%{_bindir}/*
|
||||
%{_mandir}/man1/dumpimage.1*
|
||||
%{_mandir}/man1/kwboot.1*
|
||||
%{_mandir}/man1/mkeficapsule.1*
|
||||
%{_mandir}/man1/mkimage.1*
|
||||
%dir %{_datadir}/uboot/
|
||||
|
||||
%if %{with toolsonly}
|
||||
%ifarch aarch64
|
||||
%files -n uboot-images-armv8
|
||||
%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
|
||||
* Tue Sep 08 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.10-0.4.rc4
|
||||
- Update to 2026.10 RC4
|
||||
* Mon Oct 10 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-1
|
||||
- Update to 2022.10 GA
|
||||
|
||||
* Thu Aug 27 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.10-0.3.rc3
|
||||
- Update to 2026.10 RC3
|
||||
* Tue Sep 06 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-0.6.rc4
|
||||
- Update SMBIOS patch
|
||||
|
||||
* Wed Aug 12 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.10-0.2.rc2
|
||||
- Update to 2026.10 RC2
|
||||
* Tue Sep 06 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-0.5.rc4
|
||||
- Update to 2022.10 RC4
|
||||
- Fix for booting Rockchip devices from NVME
|
||||
|
||||
* Thu Jul 30 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.10-0.1.rc1
|
||||
- Update to 2026.10 RC1
|
||||
- Update source URL
|
||||
* Tue Aug 23 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-0.4.rc3
|
||||
- Update to 2022.10 RC3
|
||||
|
||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:2026.07-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
* Mon Aug 22 2022 Davide Cavalca <dcavalca@fedoraproject.org> - 2022.10-0.3.rc1
|
||||
- Install nodtb variant for Apple M1 (rhbz#2068958)
|
||||
|
||||
* Tue Jul 07 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-1
|
||||
- Update to 2026.07 GA
|
||||
* Tue Aug 16 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-0.2.rc1
|
||||
- Fix for DT property propogation via firmware
|
||||
|
||||
* Tue Jun 23 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-0.4.rc5
|
||||
- Update to 2026.07 RC5
|
||||
* Thu Jul 28 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.10-0.1.rc1
|
||||
- Update to 2022.10 RC1
|
||||
- Enable LTO for firmware builds
|
||||
|
||||
* Mon Jun 08 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-0.3.rc4
|
||||
- Update to 2026.07 RC4
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2022.07-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* 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
|
||||
* Sun Jul 17 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-1
|
||||
- Update to 2022.07 GA
|
||||
|
||||
* Fri May 01 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-0.1.rc1
|
||||
- Update to 2026.07 RC1
|
||||
* Mon Jul 04 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.6.rc6
|
||||
- Update to 2022.07 RC6
|
||||
|
||||
* 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
|
||||
* Mon Jun 20 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.5.rc5
|
||||
- Update to 2022.07 RC5
|
||||
|
||||
* Tue Apr 07 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-1
|
||||
- Update to 2026.04 GA
|
||||
* Sun Jun 12 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.4.rc4
|
||||
- Update to 2022.07 RC4
|
||||
- Some minor Rockchips device fixes
|
||||
|
||||
* Sun Mar 29 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.9.rc5
|
||||
- Enable NVME booting on RPi5
|
||||
* Wed May 25 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.3.rc3
|
||||
- Update to 2022.07 RC3
|
||||
|
||||
* Tue Mar 24 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.8.rc5
|
||||
- Update to 2026.04 RC5
|
||||
* Sat May 14 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.2.rc2
|
||||
- Update to 2022.07 RC2
|
||||
|
||||
* Sat Mar 14 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.7.rc4
|
||||
- Raspberry Pi fixes
|
||||
* Tue Apr 26 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.07-0.1.rc1
|
||||
- Update to 2022.07 RC1
|
||||
|
||||
* Tue Mar 10 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.6.rc4
|
||||
- Update to 2026.04 RC4
|
||||
* Mon Apr 04 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-1
|
||||
- Update to 2022.04 GA
|
||||
|
||||
* Fri Feb 27 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.5.rc3
|
||||
- Update to 2026.04 RC3
|
||||
* Mon Mar 28 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-0.4.rc5
|
||||
- Update to 2022.04 RC5
|
||||
|
||||
* Tue Feb 17 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.4.rc2
|
||||
- Add initial bcm2712d0 identification
|
||||
* Tue Mar 08 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-0.3.rc3
|
||||
- Update to 2022.04 RC3
|
||||
- Enable new Rockchip devices
|
||||
|
||||
* Mon Feb 09 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.3.rc2
|
||||
- Update to 2026.04 RC2
|
||||
* Tue Feb 15 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-0.2.rc2
|
||||
- Update to 2022.04 RC2
|
||||
|
||||
* Tue Jan 27 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.2.rc1
|
||||
- Update to 2026.04 RC1
|
||||
* Wed Feb 02 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.04-0.1.rc1
|
||||
- Update to 2022.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 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2022.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:2026.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
* Mon Jan 10 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.01-1
|
||||
- Update to 2022.01
|
||||
|
||||
* Tue Jan 06 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-1
|
||||
- Update to 2026.01 GA
|
||||
* Wed Jan 05 2022 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.01-0.3.rc4
|
||||
- Upstream fixes for PHY and UEFI
|
||||
|
||||
* Mon Dec 29 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.4.rc5
|
||||
- Update to 2026.01 RC5
|
||||
* Mon Dec 20 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.01-0.2.rc4
|
||||
- Update to 2022.01 RC4
|
||||
|
||||
* Mon Dec 08 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.3.rc4
|
||||
- Update to 2026.01 RC4
|
||||
* Mon Nov 15 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2022.01-0.1.rc2
|
||||
- Update to 2022.01 RC2
|
||||
|
||||
* Fri Nov 28 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.2.rc3
|
||||
- Updates for RPi
|
||||
* Mon Nov 15 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-3
|
||||
- Fixes for rk3399 devices
|
||||
|
||||
* Mon Nov 24 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.1.rc3
|
||||
- Update to 2026.01 RC3
|
||||
* Thu Oct 14 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-2
|
||||
- Fix booting from MMC for Rockchip 3399 (rhbz #2014182)
|
||||
- Enable new rk3399 devices (Leez, NanoPi-M4B, NanoPi-4S, NanoPi-T4) (rhbz #2009126)
|
||||
|
||||
* Thu Oct 16 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-2
|
||||
- Drop residual Rockchip firmware (saves ~150Mb)
|
||||
* Mon Oct 04 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-1
|
||||
- Update to 2021.10
|
||||
|
||||
* 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
|
||||
* Mon Sep 27 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.7.rc5
|
||||
- Update to 2021.10 RC5
|
||||
|
||||
* Fri Sep 26 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.7.rc5
|
||||
- Update to 2025.10 RC5
|
||||
* Wed Sep 15 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.6.rc4
|
||||
- Update to 2021.10 RC4
|
||||
- Proposed fix for RPi MMC clock issue
|
||||
|
||||
* Mon Sep 08 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.6.rc4
|
||||
- Update to 2025.10 RC4
|
||||
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 2021.10-0.6.rc3
|
||||
- Rebuilt with OpenSSL 3.0.0
|
||||
|
||||
* Sun Sep 07 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.5.rc3
|
||||
- Boot fixes for some Raspberry Pi variants
|
||||
* Mon Aug 30 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.5.rc3
|
||||
- Update to 2021.10 RC3
|
||||
|
||||
* Wed Aug 27 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.4.rc3
|
||||
- Fix booting on some Allwinner devices
|
||||
* Tue Aug 24 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.4.rc2
|
||||
- Fix for Raspberry Pi firmware properties
|
||||
|
||||
* Mon Aug 25 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.3.rc3
|
||||
- Update to 2025.10 RC3
|
||||
* Mon Aug 23 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.3.rc2
|
||||
- Fix for rockchip SPI
|
||||
|
||||
* Tue Aug 19 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.2.rc2
|
||||
- Fix and re-enable Jetson Nano
|
||||
* Mon Aug 16 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.2.rc2
|
||||
- Update to 2021.10 RC2
|
||||
|
||||
* Mon Aug 18 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.1.rc2
|
||||
- Update to 2025.10 RC2
|
||||
* Sun Aug 08 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.10-0.1.rc1
|
||||
- Update to 2021.10 RC1
|
||||
|
||||
* 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 22 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-2
|
||||
- Fix regression for Rockchip devices running firmware from SPI flash
|
||||
|
||||
* Thu Jul 10 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-2
|
||||
- Update patch for rebase issue
|
||||
* Mon Jul 05 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-1
|
||||
- Update to 2021.07 GA
|
||||
|
||||
* Wed Jul 09 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-1
|
||||
- Update to 2025.07 GA
|
||||
* Mon Jun 28 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.6.rc5
|
||||
- Update to 2021.07 RC5
|
||||
- Build SPI fash images for ROC-PC-RK3399
|
||||
|
||||
* 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
|
||||
* Mon Jun 07 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.5.rc4
|
||||
- Update to 2021.07 RC4
|
||||
|
||||
* Thu Jun 26 2025 Javier Martinez Canillas <javierm@redhat.com> - 1:2025.07-0.4.rc4
|
||||
- Add EFI_PARTITION_INFO_PROTOCOL support
|
||||
* Sat Jun 05 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.4.rc3
|
||||
- Fix AllWinner devices booting from mSD/MMC
|
||||
|
||||
* Sun Jun 15 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.3.rc4
|
||||
- Update to 2025.07 RC4
|
||||
* Tue May 25 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.3.rc3
|
||||
- Update to 2021.07 RC3
|
||||
- Build against ATF 2.5 GA
|
||||
|
||||
* Tue May 13 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.2.rc2
|
||||
- Update to 2025.07 RC2
|
||||
* Thu May 13 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.2.rc2
|
||||
- Build against new ATF 2.5-rc1
|
||||
|
||||
* Thu May 01 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.1.rc1
|
||||
- Update to 2025.07 RC1
|
||||
* Mon May 10 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.07-0.1.rc2
|
||||
- Update to 2021.07 RC2
|
||||
|
||||
* Sun Apr 20 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-2
|
||||
- Fix for RPi5 serial console
|
||||
* Wed Apr 28 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-3
|
||||
- Upstream fix for console regression (rhbz 1946278)
|
||||
- Fix for fallback.efi crash (rhbz 1733817)
|
||||
|
||||
* Tue Apr 08 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-1
|
||||
- Update to 2025.04 GA
|
||||
* Wed Apr 21 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-2
|
||||
- Revert keyboard console regression change (rhbz 1946278)
|
||||
|
||||
* Tue Mar 25 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.7.rc5
|
||||
- Update to 2025.04 RC5
|
||||
* Sun Apr 18 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-1
|
||||
- Update to 2021.04 GA
|
||||
- Fix DTB load check (rhbz 1946278)
|
||||
- Build Rockchip SPI support as idbloader.spi
|
||||
- Fixes for Rockchip devices
|
||||
- Build Turris Omnia for MMC/SPI/UART
|
||||
|
||||
* Wed Mar 12 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.6.rc4
|
||||
- Update to 2025.04 RC4
|
||||
* Wed Mar 17 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.6.rc4
|
||||
- Update to 2021.04 RC4
|
||||
- Move to upstream fix for SMP on RPi3B and RPi3B+
|
||||
|
||||
* Wed Feb 26 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.5.rc3
|
||||
- Update to 2025.04 RC3
|
||||
* Sat Mar 13 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.5.rc3
|
||||
- Fix for SMP on RPi3B and RPi3B+
|
||||
- Initial support for Pinephone 3Gb edition
|
||||
|
||||
* Tue Feb 18 2025 David Abdurachmanov <davidlt@rivosinc.com> - 1:2025.04-0.4.rc2
|
||||
- Add support for riscv64
|
||||
* Mon Mar 08 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.4.rc3
|
||||
- Update to 2021.04 RC3
|
||||
|
||||
* Tue Feb 11 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.3.rc2
|
||||
- Update to 2025.05 RC2
|
||||
* Tue Feb 16 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.3.rc2
|
||||
- Update to 2021.04 RC2
|
||||
|
||||
* Tue Feb 11 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.2.rc1
|
||||
- Update to 2025.05 RC1
|
||||
* Mon Feb 15 2021 Dennis Gilmore <dennis@ausil.us>
|
||||
- build spi and uart images in addition to mmc for helios4 and clearfog
|
||||
|
||||
* Tue Jan 28 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.01-3
|
||||
- Add new fdt_add_pubkey tool
|
||||
* Wed Feb 10 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.2.rc1
|
||||
- Fixes for network issues on some Allwinner devices
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:2025.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
* Mon Feb 01 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.04-0.1.rc1
|
||||
- Update to 2021.04 RC1
|
||||
- Add new upstream devices
|
||||
|
||||
* Tue Jan 07 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.01-1
|
||||
- Update to 2025.01 GA
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2021.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jan 06 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.01-0.2.rc6
|
||||
- Rebuild for TF-A 2.12
|
||||
* Mon Jan 11 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-1
|
||||
- Update to 2021.01 GA
|
||||
- Updates for Raspberry Pi 4 Series of devices
|
||||
|
||||
* Tue Dec 31 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.01-0.1.rc6
|
||||
- Update to 2025.01 RC6
|
||||
* Tue Jan 5 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.5.rc5
|
||||
- Update to 2021.01 RC5
|
||||
|
||||
* Fri Oct 11 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-1
|
||||
- Update to 2024.10 GA
|
||||
- Fix passing RPi firmware CMA setting to kernel DT
|
||||
- Update Geekbox
|
||||
* Sun Dec 27 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.4.rc4
|
||||
- Update to 2021.01 RC4
|
||||
- Latest RPi-400/CM4 support patch
|
||||
|
||||
* Thu Oct 03 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.8.rc6
|
||||
- Pass CMA FW setting through to kernel DT for Raspberry Pi
|
||||
* Tue Dec 15 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.3.rc3
|
||||
- Update to 2021.01 RC3
|
||||
- Latest RPi-400/CM4 support patch
|
||||
- Re-enable previously disabled device support
|
||||
|
||||
* Tue Oct 01 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.7.rc6
|
||||
- Update to 2024.10 RC6
|
||||
* Mon Dec 14 2020 Javier Martinez Canillas <javierm@redhat.com> - 2021.01-0.2.rc2
|
||||
- Fix a "scan_dev_for_efi" not defined error
|
||||
|
||||
* Mon Sep 16 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.6.rc5
|
||||
- Update to 2024.10 RC5
|
||||
* Sun Nov 22 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2021.01-0.1.rc2
|
||||
- Update to 2021.01 RC2
|
||||
- Latest Pinebook Pro display patches
|
||||
- Initial RPi-400 support patch
|
||||
- Update Fedora specific patches
|
||||
|
||||
* Fri Sep 6 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.5.rc4
|
||||
- Add missing licenses directory
|
||||
* Sun Nov 8 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-3
|
||||
- Fix SPI on Rockchip devices
|
||||
- Latest Pinebook Pro display patches
|
||||
- Fix Keyboard and USB-A ports on Pinebook Pro
|
||||
|
||||
* Tue Sep 03 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.4.rc4
|
||||
- Update to 2024.10 RC4
|
||||
* Wed Oct 28 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-2
|
||||
- Fix kernel installs for non EBBR systems
|
||||
- Fix for wired networks on some Allwinner devices
|
||||
|
||||
* Mon Sep 02 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.3.rc3
|
||||
- Fix Allwinner firmware chainloading (rhbz#2309138)
|
||||
- Fix ATF firmware selection on a number of devices
|
||||
- Support Allwinner SCP firmware (fixes suspend/resume)
|
||||
* Tue Oct 06 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-1
|
||||
- Update to 2020.10
|
||||
|
||||
* Tue Aug 27 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.2.rc3
|
||||
- Update to 2024.10 RC3
|
||||
- Enable initial QCM6490 SoC support
|
||||
* Sun Sep 27 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.6.rc5
|
||||
- Initial support for display output on Pinebook Pro
|
||||
|
||||
* Thu Aug 15 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.1.rc2
|
||||
- Update to 2024.10 RC2
|
||||
* Tue Sep 22 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.5.rc5
|
||||
- Update to 2020.10 RC5
|
||||
|
||||
* Tue Jul 23 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.07-1
|
||||
- Update to 2024.07
|
||||
* Wed Sep 09 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.4.rc4
|
||||
- Update to 2020.10 RC4
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:2024.07-0.3.rc4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
* Wed Aug 19 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.3.rc2
|
||||
- Enable a number of new Rockchip devices
|
||||
|
||||
* Tue Jun 18 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.07-0.2.rc4
|
||||
- Update to 2024.07 RC4
|
||||
* Mon Aug 10 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.2.rc2
|
||||
- Update to 2020.10 RC2
|
||||
|
||||
* Sat May 25 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.07-0.1.rc3
|
||||
- Update to 2024.07 RC3
|
||||
* Tue Jul 28 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.10-0.1.rc1
|
||||
- 2020.10 RC1
|
||||
|
||||
* Wed Apr 03 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-1
|
||||
- Update to 2024.04 GA
|
||||
- Rockchip rk3328 USB fixes
|
||||
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 2020.07-2
|
||||
- Use make macros
|
||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||
|
||||
* Wed Mar 27 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.8.rc5
|
||||
- Update to 2024.04 RC5
|
||||
* Mon Jul 06 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-1
|
||||
- 2020.07 GA
|
||||
|
||||
* Thu Mar 21 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.7.rc4
|
||||
- Updated patch for DTB loading
|
||||
* Tue Jun 23 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.5.rc5
|
||||
- 2020.07 RC5
|
||||
|
||||
* Fri Mar 15 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.6.rc4
|
||||
- Updated fix for FDT load
|
||||
* Thu Jun 18 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.4.rc4
|
||||
- Update various patches to latest upstream
|
||||
|
||||
* Wed Mar 13 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.5.rc4
|
||||
- Fixes for Rockchip rk3399 autoboot
|
||||
* Wed Jun 10 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.3.rc4
|
||||
- 2020.07 RC4
|
||||
- Minor updates and other fixes
|
||||
|
||||
* Tue Mar 12 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.4.rc4
|
||||
- Update to 2024.04 RC4
|
||||
- Initial fix for loading DT off /boot (rhbz 2247873)
|
||||
* Tue May 12 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.2.rc2
|
||||
- 2020.07 RC2
|
||||
- Minor device updates
|
||||
|
||||
* Thu Feb 29 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.3.rc3
|
||||
- Update to 2024.04 RC3
|
||||
- Enable a number of new upstream devices
|
||||
- Upstream now builds Rockchip SPI artifacts
|
||||
- Various cleanups
|
||||
- Fix ESP partition detection to enable EFI vars
|
||||
* Wed Apr 29 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.07-0.1.rc1
|
||||
- 2020.07 RC1
|
||||
|
||||
* Wed Feb 14 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.2.rc2
|
||||
- Update to 2024.04 RC2
|
||||
* Tue Apr 21 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-4
|
||||
- Initial support for USB on Rasperry Pi 4
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:2024.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
* Tue Apr 21 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-3
|
||||
- Ship u-boot-rockchip.bin for SPI flash
|
||||
|
||||
* Mon Jan 08 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.01-1
|
||||
- Update to 2024.01
|
||||
* Mon Apr 20 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-2
|
||||
- Fix ATF for new aarch64 devices
|
||||
- Fix Wandboard board detection (rhbz 1825247)
|
||||
- Fix mSD card on RockPro64
|
||||
- Enable (inital) Pinebook Pro
|
||||
|
||||
* Tue Apr 14 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2020.04-1
|
||||
- 2020.04
|
||||
|
||||
* Tue Apr 7 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.7-rc5
|
||||
- 2020.04 RC5
|
||||
|
||||
* Tue Mar 31 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.6-rc4
|
||||
- 2020.04 RC4
|
||||
- Updates for NVIDIA Jetson platforms
|
||||
- Support RNG for random seed for KASLR on some Rockchip devices
|
||||
|
||||
* Thu Mar 26 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.5-rc3
|
||||
- Fix ext4 alignment issue seen on some NXP i.MX devices
|
||||
|
||||
* Wed Feb 26 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.4-rc3
|
||||
- 2020.04 RC3
|
||||
|
||||
* Thu Feb 13 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.3-rc2
|
||||
- 2020.04 RC2
|
||||
|
||||
* Sun Feb 2 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.2-rc1
|
||||
- Update genet NIC driver
|
||||
|
||||
* Wed Jan 29 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.04-0.1-rc1
|
||||
- 2020.04 RC1
|
||||
|
||||
* Tue Jan 7 2020 Peter Robinson <pbrobinson@fedoraproject.org> 2020.01-1
|
||||
- 2020.01
|
||||
|
|
|
|||
|
|
@ -1,57 +0,0 @@
|
|||
From 86782e882e9542f5f402e00cd87efb36ad0552d3 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Sat, 2 Mar 2024 11:17:42 +0000
|
||||
Subject: [PATCH v4] disk: dos: Add all options for EFI System Partitions
|
||||
|
||||
The EFI spec states that the ESP can be any of FAT12/16/32 but for
|
||||
compatibility doesn't necssarily require the partition to be the
|
||||
EFI partition table ID of 0xef. A number of arm devices will not
|
||||
find their firmware on a FAT partition with an ID of 0xef so also
|
||||
allow the original FAT12/16/32 partition IDs as they are also
|
||||
permissable for an ESP.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
|
||||
v2:
|
||||
- Add 0x0c option
|
||||
- Make hex constants consistent
|
||||
- Move from if to switch statement
|
||||
v3:
|
||||
- Fix switch brain fart
|
||||
v4:
|
||||
- Drop boot_ind out of switch
|
||||
|
||||
disk/part_dos.c | 13 ++++++++++++-
|
||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/disk/part_dos.c b/disk/part_dos.c
|
||||
index 567ead7511d..a35181dff4f 100644
|
||||
--- a/disk/part_dos.c
|
||||
+++ b/disk/part_dos.c
|
||||
@@ -40,10 +40,21 @@ static int get_bootable(dos_partition_t *p)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
- if (p->sys_ind == 0xef)
|
||||
+ switch (p->sys_ind) {
|
||||
+ case 0x01:
|
||||
+ case 0x06:
|
||||
+ case 0x0b:
|
||||
+ case 0x0c:
|
||||
+ case 0xef:
|
||||
ret |= PART_EFI_SYSTEM_PARTITION;
|
||||
+ break;
|
||||
+ default:
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
if (p->boot_ind == 0x80)
|
||||
ret |= PART_BOOTABLE;
|
||||
+
|
||||
return ret;
|
||||
}
|
||||
|
||||
--
|
||||
2.44.0
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
From 4306c538d4a00dd1aa46c55c3c4005c2b0bf7cd5 Mon Sep 17 00:00:00 2001
|
||||
From fd3434c754b3b8dddb345352a2434b6b8445343a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Thu, 24 Nov 2022 12:57:55 +0000
|
||||
Date: Sun, 18 Apr 2021 14:05:45 +0100
|
||||
Subject: [PATCH] distro: load FDT from any partition on boot device
|
||||
|
||||
In the EFI_LOADER boot path, we were only checking the FAT partition
|
||||
|
|
@ -22,14 +22,14 @@ knows) and SoC/board specific ${fdtfile} (which grub does not know).
|
|||
Signed-off-by: Rob Clark <robdclark@gmail.com>
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
include/config_distro_bootcmd.h | 37 +++++++++++++++++++++------------
|
||||
1 file changed, 24 insertions(+), 13 deletions(-)
|
||||
include/config_distro_bootcmd.h | 35 ++++++++++++++++++++++-----------
|
||||
1 file changed, 23 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
||||
index fcb319a20ae..e71004fad9c 100644
|
||||
index 2627c2a6a5..eadd1080b3 100644
|
||||
--- a/include/config_distro_bootcmd.h
|
||||
+++ b/include/config_distro_bootcmd.h
|
||||
@@ -155,28 +155,39 @@
|
||||
@@ -148,26 +148,37 @@
|
||||
"fi\0" \
|
||||
\
|
||||
"load_efi_dtb=" \
|
||||
|
|
@ -44,13 +44,11 @@ index fcb319a20ae..e71004fad9c 100644
|
|||
+ "scan_dev_for_dtb=" \
|
||||
"setenv efi_fdtfile ${fdtfile}; " \
|
||||
BOOTENV_EFI_SET_FDTFILE_FALLBACK \
|
||||
BOOTENV_RUN_EXTENSION_INIT \
|
||||
- "for prefix in ${efi_dtb_prefixes}; do " \
|
||||
- "if test -e ${devtype} " \
|
||||
- "${devnum}:${distro_bootpart} " \
|
||||
- "${prefix}${efi_fdtfile}; then " \
|
||||
- "run load_efi_dtb; " \
|
||||
- BOOTENV_RUN_EXTENSION_APPLY \
|
||||
- "fi;" \
|
||||
- "done;" \
|
||||
- "run boot_efi_bootmgr;" \
|
||||
|
|
@ -67,7 +65,6 @@ index fcb319a20ae..e71004fad9c 100644
|
|||
+ "${devnum}:${dtb_devp} " \
|
||||
+ "${prefix}${efi_fdtfile};"\
|
||||
+ "run load_efi_dtb; " \
|
||||
+ BOOTENV_RUN_EXTENSION_APPLY \
|
||||
+ "fi;" \
|
||||
+ "done; " \
|
||||
+ "done; " \
|
||||
|
|
@ -83,5 +80,5 @@ index fcb319a20ae..e71004fad9c 100644
|
|||
"fi; " \
|
||||
"setenv efi_fdtfile\0"
|
||||
--
|
||||
2.38.1
|
||||
2.31.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,33 +0,0 @@
|
|||
From fd736dd720b29fa69a4bb87492f3f94dc6076996 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Tue, 25 Mar 2025 17:13:44 +0000
|
||||
Subject: [PATCH] efi: enable SetVariableRT with volotile storage
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
lib/efi_loader/Kconfig | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
|
||||
index d4f6b56afaa..3e522131b01 100644
|
||||
--- a/lib/efi_loader/Kconfig
|
||||
+++ b/lib/efi_loader/Kconfig
|
||||
@@ -108,6 +108,7 @@ choice
|
||||
config EFI_VARIABLE_FILE_STORE
|
||||
bool "Store non-volatile UEFI variables as file"
|
||||
depends on FAT_WRITE
|
||||
+ default y
|
||||
help
|
||||
Select this option if you want non-volatile UEFI variables to be
|
||||
stored as file /ubootefi.var on the EFI system partition.
|
||||
@@ -115,6 +116,7 @@ config EFI_VARIABLE_FILE_STORE
|
||||
config EFI_RT_VOLATILE_STORE
|
||||
bool "Allow variable runtime services in volatile storage (e.g RAM)"
|
||||
depends on EFI_VARIABLE_FILE_STORE
|
||||
+ default y
|
||||
help
|
||||
When EFI variables are stored on file we don't allow SetVariableRT,
|
||||
since the OS doesn't know how to write that file. At the same time
|
||||
--
|
||||
2.49.0
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -1,190 +0,0 @@
|
|||
From 56a985cec8592a8de88e7f254df82f5d444a5ecc Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Thu, 28 May 2026 22:08:07 +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
|
||||
in the /dtb or /dtb/current directories, and Fedora extended this
|
||||
to look not just on the boot partition but all the partitions on
|
||||
that disk.
|
||||
|
||||
The new ways of booting, both bootstd and bootefi bootmgr processes
|
||||
don't properly look for those options. This provides a function
|
||||
to search for the DTB on disk so that if the other DT mechanisms
|
||||
don't work this will look for one on disk to provide a working DT
|
||||
so that devices will continue to work as they did previously.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
cmd/bootmenu.c | 5 ++
|
||||
include/efi_loader.h | 2 +
|
||||
lib/efi_loader/efi_helper.c | 106 +++++++++++++++++++++++++++++++++++-
|
||||
3 files changed, 112 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cmd/bootmenu.c b/cmd/bootmenu.c
|
||||
index 528afd221d0..a10ea35a687 100644
|
||||
--- a/cmd/bootmenu.c
|
||||
+++ b/cmd/bootmenu.c
|
||||
@@ -502,6 +502,11 @@ static void handle_uefi_bootnext(void)
|
||||
u16 bootnext;
|
||||
efi_status_t ret;
|
||||
efi_uintn_t size;
|
||||
+ const char *fdt_opt;
|
||||
+
|
||||
+ /* Find the DTB on disk */
|
||||
+ log_debug("We will load the DTB\n");
|
||||
+ fdt_opt = find_fdt_location();
|
||||
|
||||
/* Initialize EFI drivers */
|
||||
ret = efi_init_obj_list();
|
||||
diff --git a/include/efi_loader.h b/include/efi_loader.h
|
||||
index 3a4d502631c..b11f8a2cb42 100644
|
||||
--- a/include/efi_loader.h
|
||||
+++ b/include/efi_loader.h
|
||||
@@ -574,6 +574,8 @@ struct efi_register_notify_event {
|
||||
struct list_head handles;
|
||||
};
|
||||
|
||||
+/* Find the FDT on any partition */
|
||||
+char *find_fdt_location(void);
|
||||
/* called at pre-initialization */
|
||||
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
|
||||
--- a/lib/efi_loader/efi_helper.c
|
||||
+++ b/lib/efi_loader/efi_helper.c
|
||||
@@ -15,6 +15,7 @@
|
||||
#include <mapmem.h>
|
||||
#include <dm.h>
|
||||
#include <fs.h>
|
||||
+#include <part.h>
|
||||
#include <efi.h>
|
||||
#include <efi_api.h>
|
||||
#include <efi_load_initrd.h>
|
||||
@@ -98,6 +99,99 @@ int efi_get_pxe_arch(void)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
+/* We need to pass a blk device in and return a location, or a loaded DT */
|
||||
+char *find_fdt_location(void)
|
||||
+{
|
||||
+ const char *fdt_filename;
|
||||
+ /* FIXME: dynamic size */
|
||||
+ char fdt_fullpath[60];
|
||||
+ const char *prefix;
|
||||
+ struct udevice *blk;
|
||||
+ /* FIXME: Fedora really only cares about first 2*/
|
||||
+ int MAX_PART = 8;
|
||||
+ int part;
|
||||
+ struct disk_partition info;
|
||||
+ int fdtext;
|
||||
+ int ret;
|
||||
+ int retfdt;
|
||||
+ int retload;
|
||||
+ loff_t fdtsize;
|
||||
+ ulong pbraddr;
|
||||
+ loff_t len_read;
|
||||
+
|
||||
+ /* step one logic: we have the DT name we're hunting for */
|
||||
+ fdt_filename = env_get("fdtfile");
|
||||
+ if (fdt_filename) {
|
||||
+ log_debug("FFL: We're looking for the DTB now!: %s\n", fdt_filename);
|
||||
+
|
||||
+ /* probe all block disks to search for fdt */
|
||||
+ uclass_foreach_dev_probe(UCLASS_BLK, blk) {
|
||||
+ log_debug("FFL: dev name: %s\n", blk->name);
|
||||
+ struct blk_desc *desc;
|
||||
+ desc = dev_get_uclass_plat(blk);
|
||||
+ /* we should get a partition count here for looping */
|
||||
+ /* For loop for each partition */
|
||||
+ /* Need to also deal with zero part whole disk - part_get_info_whole_disk */
|
||||
+ for (part = 1; part <= MAX_PART; part++) {
|
||||
+ log_debug("FFL: part num: %d\n", part);
|
||||
+ ret = part_get_info(desc, part, &info);
|
||||
+ /* if we have partition check it for DT */
|
||||
+ if (ret < 0) {
|
||||
+ log_debug("FFL: no partition\n");
|
||||
+ } else {
|
||||
+ log_debug("FFL: we have a partition\n");
|
||||
+ /* we should have a case/for prefix in =/ /dtb/ /dtb/current/ */
|
||||
+ /* but for now we hard code if for Fedora */
|
||||
+ prefix = "/dtb";
|
||||
+ snprintf(fdt_fullpath, sizeof(fdt_fullpath), "%s/%s", prefix, fdt_filename);
|
||||
+ log_debug("FFL: full name: %s\n", fdt_fullpath);
|
||||
+ /* search for DT on partition and either find and exit or continue */
|
||||
+ if (fs_set_blk_dev_with_part(desc, part) == 0){
|
||||
+ log_debug("FFL: set block part pass\n");
|
||||
+ fdtext = fs_exists(fdt_fullpath);
|
||||
+ if (fdtext) {
|
||||
+ /* we have a fdt!*/
|
||||
+ if (fs_set_blk_dev_with_part(desc, part) == 0){
|
||||
+ retfdt = fs_size(fdt_fullpath, &fdtsize);
|
||||
+ if (retfdt == 0) {
|
||||
+ log_debug("FFL: we have found a DT on disk, size %lld\n", fdtsize);
|
||||
+ /* Get the main fdt and map it */
|
||||
+ const char *fdt_pbr;
|
||||
+ fdt_pbr = env_get("fdt_addr_r");
|
||||
+ pbraddr = hextoul(fdt_pbr, NULL);
|
||||
+ log_debug("FFL: fdr addr: %s\n", fdt_pbr);
|
||||
+ if (fs_set_blk_dev_with_part(desc, part) == 0){
|
||||
+ retload = fs_read(fdt_fullpath, pbraddr, 0, fdtsize, &len_read);
|
||||
+ if (retload == 0) {
|
||||
+ log_debug("FFL: we have a loaded DT, size %lld we can return\n", fdtsize);
|
||||
+ log_info("Found DTB: %s\n", fdt_filename);
|
||||
+ return fdt_pbr;
|
||||
+ } else {
|
||||
+ log_debug("FFL: DT load failed\n");
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
+ log_debug("FFL: we DON'T have a DT with size\n");
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
+ /* we don't have a fdt!*/
|
||||
+ log_debug("FFL: we DON'T have a DT\n");
|
||||
+ }
|
||||
+ } else {
|
||||
+ log_debug("FFL: set block part FAIL\n");
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ } else {
|
||||
+ log_debug("FFL: fdt_filename not defined!!\n");
|
||||
+ }
|
||||
+
|
||||
+ /* We didn't find a FDT */
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
/**
|
||||
* efi_create_current_boot_var() - Return Boot#### name were #### is replaced by
|
||||
* the value of BootCurrent
|
||||
@@ -558,11 +652,21 @@ efi_status_t efi_install_fdt(void *fdt)
|
||||
const char *fdt_opt;
|
||||
uintptr_t fdt_addr;
|
||||
|
||||
+ /* Check if there is device tree loaded from disk */
|
||||
+ fdt_opt = find_fdt_location();
|
||||
+ if (fdt_opt)
|
||||
+ log_info("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");
|
||||
+ }
|
||||
/* Use our own device tree as fallback */
|
||||
if (!fdt_opt) {
|
||||
fdt_opt = env_get("fdtcontroladdr");
|
||||
+ log_info("Using DT from U-Boot\n");
|
||||
if (!fdt_opt) {
|
||||
log_err("need device tree\n");
|
||||
return EFI_NOT_FOUND;
|
||||
--
|
||||
2.54.0
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
qemu-x86_64
|
||||
Loading…
Add table
Add a link
Reference in a new issue