Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ea80dbc67 | ||
|
|
24e3b80338 | ||
|
|
ece7317ca3 | ||
|
|
5410540f02 |
41 changed files with 5176 additions and 3400 deletions
61
10-devicetree.install
Executable file
61
10-devicetree.install
Executable file
|
|
@ -0,0 +1,61 @@
|
|||
#!/bin/bash
|
||||
|
||||
# set -x
|
||||
|
||||
if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]
|
||||
then
|
||||
COMMAND="$1"
|
||||
KERNEL_VERSION="$2"
|
||||
#BOOT_DIR_ABS="$3"
|
||||
#KERNEL_IMAGE="$4"
|
||||
|
||||
# Setup a /boot/dtb -> /boot/dtb-$newest_kernel_version symlink so that
|
||||
# u-boot can find the correct dtb to load.
|
||||
#
|
||||
# If invoked to 'add' a new kernel, find the newest based on `sort`ing
|
||||
# the kernel versions dtb. If 'remove', then follow basically the same
|
||||
# procedure but exclude the version currently being removed.
|
||||
#
|
||||
# The theory of operation here is that, while newer kernels may add new
|
||||
# dtb nodes and fields, as upstreaming hw support for some particular
|
||||
# device progresses, it should never make backward incompatible changes.
|
||||
# So it should always be safe to use a newer dtb with an older kernel.
|
||||
|
||||
list_dtb_versions() {
|
||||
excluded_version="$1"
|
||||
for dtbdir in /boot/dtb-*; do
|
||||
dtbver=${dtbdir#*-}
|
||||
if [ "$dtbver" != "$excluded_version" ]; then
|
||||
echo $dtbver
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
setup_dtb_link() {
|
||||
ver=`list_dtb_versions $1 | sort -r --sort=version | head -1`
|
||||
if [ -h /boot/dtb ]; then
|
||||
rm -f /boot/dtb
|
||||
fi
|
||||
ln -s dtb-$ver /boot/dtb
|
||||
}
|
||||
|
||||
ret=0
|
||||
case "$COMMAND" in
|
||||
add)
|
||||
# If we're adding a kernel we want that version
|
||||
if [ -h /boot/dtb ]; then
|
||||
rm -f /boot/dtb
|
||||
fi
|
||||
ln -s dtb-$KERNEL_VERSION /boot/dtb
|
||||
ret=$?
|
||||
;;
|
||||
remove)
|
||||
setup_dtb_link $KERNEL_VERSION
|
||||
ret=$?
|
||||
;;
|
||||
esac
|
||||
exit $ret
|
||||
else
|
||||
# Just exit on non ARM
|
||||
exit 0
|
||||
fi
|
||||
|
|
@ -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,106 +1,41 @@
|
|||
a64-olinuxino
|
||||
a64-olinuxino-emmc
|
||||
amarula_a64_relic
|
||||
anbernic_rg35xx_h700
|
||||
apple_m1
|
||||
bananapi_m2_plus_h5
|
||||
avnet_ultra96_rev1
|
||||
bananapi_m64
|
||||
beelink_gs1
|
||||
dragonboard410c
|
||||
dragonboard820c
|
||||
eaidk-610-rk3399
|
||||
emlid_neutis_n5_devboard
|
||||
evb-px5
|
||||
espresso7420
|
||||
evb-rk3328
|
||||
evb-rk3399
|
||||
ficus-rk3399
|
||||
firefly-rk3399
|
||||
geekbox
|
||||
hikey
|
||||
hmibsc
|
||||
khadas-edge-captain-rk3399
|
||||
khadas-edge-rk3399
|
||||
khadas-edge-v-rk3399
|
||||
khadas-vim
|
||||
khadas-vim2
|
||||
khadas-vim3
|
||||
khadas-vim3l
|
||||
leez-rk3399
|
||||
libretech-ac
|
||||
libretech_all_h3_cc_h5
|
||||
libretech_all_h3_it_h5
|
||||
libretech_all_h5_cc_h5
|
||||
libretech-cc
|
||||
libretech_all_h3_cc_h5
|
||||
mvebu_espressobin-88f3720
|
||||
mvebu_mcbin-88f8040
|
||||
nanopc-t4-rk3399
|
||||
nanopi_a64
|
||||
nanopi-k2
|
||||
nanopi-m4-2gb-rk3399
|
||||
nanopi-m4b-rk3399
|
||||
nanopi-m4-rk3399
|
||||
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
|
||||
pine64-lts
|
||||
pine64_plus
|
||||
pinebook
|
||||
pinebook-pro-rk3399
|
||||
pine_h64
|
||||
pinephone
|
||||
pinephone-pro-rk3399
|
||||
pinetab
|
||||
pine64_plus
|
||||
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_arm64
|
||||
rpi_3
|
||||
sopine_baseboard
|
||||
tanix_tx6
|
||||
teres_i
|
||||
transpeed-8k618-t
|
||||
turris_mox
|
||||
vexpress_aemv8a_dram
|
||||
vexpress_aemv8a_juno
|
||||
x96_mate
|
||||
vexpress_aemv8a_semi
|
||||
xilinx_zynqmp_zcu100_revC
|
||||
|
|
|
|||
0
aarch64-chromebooks
Normal file
0
aarch64-chromebooks
Normal file
143
arm-boards
Normal file
143
arm-boards
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
A10-OLinuXino-Lime
|
||||
A10s-OLinuXino-M
|
||||
A13-OLinuXino
|
||||
A13-OLinuXinoM
|
||||
A20-Olimex-SOM-EVB
|
||||
A20-OLinuXino-Lime
|
||||
A20-OLinuXino-Lime2
|
||||
A20-OLinuXino_MICRO
|
||||
am335x_boneblack
|
||||
am335x_evm
|
||||
am335x_evm_usbspl
|
||||
am57xx_evm
|
||||
Ampe_A76
|
||||
arndale
|
||||
Auxtek-T003
|
||||
Auxtek-T004
|
||||
ba10_tv_box
|
||||
Bananapi
|
||||
bananapi_m2_berry
|
||||
Bananapi_M2_Ultra
|
||||
Bananapro
|
||||
chiliboard
|
||||
CHIP
|
||||
Chuwi_V7_CW0825
|
||||
clearfog
|
||||
cl-som-am57x
|
||||
cm_fx6
|
||||
Colombus
|
||||
colorfly_e708_q1
|
||||
CSQ_CS908
|
||||
Cubieboard
|
||||
Cubieboard2
|
||||
Cubieboard4
|
||||
Cubietruck
|
||||
Cubietruck_plus
|
||||
db-mv784mp-gp
|
||||
difrnce_dit4350
|
||||
dserve_dsrv9703c
|
||||
evb-rk3229
|
||||
fennec-rk3288
|
||||
firefly-rk3288
|
||||
helios4
|
||||
Hummingbird_A31
|
||||
Hyundai_A7HD
|
||||
i12-tvbox
|
||||
icnova-a20-swac
|
||||
inet1
|
||||
iNet_3F
|
||||
iNet_3W
|
||||
inet86dz
|
||||
iNet_86VS
|
||||
inet97fv2
|
||||
inet98v_rev2
|
||||
inet9f_rev03
|
||||
inet_q972
|
||||
Itead_Ibox_A20
|
||||
jesurun_q5
|
||||
jetson-tk1
|
||||
kc1
|
||||
Lamobo_R1
|
||||
libretech_all_h3_cc_h2_plus
|
||||
Linksprite_pcDuino
|
||||
Linksprite_pcDuino3
|
||||
Linksprite_pcDuino3_Nano
|
||||
liteboard
|
||||
marsboard
|
||||
Marsboard_A10
|
||||
Mele_A1000
|
||||
Mele_A1000G_quad
|
||||
Mele_I7
|
||||
Mele_M3
|
||||
Mele_M5
|
||||
Mele_M9
|
||||
Mini-X
|
||||
mk802
|
||||
mk802_a10s
|
||||
mk802ii
|
||||
MK808C
|
||||
MSI_Primo73
|
||||
MSI_Primo81
|
||||
mx6cuboxi
|
||||
nanopi_m1
|
||||
nanopi_m1_plus
|
||||
nanopi_neo
|
||||
novena
|
||||
odroid
|
||||
odroid-xu3
|
||||
omap3_beagle
|
||||
omap3_pandora
|
||||
omap4_panda
|
||||
omap5_uevm
|
||||
Orangepi
|
||||
orangepi_2
|
||||
orangepi_lite
|
||||
Orangepi_mini
|
||||
orangepi_one
|
||||
orangepi_pc
|
||||
orangepi_pc_plus
|
||||
orangepi_plus
|
||||
orangepi_plus2e
|
||||
orangepi_r1
|
||||
orangepi_zero
|
||||
origen
|
||||
paz00
|
||||
polaroid_mid2809pxe04
|
||||
pov_protab2_ips9
|
||||
q8_a13_tablet
|
||||
q8_a23_tablet_800x480
|
||||
q8_a33_tablet_1024x600
|
||||
q8_a33_tablet_800x480
|
||||
qemu_arm
|
||||
r7-tv-dongle
|
||||
riotboard
|
||||
rock
|
||||
rock2
|
||||
rpi_2
|
||||
rpi_3_32b
|
||||
Sinlinx_SinA31s
|
||||
Sinovoip_BPI_M2
|
||||
Sinovoip_BPI_M2_Plus
|
||||
Sinovoip_BPI_M3
|
||||
smdkv310
|
||||
stih410-b2260
|
||||
sunxi_Gemei_G9
|
||||
tbs_a711
|
||||
tinker-rk3288
|
||||
trimslice
|
||||
turris_omnia
|
||||
udoo
|
||||
udoo_neo
|
||||
usbarmory
|
||||
UTOO_P66
|
||||
vexpress_ca15_tc2
|
||||
vexpress_ca9x4
|
||||
wandboard
|
||||
warp
|
||||
warp7
|
||||
Wexler_TAB7200
|
||||
Wits_Pro_A20_DKT
|
||||
Yones_Toptech_BS1078_V2
|
||||
zynq_microzed
|
||||
zynq_zed
|
||||
zynq_zybo
|
||||
8
arm-chromebooks
Normal file
8
arm-chromebooks
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
chromebit_mickey_defconfig
|
||||
chromebook_jerry_defconfig
|
||||
chromebook_minnie_defconfig
|
||||
nyan-big_defconfig
|
||||
peach-pi_defconfig
|
||||
peach-pit_defconfig
|
||||
snow_defconfig
|
||||
spring_defconfig
|
||||
|
|
@ -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
|
||||
|
||||
114
dragonboard-fixes.patch
Normal file
114
dragonboard-fixes.patch
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
From fbd0bffb20ca5edd21bbeb7cc20e24d091ab4280 Mon Sep 17 00:00:00 2001
|
||||
From: Rob Clark <robdclark@gmail.com>
|
||||
Date: Wed, 21 Jun 2017 14:21:15 -0400
|
||||
Subject: [PATCH 1/4] WIP: fix usb
|
||||
|
||||
---
|
||||
common/usb_storage.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/common/usb_storage.c b/common/usb_storage.c
|
||||
index a91b1c0d2f..caea87a09f 100644
|
||||
--- a/common/usb_storage.c
|
||||
+++ b/common/usb_storage.c
|
||||
@@ -1018,7 +1018,7 @@ static int usb_request_sense(struct scsi_cmd *srb, struct us_data *ss)
|
||||
|
||||
static int usb_test_unit_ready(struct scsi_cmd *srb, struct us_data *ss)
|
||||
{
|
||||
- int retries = 10;
|
||||
+ int retries = 20;
|
||||
|
||||
do {
|
||||
memset(&srb->cmd[0], 0, 12);
|
||||
@@ -1041,7 +1041,7 @@ static int usb_test_unit_ready(struct scsi_cmd *srb, struct us_data *ss)
|
||||
if ((srb->sense_buf[2] == 0x02) &&
|
||||
(srb->sense_buf[12] == 0x3a))
|
||||
return -1;
|
||||
- mdelay(100);
|
||||
+ mdelay(250);
|
||||
} while (retries--);
|
||||
|
||||
return -1;
|
||||
--
|
||||
2.14.3
|
||||
|
||||
From d1b25b8d6461c5278228d657de9c24e0979e4b9d Mon Sep 17 00:00:00 2001
|
||||
From: Rob Clark <robdclark@gmail.com>
|
||||
Date: Mon, 3 Jul 2017 08:34:37 -0400
|
||||
Subject: [PATCH 2/4] HACK: disable emmc
|
||||
|
||||
Hitting some timeout which makes boot take much longer. And
|
||||
uefi/boot/rootfs partitions will be on sd-card or usb disk, etc,
|
||||
so we can just ignore emmc.
|
||||
---
|
||||
arch/arm/dts/dragonboard410c.dts | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/dts/dragonboard410c.dts b/arch/arm/dts/dragonboard410c.dts
|
||||
index 5ccfe7f8c8..9e2d3f5d9b 100644
|
||||
--- a/arch/arm/dts/dragonboard410c.dts
|
||||
+++ b/arch/arm/dts/dragonboard410c.dts
|
||||
@@ -67,6 +67,7 @@
|
||||
reg = <0x78d9000 0x400>;
|
||||
};
|
||||
|
||||
+/*
|
||||
sdhci@07824000 {
|
||||
compatible = "qcom,sdhci-msm-v4";
|
||||
reg = <0x7824900 0x11c 0x7824000 0x800>;
|
||||
@@ -76,6 +77,7 @@
|
||||
clock = <&clkc 0>;
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
+*/
|
||||
|
||||
sdhci@07864000 {
|
||||
compatible = "qcom,sdhci-msm-v4";
|
||||
--
|
||||
2.14.3
|
||||
From 6baac1d73a20f880cb91f3bc03fe4f9cf88c61f6 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Tue, 4 Sep 2018 12:21:59 +0100
|
||||
Subject: [PATCH] add options for dm410c config
|
||||
|
||||
---
|
||||
configs/dragonboard410c_defconfig | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/configs/dragonboard410c_defconfig b/configs/dragonboard410c_defconfig
|
||||
index 96a831443a..d167c765b1 100644
|
||||
--- a/configs/dragonboard410c_defconfig
|
||||
+++ b/configs/dragonboard410c_defconfig
|
||||
@@ -6,6 +6,8 @@ CONFIG_DISTRO_DEFAULTS=y
|
||||
CONFIG_NR_DRAM_BANKS=1
|
||||
CONFIG_FIT=y
|
||||
CONFIG_OF_BOARD_SETUP=y
|
||||
+CONFIG_FAT_WRITE=y
|
||||
+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
|
||||
CONFIG_MISC_INIT_R=y
|
||||
# CONFIG_DISPLAY_CPUINFO is not set
|
||||
# CONFIG_DISPLAY_BOARDINFO is not set
|
||||
@@ -35,6 +37,13 @@ CONFIG_DM_PMIC=y
|
||||
CONFIG_PMIC_PM8916=y
|
||||
CONFIG_MSM_SERIAL=y
|
||||
CONFIG_SPMI_MSM=y
|
||||
+CONFIG_DM_ETH=y
|
||||
+CONFIG_DM_KEYBOARD=y
|
||||
+CONFIG_DM_VIDEO=y
|
||||
+# CONFG_VIDEO_BPP8 is not set
|
||||
+CONFIG_NO_FB_CLEAR=y
|
||||
+CONFIG_VIDEO_SIMPLE=y
|
||||
+CONFIG_USB_KEYBOARD=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_DM_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
@@ -46,5 +55,6 @@ CONFIG_USB_HOST_ETHER=y
|
||||
CONFIG_USB_ETHER_ASIX=y
|
||||
CONFIG_USB_ETHER_ASIX88179=y
|
||||
CONFIG_USB_ETHER_MCS7830=y
|
||||
+CONFIG_USB_ETHER_RTL8152=y
|
||||
CONFIG_USB_ETHER_SMSC95XX=y
|
||||
CONFIG_OF_LIBFDT_OVERLAY=y
|
||||
--
|
||||
2.19.0.rc0
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
111
mvebu-enable-generic-distro-boot-config.patch
Normal file
111
mvebu-enable-generic-distro-boot-config.patch
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
From 8de891d0767aafb383b6f533b08a5c0b75b4718b Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Mon, 18 Sep 2017 15:48:32 +0100
|
||||
Subject: [PATCH] arm: mvebu: enable generic distro boot config
|
||||
|
||||
Switch all of the mvebu boards to support disto generic booting
|
||||
This will enable Fedora, Debian and other distros to support
|
||||
mvebu systems easier. Tested on SolidRun ClearFog
|
||||
|
||||
Signed-off-by: Dennis Gilmore <dgilmore@redhat.com>
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
include/configs/mv-common.h | 84 +++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 84 insertions(+)
|
||||
|
||||
diff --git a/include/configs/mv-common.h b/include/configs/mv-common.h
|
||||
index 7c2bab2fc6..2819493fca 100644
|
||||
--- a/include/configs/mv-common.h
|
||||
+++ b/include/configs/mv-common.h
|
||||
@@ -130,4 +130,88 @@
|
||||
#define CONFIG_MTD_PARTITIONS
|
||||
#endif
|
||||
|
||||
+#ifndef CONFIG_SPL_BUILD
|
||||
+#include <config_distro_defaults.h>
|
||||
+
|
||||
+/*
|
||||
+* 160M RAM (256M minimum minus 64MB heap + 32MB for u-boot, stack, fb, etc.
|
||||
+* 32M uncompressed kernel, 16M compressed kernel, 1M fdt,
|
||||
+* 1M script, 1M pxe and the ramdisk at the end.
|
||||
+*/
|
||||
+#define SDRAM_OFFSET(x) 0x0##x
|
||||
+
|
||||
+#define KERNEL_ADDR_R __stringify(SDRAM_OFFSET(2000000))
|
||||
+#define FDT_ADDR_R __stringify(SDRAM_OFFSET(3000000))
|
||||
+#define SCRIPT_ADDR_R __stringify(SDRAM_OFFSET(3100000))
|
||||
+#define PXEFILE_ADDR_R __stringify(SDRAM_OFFSET(3200000))
|
||||
+#define RAMDISK_ADDR_R __stringify(SDRAM_OFFSET(3300000))
|
||||
+
|
||||
+#define MEM_LAYOUT_ENV_SETTINGS \
|
||||
+ "bootm_size=0xa000000\0" \
|
||||
+ "kernel_addr_r=" KERNEL_ADDR_R "\0" \
|
||||
+ "fdt_addr_r=" FDT_ADDR_R "\0" \
|
||||
+ "scriptaddr=" SCRIPT_ADDR_R "\0" \
|
||||
+ "pxefile_addr_r=" PXEFILE_ADDR_R "\0" \
|
||||
+ "ramdisk_addr_r=" RAMDISK_ADDR_R "\0"
|
||||
+
|
||||
+#ifdef CONFIG_MMC
|
||||
+#define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0)
|
||||
+#else
|
||||
+#define BOOT_TARGET_DEVICES_MMC(func)
|
||||
+#endif
|
||||
+
|
||||
+#ifdef CONFIG_CMD_SATA
|
||||
+#define BOOT_TARGET_DEVICES_SATA(func) func(SATA, sata, 0) func(SATA, sata, 1)
|
||||
+#define CONFIG_PREBOOT "sata init"
|
||||
+#else
|
||||
+#define BOOT_TARGET_DEVICES_SATA(func)
|
||||
+#endif
|
||||
+
|
||||
+#ifdef CONFIG_USB_STORAGE
|
||||
+#define BOOT_TARGET_DEVICES_USB(func) func(USB, usb, 0)
|
||||
+#else
|
||||
+#define BOOT_TARGET_DEVICES_USB(func)
|
||||
+#endif
|
||||
+
|
||||
+#define BOOT_TARGET_DEVICES(func) \
|
||||
+ BOOT_TARGET_DEVICES_MMC(func) \
|
||||
+ BOOT_TARGET_DEVICES_SATA(func) \
|
||||
+ BOOT_TARGET_DEVICES_USB(func) \
|
||||
+ func(PXE, pxe, na)
|
||||
+
|
||||
+#include <config_distro_bootcmd.h>
|
||||
+
|
||||
+#ifdef CONFIG_USB_KEYBOARD
|
||||
+#define CONSOLE_STDIN_SETTINGS \
|
||||
+ "preboot=usb start\0" \
|
||||
+ "stdin=serial,usbkbd\0"
|
||||
+#else
|
||||
+#define CONSOLE_STDIN_SETTINGS \
|
||||
+ "stdin=serial\0"
|
||||
+#endif
|
||||
+
|
||||
+#ifdef CONFIG_VIDEO
|
||||
+#define CONSOLE_STDOUT_SETTINGS \
|
||||
+ "stdout=serial,vga\0" \
|
||||
+ "stderr=serial,vga\0"
|
||||
+#else
|
||||
+#define CONSOLE_STDOUT_SETTINGS \
|
||||
+ "stdout=serial\0" \
|
||||
+ "stderr=serial\0"
|
||||
+#endif
|
||||
+
|
||||
+#define CONSOLE_ENV_SETTINGS \
|
||||
+ CONSOLE_STDIN_SETTINGS \
|
||||
+ CONSOLE_STDOUT_SETTINGS
|
||||
+
|
||||
+#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
+ CONSOLE_ENV_SETTINGS \
|
||||
+ MEM_LAYOUT_ENV_SETTINGS \
|
||||
+ "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \
|
||||
+ "console=ttyS0,115200\0" \
|
||||
+ BOOTENV
|
||||
+#else /* ifndef CONFIG_SPL_BUILD */
|
||||
+#define CONFIG_EXTRA_ENV_SETTINGS
|
||||
+#endif
|
||||
+
|
||||
#endif /* _MV_COMMON_H */
|
||||
--
|
||||
2.13.5
|
||||
|
||||
154
mx6-utilite-distro-boot.patch
Normal file
154
mx6-utilite-distro-boot.patch
Normal file
|
|
@ -0,0 +1,154 @@
|
|||
From af017eb82317dc88c1b23301d76466b389c2e007 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Tue, 13 Sep 2016 08:47:34 +0100
|
||||
Subject: [PATCH] port utilite to distro generic boot commands
|
||||
|
||||
---
|
||||
include/configs/cm_fx6.h | 115 ++++++++++++-----------------------------------
|
||||
1 file changed, 29 insertions(+), 86 deletions(-)
|
||||
|
||||
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
|
||||
index c839b03..4dd501e 100644
|
||||
--- a/include/configs/cm_fx6.h
|
||||
+++ b/include/configs/cm_fx6.h
|
||||
@@ -11,6 +11,7 @@
|
||||
#ifndef __CONFIG_CM_FX6_H
|
||||
#define __CONFIG_CM_FX6_H
|
||||
|
||||
+#include <config_distro_defaults.h>
|
||||
#include "mx6_common.h"
|
||||
|
||||
/* Machine config */
|
||||
@@ -78,101 +79,43 @@
|
||||
#define CONFIG_ENV_SIZE (8 * 1024)
|
||||
#define CONFIG_ENV_OFFSET (768 * 1024)
|
||||
|
||||
+#ifndef CONFIG_SPL_BUILD
|
||||
+#include <config_distro_defaults.h>
|
||||
+#include <config_distro_bootcmd.h>
|
||||
+
|
||||
+#ifdef CONFIG_AHCI
|
||||
+#define BOOT_TARGET_DEVICES_SCSI(func) func(SCSI, scsi, 0)
|
||||
+#else
|
||||
+#define BOOT_TARGET_DEVICES_SCSI(func)
|
||||
+#endif
|
||||
+
|
||||
+#define BOOT_TARGET_DEVICES(func) \
|
||||
+ func(MMC, mmc, 2) \
|
||||
+ BOOT_TARGET_DEVICES_SCSI(func) \
|
||||
+ func(PXE, pxe, na) \
|
||||
+ func(DHCP, dhcp, na)
|
||||
+
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"stdin=serial,usbkbd\0" \
|
||||
"stdout=serial,vga\0" \
|
||||
"stderr=serial,vga\0" \
|
||||
"panel=HDMI\0" \
|
||||
- "autoload=no\0" \
|
||||
- "uImage=uImage-cm-fx6\0" \
|
||||
- "zImage=zImage-cm-fx6\0" \
|
||||
- "kernel=uImage-cm-fx6\0" \
|
||||
- "script=boot.scr\0" \
|
||||
- "dtb=cm-fx6.dtb\0" \
|
||||
- "bootm_low=18000000\0" \
|
||||
+ "dtb=imx6q-utilite-pro.dts\0" \
|
||||
"loadaddr=0x10800000\0" \
|
||||
"fdtaddr=0x11000000\0" \
|
||||
+ "fdt_addr_r=0x18000000\0" \
|
||||
+ "pxefile_addr_r=0x17f00000\0" \
|
||||
+ "scriptaddr=0x17e00000\0" \
|
||||
+ "kernel_addr_r=0x11000000\0" \
|
||||
+ "ramdisk_addr_r=0x18100000\0" \
|
||||
+ "bootm_size=0x20000000\0" \
|
||||
"console=ttymxc3,115200\0" \
|
||||
"ethprime=FEC0\0" \
|
||||
- "video_hdmi=mxcfb0:dev=hdmi,1920x1080M-32@50,if=RGB32\0" \
|
||||
- "video_dvi=mxcfb0:dev=dvi,1280x800M-32@50,if=RGB32\0" \
|
||||
- "doboot=bootm ${loadaddr}\0" \
|
||||
- "doloadfdt=false\0" \
|
||||
- "mtdids=" MTDIDS_DEFAULT "\0" \
|
||||
- "mtdparts=" MTDPARTS_DEFAULT "\0" \
|
||||
- "setboottypez=setenv kernel ${zImage};" \
|
||||
- "setenv doboot bootz ${loadaddr} - ${fdtaddr};" \
|
||||
- "setenv doloadfdt true;\0" \
|
||||
- "setboottypem=setenv kernel ${uImage};" \
|
||||
- "setenv doboot bootm ${loadaddr};" \
|
||||
- "setenv doloadfdt false;\0"\
|
||||
- "mmcroot=/dev/mmcblk0p2 rw rootwait\0" \
|
||||
- "sataroot=/dev/sda2 rw rootwait\0" \
|
||||
- "nandroot=/dev/mtdblock4 rw\0" \
|
||||
- "nandrootfstype=ubifs\0" \
|
||||
- "mmcargs=setenv bootargs console=${console} root=${mmcroot} " \
|
||||
- "${video} ${extrabootargs}\0" \
|
||||
- "sataargs=setenv bootargs console=${console} root=${sataroot} " \
|
||||
- "${video} ${extrabootargs}\0" \
|
||||
- "nandargs=setenv bootargs console=${console} " \
|
||||
- "root=${nandroot} " \
|
||||
- "rootfstype=${nandrootfstype} " \
|
||||
- "${video} ${extrabootargs}\0" \
|
||||
- "nandboot=if run nandloadkernel; then " \
|
||||
- "run nandloadfdt;" \
|
||||
- "run setboottypem;" \
|
||||
- "run storagebootcmd;" \
|
||||
- "run setboottypez;" \
|
||||
- "run storagebootcmd;" \
|
||||
- "fi;\0" \
|
||||
- "run_eboot=echo Starting EBOOT ...; "\
|
||||
- "mmc dev 2 && " \
|
||||
- "mmc rescan && mmc read 10042000 a 400 && go 10042000\0" \
|
||||
- "loadscript=load ${storagetype} ${storagedev} ${loadaddr} ${script};\0"\
|
||||
- "loadkernel=load ${storagetype} ${storagedev} ${loadaddr} ${kernel};\0"\
|
||||
- "loadfdt=load ${storagetype} ${storagedev} ${fdtaddr} ${dtb};\0" \
|
||||
- "bootscript=echo Running bootscript from ${storagetype} ...;" \
|
||||
- "source ${loadaddr};\0" \
|
||||
- "nandloadkernel=nand read ${loadaddr} 0 780000;\0" \
|
||||
- "nandloadfdt=nand read ${fdtaddr} 780000 80000;\0" \
|
||||
- "setupmmcboot=setenv storagetype mmc; setenv storagedev 2;\0" \
|
||||
- "setupsataboot=setenv storagetype sata; setenv storagedev 0;\0" \
|
||||
- "setupnandboot=setenv storagetype nand;\0" \
|
||||
- "setupusbboot=setenv storagetype usb; setenv storagedev 0;\0" \
|
||||
- "storagebootcmd=echo Booting from ${storagetype} ...;" \
|
||||
- "run ${storagetype}args; run doboot;\0" \
|
||||
- "trybootk=if run loadkernel; then " \
|
||||
- "if ${doloadfdt}; then " \
|
||||
- "run loadfdt;" \
|
||||
- "fi;" \
|
||||
- "run storagebootcmd;" \
|
||||
- "fi;\0" \
|
||||
- "trybootsmz=if run loadscript; then " \
|
||||
- "run bootscript;" \
|
||||
- "fi;" \
|
||||
- "run setboottypem;" \
|
||||
- "run trybootk;" \
|
||||
- "run setboottypez;" \
|
||||
- "run trybootk;\0"
|
||||
-
|
||||
-#define CONFIG_BOOTCOMMAND \
|
||||
- "run setupmmcboot;" \
|
||||
- "mmc dev ${storagedev};" \
|
||||
- "if mmc rescan; then " \
|
||||
- "run trybootsmz;" \
|
||||
- "fi;" \
|
||||
- "run setupusbboot;" \
|
||||
- "if usb start; then "\
|
||||
- "if run loadscript; then " \
|
||||
- "run bootscript;" \
|
||||
- "fi;" \
|
||||
- "fi;" \
|
||||
- "run setupsataboot;" \
|
||||
- "if sata init; then " \
|
||||
- "run trybootsmz;" \
|
||||
- "fi;" \
|
||||
- "run setupnandboot;" \
|
||||
- "run nandboot;"
|
||||
+ BOOTENV
|
||||
+
|
||||
+#else /* ifndef CONFIG_SPL_BUILD */
|
||||
+#define CONFIG_EXTRA_ENV_SETTINGS
|
||||
+#endif
|
||||
|
||||
#define CONFIG_PREBOOT "usb start;sf probe"
|
||||
|
||||
--
|
||||
2.9.3
|
||||
|
||||
|
|
@ -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
|
||||
2975
rk3399-Rock960-Ficus-board-support.patch
Normal file
2975
rk3399-Rock960-Ficus-board-support.patch
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -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
|
||||
|
||||
103
rockchip-make_fit_atf-fix-warning-unit_address_vs_reg.patch
Normal file
103
rockchip-make_fit_atf-fix-warning-unit_address_vs_reg.patch
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
From patchwork Thu Apr 26 06:43:06 2018
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Subject: [U-Boot] rockchip: make_fit_atf: fix warning unit_address_vs_reg
|
||||
X-Patchwork-Submitter: Kever Yang <kever.yang@rock-chips.com>
|
||||
X-Patchwork-Id: 904884
|
||||
Message-Id: <1524724986-28497-1-git-send-email-kever.yang@rock-chips.com>
|
||||
To: u-boot@lists.denx.de
|
||||
Date: Thu, 26 Apr 2018 14:43:06 +0800
|
||||
From: Kever Yang <kever.yang@rock-chips.com>
|
||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||||
|
||||
Patch fix warning:
|
||||
/builddir/BUILD/u-boot-2018.05-rc2/"arch/arm/mach-rockchip/make_fit_atf.py" \
|
||||
arch/arm/dts/rk3399-firefly.dtb > u-boot.its
|
||||
./tools/mkimage -f u-boot.its -E u-boot.itb >/dev/null && cat
|
||||
/dev/null
|
||||
u-boot.itb.tmp: Warning (unit_address_vs_reg): Node /images/uboot@1
|
||||
has a unit name, but no reg property
|
||||
u-boot.itb.tmp: Warning (unit_address_vs_reg): Node /images/atf@1 has
|
||||
a unit name, but no reg property
|
||||
u-boot.itb.tmp: Warning (unit_address_vs_reg): Node /images/atf@2 has
|
||||
a unit name, but no reg property
|
||||
u-boot.itb.tmp: Warning (unit_address_vs_reg): Node /images/atf@3 has
|
||||
a unit name, but no reg property
|
||||
u-boot.itb.tmp: Warning (unit_address_vs_reg): Node /images/fdt@1 has
|
||||
a unit name, but no reg property
|
||||
u-boot.itb.tmp: Warning (unit_address_vs_reg): Node
|
||||
/configurations/config@1 has a unit name, but no reg property
|
||||
make[1]: Leaving directory
|
||||
'/builddir/BUILD/u-boot-2018.05-rc2/builds/firefly-rk3399'
|
||||
|
||||
Reported-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
|
||||
---
|
||||
|
||||
arch/arm/mach-rockchip/make_fit_atf.py | 18 +++++++++---------
|
||||
1 file changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-rockchip/make_fit_atf.py b/arch/arm/mach-rockchip/make_fit_atf.py
|
||||
index 7c6dd57..513e088 100755
|
||||
--- a/arch/arm/mach-rockchip/make_fit_atf.py
|
||||
+++ b/arch/arm/mach-rockchip/make_fit_atf.py
|
||||
@@ -37,7 +37,7 @@ DT_HEADER="""/*
|
||||
#address-cells = <1>;
|
||||
|
||||
images {
|
||||
- uboot@1 {
|
||||
+ uboot {
|
||||
description = "U-Boot (64-bit)";
|
||||
data = /incbin/("u-boot-nodtb.bin");
|
||||
type = "standalone";
|
||||
@@ -61,7 +61,7 @@ def append_atf_node(file, atf_index, phy_addr):
|
||||
Append ATF DT node to input FIT dts file.
|
||||
"""
|
||||
data = 'bl31_0x%08x.bin' % phy_addr
|
||||
- print >> file, '\t\tatf@%d {' % atf_index
|
||||
+ print >> file, '\t\tatf_%d {' % atf_index
|
||||
print >> file, '\t\t\tdescription = \"ARM Trusted Firmware\";'
|
||||
print >> file, '\t\t\tdata = /incbin/("%s");' % data
|
||||
print >> file, '\t\t\ttype = "firmware";'
|
||||
@@ -81,7 +81,7 @@ def append_fdt_node(file, dtbs):
|
||||
cnt = 1
|
||||
for dtb in dtbs:
|
||||
dtname = os.path.basename(dtb)
|
||||
- print >> file, '\t\tfdt@%d {' % cnt
|
||||
+ print >> file, '\t\tfdt_%d {' % cnt
|
||||
print >> file, '\t\t\tdescription = "%s";' % dtname
|
||||
print >> file, '\t\t\tdata = /incbin/("%s");' % dtb
|
||||
print >> file, '\t\t\ttype = "flat_dt";'
|
||||
@@ -91,17 +91,17 @@ def append_fdt_node(file, dtbs):
|
||||
cnt = cnt + 1
|
||||
|
||||
def append_conf_section(file, cnt, dtname, atf_cnt):
|
||||
- print >> file, '\t\tconfig@%d {' % cnt
|
||||
+ print >> file, '\t\tconfig_%d {' % cnt
|
||||
print >> file, '\t\t\tdescription = "%s";' % dtname
|
||||
- print >> file, '\t\t\tfirmware = "atf@1";'
|
||||
- print >> file, '\t\t\tloadables = "uboot@1",',
|
||||
+ print >> file, '\t\t\tfirmware = "atf_1";'
|
||||
+ print >> file, '\t\t\tloadables = "uboot",',
|
||||
for i in range(1, atf_cnt):
|
||||
- print >> file, '"atf@%d"' % (i+1),
|
||||
+ print >> file, '"atf_%d"' % (i+1),
|
||||
if i != (atf_cnt - 1):
|
||||
print >> file, ',',
|
||||
else:
|
||||
print >> file, ';'
|
||||
- print >> file, '\t\t\tfdt = "fdt@1";'
|
||||
+ print >> file, '\t\t\tfdt = "fdt_1";'
|
||||
print >> file, '\t\t};'
|
||||
print >> file, ''
|
||||
|
||||
@@ -111,7 +111,7 @@ def append_conf_node(file, dtbs, atf_cnt):
|
||||
"""
|
||||
cnt = 1
|
||||
print >> file, '\tconfigurations {'
|
||||
- print >> file, '\t\tdefault = "config@1";'
|
||||
+ print >> file, '\t\tdefault = "config_1";'
|
||||
for dtb in dtbs:
|
||||
dtname = os.path.basename(dtb)
|
||||
append_conf_section(file, cnt, dtname, atf_cnt)
|
||||
81
rockchip-make_fit_atf-use-elf-entry-point.patch
Normal file
81
rockchip-make_fit_atf-use-elf-entry-point.patch
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
From patchwork Wed May 16 16:44:33 2018
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Subject: [U-Boot] rockchip: make_fit_atf: use elf entry point
|
||||
X-Patchwork-Submitter: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
|
||||
X-Patchwork-Id: 914901
|
||||
Message-Id: <20180516164433.30998-1-yousaf.kaukab@suse.com>
|
||||
To: u-boot@lists.denx.de
|
||||
Cc: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
|
||||
Date: Wed, 16 May 2018 18:44:33 +0200
|
||||
From: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
|
||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||||
|
||||
make_fit_atf.py uses physical address of first segment as the
|
||||
entry point to bl31. It is incorrect and causes following abort
|
||||
when bl31_entry() is called:
|
||||
|
||||
U-Boot SPL board initTrying to boot from MMC1
|
||||
"Synchronous Abort" handler, esr 0x02000000
|
||||
elr: 0000000000000000 lr : 00000000ff8c7e8c
|
||||
x 0: 00000000ff8e0000 x 1: 0000000000000000
|
||||
x 2: 0000000000000000 x 3: 00000000ff8e0180
|
||||
x 4: 0000000000000000 x 5: 0000000000000000
|
||||
x 6: 0000000000000030 x 7: 00000000ff8e0188
|
||||
x 8: 00000000000001e0 x 9: 0000000000000000
|
||||
x10: 000000000007fcdc x11: 00000000002881b8
|
||||
x12: 00000000000001a2 x13: 0000000000000198
|
||||
x14: 000000000007fdcc x15: 00000000002881b8
|
||||
x16: 00000000003c0724 x17: 00000000003c0718
|
||||
x18: 000000000007fe80 x19: 00000000ff8e0000
|
||||
x20: 0000000000200000 x21: 00000000ff8e0000
|
||||
x22: 0000000000000000 x23: 000000000007fe30
|
||||
x24: 00000000ff8d1c3c x25: 00000000ff8d5000
|
||||
x26: 00000000deadbeef x27: 00000000000004a0
|
||||
x28: 000000000000009c x29: 000000000007fd90
|
||||
|
||||
Fix it by using the entry point from the elf header.
|
||||
|
||||
Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
|
||||
---
|
||||
arch/arm/mach-rockchip/make_fit_atf.py | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-rockchip/make_fit_atf.py b/arch/arm/mach-rockchip/make_fit_atf.py
|
||||
index 6b3d9201c9..b88a5e1f16 100755
|
||||
--- a/arch/arm/mach-rockchip/make_fit_atf.py
|
||||
+++ b/arch/arm/mach-rockchip/make_fit_atf.py
|
||||
@@ -53,7 +53,7 @@ DT_END="""
|
||||
};
|
||||
"""
|
||||
|
||||
-def append_atf_node(file, atf_index, phy_addr):
|
||||
+def append_atf_node(file, atf_index, phy_addr, elf_entry):
|
||||
"""
|
||||
Append ATF DT node to input FIT dts file.
|
||||
"""
|
||||
@@ -67,7 +67,7 @@ def append_atf_node(file, atf_index, phy_addr):
|
||||
print >> file, '\t\t\tcompression = "none";'
|
||||
print >> file, '\t\t\tload = <0x%08x>;' % phy_addr
|
||||
if atf_index == 1:
|
||||
- print >> file, '\t\t\tentry = <0x%08x>;' % phy_addr
|
||||
+ print >> file, '\t\t\tentry = <0x%08x>;' % elf_entry
|
||||
print >> file, '\t\t};'
|
||||
print >> file, ''
|
||||
|
||||
@@ -141,12 +141,13 @@ def generate_atf_fit_dts(fit_file_name, bl31_file_name, uboot_file_name, dtbs_fi
|
||||
|
||||
with open(bl31_file_name) as bl31_file:
|
||||
bl31 = ELFFile(bl31_file)
|
||||
+ elf_entry = bl31.header['e_entry']
|
||||
for i in range(bl31.num_segments()):
|
||||
seg = bl31.get_segment(i)
|
||||
if ('PT_LOAD' == seg.__getitem__(ELF_SEG_P_TYPE)):
|
||||
paddr = seg.__getitem__(ELF_SEG_P_PADDR)
|
||||
p= seg.__getitem__(ELF_SEG_P_PADDR)
|
||||
- append_atf_node(fit_file, i+1, paddr)
|
||||
+ append_atf_node(fit_file, i+1, paddr, elf_entry)
|
||||
atf_cnt = i+1
|
||||
append_fdt_node(fit_file, dtbs_file_name)
|
||||
print >> fit_file, '%s' % DT_IMAGES_NODE_END
|
||||
|
|
@ -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
|
||||
|
||||
82
rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
Normal file
82
rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
From 44dd1455f924aa99e6bff0b124a9be0a85dcfa89 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Tue, 4 Sep 2018 11:59:18 +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_defconfig | 2 +-
|
||||
configs/rpi_defconfig | 2 +-
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
|
||||
index d5bf01b76e..08f177f34a 100644
|
||||
--- a/configs/rpi_0_w_defconfig
|
||||
+++ b/configs/rpi_0_w_defconfig
|
||||
@@ -13,7 +13,7 @@ CONFIG_SYS_PROMPT="U-Boot> "
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2835-rpi-zero-w"
|
||||
CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig
|
||||
index a50a815759..0918c6c9ff 100644
|
||||
--- a/configs/rpi_2_defconfig
|
||||
+++ b/configs/rpi_2_defconfig
|
||||
@@ -13,7 +13,7 @@ CONFIG_SYS_PROMPT="U-Boot> "
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2836-rpi-2-b"
|
||||
CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig
|
||||
index ec395d29ed..22165bde53 100644
|
||||
--- a/configs/rpi_3_32b_defconfig
|
||||
+++ b/configs/rpi_3_32b_defconfig
|
||||
@@ -14,7 +14,7 @@ CONFIG_SYS_PROMPT="U-Boot> "
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b"
|
||||
CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig
|
||||
index ac99f2000a..0ca298cd54 100644
|
||||
--- a/configs/rpi_3_defconfig
|
||||
+++ b/configs/rpi_3_defconfig
|
||||
@@ -14,7 +14,7 @@ CONFIG_SYS_PROMPT="U-Boot> "
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b"
|
||||
CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig
|
||||
index db42ffd135..0ec1365b1b 100644
|
||||
--- a/configs/rpi_defconfig
|
||||
+++ b/configs/rpi_defconfig
|
||||
@@ -13,7 +13,7 @@ CONFIG_SYS_PROMPT="U-Boot> "
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_MMC=y
|
||||
CONFIG_CMD_USB=y
|
||||
-CONFIG_OF_EMBED=y
|
||||
+CONFIG_OF_BOARD=y
|
||||
CONFIG_DEFAULT_DEVICE_TREE="bcm2835-rpi-b"
|
||||
CONFIG_ENV_FAT_INTERFACE="mmc"
|
||||
CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
|
||||
--
|
||||
2.19.0.rc0
|
||||
|
||||
32
rpi-add-3Aplus.patch
Normal file
32
rpi-add-3Aplus.patch
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
From d61cf138bce890b0b79745e48a908062bc36b99f Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Gray <jsg@jsg.id.au>
|
||||
Date: Fri, 16 Nov 2018 23:07:39 +1100
|
||||
Subject: [PATCH] rpi: add 3 Model A+
|
||||
|
||||
Add Raspberry Pi 3 Model A+ to list of models, the revision code is 0xE
|
||||
according to the list on raspberrypi.org.
|
||||
|
||||
Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
|
||||
Signed-off-by: Alexander Graf <agraf@suse.de>
|
||||
---
|
||||
board/raspberrypi/rpi/rpi.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
|
||||
index 5062486..153a1fd 100644
|
||||
--- a/board/raspberrypi/rpi/rpi.c
|
||||
+++ b/board/raspberrypi/rpi/rpi.c
|
||||
@@ -138,6 +138,11 @@ static const struct rpi_model rpi_models_new_scheme[] = {
|
||||
DTB_DIR "bcm2837-rpi-3-b-plus.dtb",
|
||||
true,
|
||||
},
|
||||
+ [0xE] = {
|
||||
+ "3 Model A+",
|
||||
+ DTB_DIR "bcm2837-rpi-3-a-plus.dtb",
|
||||
+ false,
|
||||
+ },
|
||||
};
|
||||
|
||||
static const struct rpi_model rpi_models_old_scheme[] = {
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -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)
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (u-boot-v2026.10-rc3.tar.bz2) = e993f5d78a1ac0eb11f00e3730ff23eb880e206036f78c3eb74852b846a23d59111b4b07f4ced2c88c61a8c1627036c3cc32717c0efcf819376c5cd0a34183d2
|
||||
SHA512 (u-boot-2018.09.tar.bz2) = 48cb60a53450e2820eda706917b61dae053677fecfe177e0d07968313d25c7e9d5ab2d7cc5625b54e4c823f5c8852f88387b94f404e307e737aaa5a2c887ad4a
|
||||
|
|
|
|||
67
sunxi-DT-A64-add-Pine64-LTS-support.patch
Normal file
67
sunxi-DT-A64-add-Pine64-LTS-support.patch
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
From 82cc7aca5fb7c7103256229a3ead0b8075da5813 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Wed, 5 Sep 2018 17:00:25 +0100
|
||||
Subject: [PATCH] sunxi: DT: A64: add Pine64-LTS support
|
||||
|
||||
The Pine64-LTS board is a new board version of the Pine64, though
|
||||
actually it's a non-SoM version of the SoPine and its baseboard.
|
||||
In contrast to the original Pine64 it features LPDDR3 DRAM, an eMMC
|
||||
socket and a SPI flash chip for storing firmware (like U-Boot).
|
||||
Add it as a variant to the existing SoPine defconfig, since from a
|
||||
software point of view they are really not different.
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm/dts/Makefile | 1 +
|
||||
arch/arm/dts/sun50i-a64-pine64-lts.dts | 13 +++++++++++++
|
||||
configs/sopine_baseboard_defconfig | 1 +
|
||||
3 files changed, 15 insertions(+)
|
||||
create mode 100644 arch/arm/dts/sun50i-a64-pine64-lts.dts
|
||||
|
||||
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
|
||||
index ebfa227262..6cd440d6af 100644
|
||||
--- a/arch/arm/dts/Makefile
|
||||
+++ b/arch/arm/dts/Makefile
|
||||
@@ -401,6 +401,7 @@ dtb-$(CONFIG_MACH_SUN50I) += \
|
||||
sun50i-a64-nanopi-a64.dtb \
|
||||
sun50i-a64-olinuxino.dtb \
|
||||
sun50i-a64-orangepi-win.dtb \
|
||||
+ sun50i-a64-pine64-lts.dtb \
|
||||
sun50i-a64-pine64-plus.dtb \
|
||||
sun50i-a64-pine64.dtb \
|
||||
sun50i-a64-sopine-baseboard.dtb
|
||||
diff --git a/arch/arm/dts/sun50i-a64-pine64-lts.dts b/arch/arm/dts/sun50i-a64-pine64-lts.dts
|
||||
new file mode 100644
|
||||
index 0000000000..72d6961dc3
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/dts/sun50i-a64-pine64-lts.dts
|
||||
@@ -0,0 +1,13 @@
|
||||
+/*
|
||||
+ * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+ *
|
||||
+ * Copyright (c) 2018 ARM Ltd.
|
||||
+ */
|
||||
+
|
||||
+#include "sun50i-a64-sopine-baseboard.dts"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Pine64 LTS";
|
||||
+ compatible = "pine64,pine64-lts", "allwinner,sun50i-r18",
|
||||
+ "allwinner,sun50i-a64";
|
||||
+};
|
||||
diff --git a/configs/sopine_baseboard_defconfig b/configs/sopine_baseboard_defconfig
|
||||
index 9ede081c08..eead38a1e3 100644
|
||||
--- a/configs/sopine_baseboard_defconfig
|
||||
+++ b/configs/sopine_baseboard_defconfig
|
||||
@@ -15,6 +15,7 @@ CONFIG_NR_DRAM_BANKS=1
|
||||
# CONFIG_SPL_DOS_PARTITION is not set
|
||||
# CONFIG_SPL_EFI_PARTITION is not set
|
||||
CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-sopine-baseboard"
|
||||
+CONFIG_OF_LIST="sun50i-a64-sopine-baseboard sun50i-a64-pine64-lts"
|
||||
CONFIG_SUN8I_EMAC=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
|
||||
--
|
||||
2.19.0.rc0
|
||||
|
||||
54
tegra-TXx-Add-CONFIG_EFI_LOADER_BOUNCE_BUFFER.patch
Normal file
54
tegra-TXx-Add-CONFIG_EFI_LOADER_BOUNCE_BUFFER.patch
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
From c8b9f0c2ca0a4270db811867ad051e75efa4100a Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Wed, 5 Sep 2018 11:13:40 +0100
|
||||
Subject: [PATCH] tegra: TXx: Add CONFIG_EFI_LOADER_BOUNCE_BUFFER
|
||||
|
||||
The Jetson TX series needs EFI loader bounce buffer enabled otherwise grub doesn't see
|
||||
the storage when it loads.
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
configs/p2371-2180_defconfig | 1 +
|
||||
configs/p2771-0000-000_defconfig | 1 +
|
||||
configs/p2771-0000-500_defconfig | 1 +
|
||||
3 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/configs/p2371-2180_defconfig b/configs/p2371-2180_defconfig
|
||||
index d9dcf7e014..156a1cbcf9 100644
|
||||
--- a/configs/p2371-2180_defconfig
|
||||
+++ b/configs/p2371-2180_defconfig
|
||||
@@ -5,6 +5,7 @@ CONFIG_TEGRA210=y
|
||||
CONFIG_TARGET_P2371_2180=y
|
||||
CONFIG_NR_DRAM_BANKS=2
|
||||
CONFIG_OF_SYSTEM_SETUP=y
|
||||
+CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
||||
CONFIG_CONSOLE_MUX=y
|
||||
CONFIG_SYS_STDIO_DEREGISTER=y
|
||||
CONFIG_SYS_PROMPT="Tegra210 (P2371-2180) # "
|
||||
diff --git a/configs/p2771-0000-000_defconfig b/configs/p2771-0000-000_defconfig
|
||||
index 2bf2e31359..15ea2fc6d6 100644
|
||||
--- a/configs/p2771-0000-000_defconfig
|
||||
+++ b/configs/p2771-0000-000_defconfig
|
||||
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x80080000
|
||||
CONFIG_TEGRA186=y
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_OF_SYSTEM_SETUP=y
|
||||
+CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
||||
CONFIG_CONSOLE_MUX=y
|
||||
CONFIG_SYS_STDIO_DEREGISTER=y
|
||||
CONFIG_SYS_PROMPT="Tegra186 (P2771-0000-000) # "
|
||||
diff --git a/configs/p2771-0000-500_defconfig b/configs/p2771-0000-500_defconfig
|
||||
index 1e33c1f95b..a32b6a866e 100644
|
||||
--- a/configs/p2771-0000-500_defconfig
|
||||
+++ b/configs/p2771-0000-500_defconfig
|
||||
@@ -4,6 +4,7 @@ CONFIG_SYS_TEXT_BASE=0x80080000
|
||||
CONFIG_TEGRA186=y
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_OF_SYSTEM_SETUP=y
|
||||
+CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
|
||||
CONFIG_CONSOLE_MUX=y
|
||||
CONFIG_SYS_STDIO_DEREGISTER=y
|
||||
CONFIG_SYS_PROMPT="Tegra186 (P2771-0000-500) # "
|
||||
--
|
||||
2.19.0.rc0
|
||||
|
||||
194
tegra-efi_loader-simplify-ifdefs.patch
Normal file
194
tegra-efi_loader-simplify-ifdefs.patch
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
From patchwork Thu Aug 30 21:43:43 2018
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Subject: [U-Boot,V3,1/3] efi_loader: simplify ifdefs
|
||||
X-Patchwork-Submitter: Stephen Warren <swarren@wwwdotorg.org>
|
||||
X-Patchwork-Id: 964248
|
||||
X-Patchwork-Delegate: agraf@suse.de
|
||||
Message-Id: <20180830214345.2475-1-swarren@wwwdotorg.org>
|
||||
To: Tom Rini <trini@konsulko.com>
|
||||
Cc: Stephen Warren <swarren@nvidia.com>, xypron.glpk@gmx.de, agraf@suse.de,
|
||||
u-boot@lists.denx.de, Tom Warren <twarren@nvidia.com>
|
||||
Date: Thu, 30 Aug 2018 15:43:43 -0600
|
||||
From: Stephen Warren <swarren@wwwdotorg.org>
|
||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||||
|
||||
From: Stephen Warren <swarren@nvidia.com>
|
||||
|
||||
Use CONFIG_IS_ENABLED(EFI_LOADER) to avoid explicitly checking CONFIG_SPL
|
||||
too. This simplifies the conditional.
|
||||
|
||||
Signed-off-by: Stephen Warren <swarren@nvidia.com>
|
||||
---
|
||||
v3: New patch.
|
||||
---
|
||||
arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 2 +-
|
||||
arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 2 +-
|
||||
arch/x86/lib/e820.c | 4 ++--
|
||||
include/efi_loader.h | 6 +++---
|
||||
4 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
|
||||
index 052e0708d454..be00bd55ab68 100644
|
||||
--- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
|
||||
+++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c
|
||||
@@ -835,7 +835,7 @@ int dram_init_banksize(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-#if defined(CONFIG_EFI_LOADER) && !defined(CONFIG_SPL_BUILD)
|
||||
+#if CONFIG_IS_ENABLED(EFI_LOADER)
|
||||
void efi_add_known_memory(void)
|
||||
{
|
||||
int i;
|
||||
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
|
||||
index fc9de73bcef4..c9c2c3f6d3e8 100644
|
||||
--- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
|
||||
+++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
|
||||
@@ -135,7 +135,7 @@ remove_psci_node:
|
||||
|
||||
fdt_add_mem_rsv(blob, (uintptr_t)&secondary_boot_code,
|
||||
*boot_code_size);
|
||||
-#if defined(CONFIG_EFI_LOADER) && !defined(CONFIG_SPL_BUILD)
|
||||
+#if CONFIG_IS_ENABLED(EFI_LOADER)
|
||||
efi_add_memory_map((uintptr_t)&secondary_boot_code,
|
||||
ALIGN(*boot_code_size, EFI_PAGE_SIZE) >> EFI_PAGE_SHIFT,
|
||||
EFI_RESERVED_MEMORY_TYPE, false);
|
||||
diff --git a/arch/x86/lib/e820.c b/arch/x86/lib/e820.c
|
||||
index 8b34f677d96d..d6ae2c4e9d77 100644
|
||||
--- a/arch/x86/lib/e820.c
|
||||
+++ b/arch/x86/lib/e820.c
|
||||
@@ -36,7 +36,7 @@ __weak unsigned int install_e820_map(unsigned int max_entries,
|
||||
return 4;
|
||||
}
|
||||
|
||||
-#if defined(CONFIG_EFI_LOADER) && !defined(CONFIG_SPL_BUILD)
|
||||
+#if CONFIG_IS_ENABLED(EFI_LOADER)
|
||||
void efi_add_known_memory(void)
|
||||
{
|
||||
struct e820_entry e820[E820MAX];
|
||||
@@ -72,4 +72,4 @@ void efi_add_known_memory(void)
|
||||
efi_add_memory_map(start, pages, type, false);
|
||||
}
|
||||
}
|
||||
-#endif /* defined(EFI_LOADER) && !defined(CONFIG_SPL_BUILD) */
|
||||
+#endif /* CONFIG_IS_ENABLED(EFI_LOADER) */
|
||||
diff --git a/include/efi_loader.h b/include/efi_loader.h
|
||||
index f162adfff7e2..b46babf9316f 100644
|
||||
--- a/include/efi_loader.h
|
||||
+++ b/include/efi_loader.h
|
||||
@@ -13,7 +13,7 @@
|
||||
#include <efi_api.h>
|
||||
|
||||
/* No need for efi loader support in SPL */
|
||||
-#if defined(CONFIG_EFI_LOADER) && !defined(CONFIG_SPL_BUILD)
|
||||
+#if CONFIG_IS_ENABLED(EFI_LOADER)
|
||||
|
||||
#include <linux/list.h>
|
||||
|
||||
@@ -460,7 +460,7 @@ efi_status_t EFIAPI efi_set_variable(u16 *variable_name, efi_guid_t *vendor,
|
||||
void *efi_bootmgr_load(struct efi_device_path **device_path,
|
||||
struct efi_device_path **file_path);
|
||||
|
||||
-#else /* defined(EFI_LOADER) && !defined(CONFIG_SPL_BUILD) */
|
||||
+#else /* CONFIG_IS_ENABLED(EFI_LOADER) */
|
||||
|
||||
/* Without CONFIG_EFI_LOADER we don't have a runtime section, stub it out */
|
||||
#define __efi_runtime_data
|
||||
@@ -477,6 +477,6 @@ static inline void efi_set_bootdev(const char *dev, const char *devnr,
|
||||
static inline void efi_net_set_dhcp_ack(void *pkt, int len) { }
|
||||
static inline void efi_print_image_infos(void *pc) { }
|
||||
|
||||
-#endif /* CONFIG_EFI_LOADER && !CONFIG_SPL_BUILD */
|
||||
+#endif /* CONFIG_IS_ENABLED(EFI_LOADER) */
|
||||
|
||||
#endif /* _EFI_LOADER_H */
|
||||
|
||||
From patchwork Thu Aug 30 21:43:44 2018
|
||||
Content-Type: text/plain; charset="utf-8"
|
||||
MIME-Version: 1.0
|
||||
Content-Transfer-Encoding: 7bit
|
||||
Subject: [U-Boot, V3,
|
||||
2/3] ARM: tegra: reserve unmapped RAM so EFI doesn't use it
|
||||
X-Patchwork-Submitter: Stephen Warren <swarren@wwwdotorg.org>
|
||||
X-Patchwork-Id: 964249
|
||||
X-Patchwork-Delegate: agraf@suse.de
|
||||
Message-Id: <20180830214345.2475-2-swarren@wwwdotorg.org>
|
||||
To: Tom Rini <trini@konsulko.com>
|
||||
Cc: Stephen Warren <swarren@nvidia.com>, xypron.glpk@gmx.de, agraf@suse.de,
|
||||
u-boot@lists.denx.de, Tom Warren <twarren@nvidia.com>
|
||||
Date: Thu, 30 Aug 2018 15:43:44 -0600
|
||||
From: Stephen Warren <swarren@wwwdotorg.org>
|
||||
List-Id: U-Boot discussion <u-boot.lists.denx.de>
|
||||
|
||||
From: Stephen Warren <swarren@nvidia.com>
|
||||
|
||||
Tegra U-Boot ensures that board_get_usable_ram_top() never returns a value
|
||||
over 4GB, since some peripherals can't access such addresses. However, on
|
||||
systems with more than 2GB of RAM, RAM bank 1 does describe this extra
|
||||
RAM, so that Linux (or whatever OS) can use it, subject to DMA
|
||||
limitations. Since board_get_usable_ram_top() points at the top of RAM
|
||||
bank 0, the memory locations describes by RAM bank 1 are not mapped by
|
||||
U-Boot's MMU configuration, and so cannot be used for anything.
|
||||
|
||||
For some completely inexplicable reason, U-Boot's EFI support ignores the
|
||||
value returned by board_get_usable_ram_top(), and EFI memory allocation
|
||||
routines will return values above U-Boot's RAM top. This causes U-Boot to
|
||||
crash when it accesses that RAM, since it isn't mapped by the MMU. One
|
||||
use-case where this happens is TFTP download of a file on Jetson TX1
|
||||
(p2371-2180).
|
||||
|
||||
This change explicitly tells the EFI code that this extra RAM should not
|
||||
be used, thus avoiding the crash.
|
||||
|
||||
A previous attempt to make EFI honor board_get_usable_ram_top() was
|
||||
rejected. So, this patch will need to be replicated for any board that
|
||||
implements board_get_usable_ram_top().
|
||||
|
||||
Fixes: aa909462d018 ("efi_loader: efi_allocate_pages is too restrictive")
|
||||
Signed-off-by: Stephen Warren <swarren@nvidia.com>
|
||||
---
|
||||
v3:
|
||||
- Use shift not divide for page count calculation.
|
||||
- Enhance ifdef to avoid EFI references from SPL builds.
|
||||
v2:
|
||||
- Don't hard-code EFI page size.
|
||||
- Register RAM as a boot services data rather than reserved.
|
||||
---
|
||||
arch/arm/mach-tegra/board2.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c
|
||||
index 421a71b3014d..12257a42b51b 100644
|
||||
--- a/arch/arm/mach-tegra/board2.c
|
||||
+++ b/arch/arm/mach-tegra/board2.c
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include <common.h>
|
||||
#include <dm.h>
|
||||
+#include <efi_loader.h>
|
||||
#include <errno.h>
|
||||
#include <ns16550.h>
|
||||
#include <usb.h>
|
||||
@@ -210,6 +211,19 @@ int board_early_init_f(void)
|
||||
|
||||
int board_late_init(void)
|
||||
{
|
||||
+#if CONFIG_IS_ENABLED(EFI_LOADER)
|
||||
+ if (gd->bd->bi_dram[1].start) {
|
||||
+ /*
|
||||
+ * Only bank 0 is below board_get_usable_ram_top(), so all of
|
||||
+ * bank 1 is not mapped by the U-Boot MMU configuration, and so
|
||||
+ * we must prevent EFI from using it.
|
||||
+ */
|
||||
+ efi_add_memory_map(gd->bd->bi_dram[1].start,
|
||||
+ gd->bd->bi_dram[1].size >> EFI_PAGE_SHIFT,
|
||||
+ EFI_BOOT_SERVICES_DATA, false);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
#if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
|
||||
if (tegra_cpu_is_non_secure()) {
|
||||
printf("CPU is in NS mode\n");
|
||||
|
||||
472
tegra-fix-tx1.patch
Normal file
472
tegra-fix-tx1.patch
Normal file
|
|
@ -0,0 +1,472 @@
|
|||
From a2872b1e2f81e04f92f0970e18c6c8a40640eea8 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Wed, 5 Sep 2018 12:11:40 +0100
|
||||
Subject: [PATCH] tegra fix tx1
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm/include/asm/arch-tegra/xusb-padctl.h | 1 +
|
||||
arch/arm/mach-tegra/board.c | 4 +-
|
||||
arch/arm/mach-tegra/board2.c | 12 ++++
|
||||
arch/arm/mach-tegra/dt-setup.c | 5 +-
|
||||
arch/arm/mach-tegra/gpu.c | 2 +
|
||||
.../mach-tegra/{tegra186 => }/nvtboot_board.c | 70 +++++++++++++++++++
|
||||
.../mach-tegra/{tegra186 => }/nvtboot_ll.S | 0
|
||||
.../mach-tegra/{tegra186 => }/nvtboot_mem.c | 0
|
||||
arch/arm/mach-tegra/tegra186/Makefile | 6 +-
|
||||
arch/arm/mach-tegra/tegra210/Makefile | 3 +
|
||||
arch/arm/mach-tegra/tegra210/clock.c | 19 -----
|
||||
arch/arm/mach-tegra/tegra210/xusb-padctl.c | 68 +++++++++++-------
|
||||
arch/arm/mach-tegra/xusb-padctl-dummy.c | 4 ++
|
||||
configs/p2371-0000_defconfig | 2 +-
|
||||
configs/p2371-2180_defconfig | 2 +-
|
||||
configs/p2571_defconfig | 2 +-
|
||||
16 files changed, 146 insertions(+), 54 deletions(-)
|
||||
rename arch/arm/mach-tegra/{tegra186 => }/nvtboot_board.c (84%)
|
||||
rename arch/arm/mach-tegra/{tegra186 => }/nvtboot_ll.S (100%)
|
||||
rename arch/arm/mach-tegra/{tegra186 => }/nvtboot_mem.c (100%)
|
||||
|
||||
diff --git a/arch/arm/include/asm/arch-tegra/xusb-padctl.h b/arch/arm/include/asm/arch-tegra/xusb-padctl.h
|
||||
index deccdf455d..7e14d8109d 100644
|
||||
--- a/arch/arm/include/asm/arch-tegra/xusb-padctl.h
|
||||
+++ b/arch/arm/include/asm/arch-tegra/xusb-padctl.h
|
||||
@@ -16,6 +16,7 @@ struct tegra_xusb_phy;
|
||||
struct tegra_xusb_phy *tegra_xusb_phy_get(unsigned int type);
|
||||
|
||||
void tegra_xusb_padctl_init(void);
|
||||
+void tegra_xusb_padctl_exit(void);
|
||||
int tegra_xusb_phy_prepare(struct tegra_xusb_phy *phy);
|
||||
int tegra_xusb_phy_enable(struct tegra_xusb_phy *phy);
|
||||
int tegra_xusb_phy_disable(struct tegra_xusb_phy *phy);
|
||||
diff --git a/arch/arm/mach-tegra/board.c b/arch/arm/mach-tegra/board.c
|
||||
index f8fc042a1d..ddef228831 100644
|
||||
--- a/arch/arm/mach-tegra/board.c
|
||||
+++ b/arch/arm/mach-tegra/board.c
|
||||
@@ -35,7 +35,7 @@ enum {
|
||||
|
||||
static bool from_spl __attribute__ ((section(".data")));
|
||||
|
||||
-#ifndef CONFIG_SPL_BUILD
|
||||
+#if !defined(CONFIG_SPL_BUILD) && !defined(CONFIG_TEGRA210)
|
||||
void save_boot_params(u32 r0, u32 r1, u32 r2, u32 r3)
|
||||
{
|
||||
from_spl = r0 != UBOOT_NOT_LOADED_FROM_SPL;
|
||||
@@ -66,6 +66,7 @@ bool tegra_cpu_is_non_secure(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
+#if !defined(CONFIG_ARM64)
|
||||
/* Read the RAM size directly from the memory controller */
|
||||
static phys_size_t query_sdram_size(void)
|
||||
{
|
||||
@@ -122,6 +123,7 @@ int dram_init(void)
|
||||
gd->ram_size = query_sdram_size();
|
||||
return 0;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static int uart_configs[] = {
|
||||
#if defined(CONFIG_TEGRA20)
|
||||
diff --git a/arch/arm/mach-tegra/board2.c b/arch/arm/mach-tegra/board2.c
|
||||
index 421a71b301..22ecd99760 100644
|
||||
--- a/arch/arm/mach-tegra/board2.c
|
||||
+++ b/arch/arm/mach-tegra/board2.c
|
||||
@@ -171,6 +171,12 @@ int board_init(void)
|
||||
return nvidia_board_init();
|
||||
}
|
||||
|
||||
+void board_cleanup_before_linux(void)
|
||||
+{
|
||||
+ /* power down UPHY PLL */
|
||||
+ tegra_xusb_padctl_exit();
|
||||
+}
|
||||
+
|
||||
#ifdef CONFIG_BOARD_EARLY_INIT_F
|
||||
static void __gpio_early_init(void)
|
||||
{
|
||||
@@ -220,9 +226,14 @@ int board_late_init(void)
|
||||
#endif
|
||||
start_cpu_fan();
|
||||
|
||||
+#if defined(CONFIG_TEGRA210)
|
||||
+ tegra_soc_board_init_late();
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#ifndef CONFIG_TEGRA210
|
||||
/*
|
||||
* In some SW environments, a memory carve-out exists to house a secure
|
||||
* monitor, a trusted OS, and/or various statically allocated media buffers.
|
||||
@@ -348,3 +359,4 @@ ulong board_get_usable_ram_top(ulong total_size)
|
||||
{
|
||||
return CONFIG_SYS_SDRAM_BASE + usable_ram_size_below_4g();
|
||||
}
|
||||
+#endif
|
||||
diff --git a/arch/arm/mach-tegra/dt-setup.c b/arch/arm/mach-tegra/dt-setup.c
|
||||
index 8ac723f41e..a961fab20f 100644
|
||||
--- a/arch/arm/mach-tegra/dt-setup.c
|
||||
+++ b/arch/arm/mach-tegra/dt-setup.c
|
||||
@@ -12,12 +12,10 @@
|
||||
*/
|
||||
int ft_system_setup(void *blob, bd_t *bd)
|
||||
{
|
||||
+#if !defined(CONFIG_ARM64)
|
||||
const char *gpu_compats[] = {
|
||||
#if defined(CONFIG_TEGRA124)
|
||||
"nvidia,gk20a",
|
||||
-#endif
|
||||
-#if defined(CONFIG_TEGRA210)
|
||||
- "nvidia,gm20b",
|
||||
#endif
|
||||
};
|
||||
int i, ret;
|
||||
@@ -28,6 +26,7 @@ int ft_system_setup(void *blob, bd_t *bd)
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
+#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
diff --git a/arch/arm/mach-tegra/gpu.c b/arch/arm/mach-tegra/gpu.c
|
||||
index e047f67821..3b8c1a0434 100644
|
||||
--- a/arch/arm/mach-tegra/gpu.c
|
||||
+++ b/arch/arm/mach-tegra/gpu.c
|
||||
@@ -17,6 +17,7 @@ static bool _configured;
|
||||
|
||||
void tegra_gpu_config(void)
|
||||
{
|
||||
+#if !defined(CONFIG_ARM64)
|
||||
struct mc_ctlr *mc = (struct mc_ctlr *)NV_PA_MC_BASE;
|
||||
|
||||
#if defined(CONFIG_TEGRA_SUPPORT_NON_SECURE)
|
||||
@@ -34,6 +35,7 @@ void tegra_gpu_config(void)
|
||||
debug("configured VPR\n");
|
||||
|
||||
_configured = true;
|
||||
+#endif
|
||||
}
|
||||
|
||||
#if defined(CONFIG_OF_LIBFDT)
|
||||
diff --git a/arch/arm/mach-tegra/tegra186/nvtboot_board.c b/arch/arm/mach-tegra/nvtboot_board.c
|
||||
similarity index 84%
|
||||
rename from arch/arm/mach-tegra/tegra186/nvtboot_board.c
|
||||
rename to arch/arm/mach-tegra/nvtboot_board.c
|
||||
index 83c0e931ea..7b98b502ef 100644
|
||||
--- a/arch/arm/mach-tegra/tegra186/nvtboot_board.c
|
||||
+++ b/arch/arm/mach-tegra/nvtboot_board.c
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <common.h>
|
||||
+#include <linux/ctype.h>
|
||||
#include <fdt_support.h>
|
||||
#include <fdtdec.h>
|
||||
#include <asm/arch/tegra.h>
|
||||
@@ -270,6 +271,27 @@ static void set_calculated_env_vars(void)
|
||||
free(vars);
|
||||
}
|
||||
|
||||
+char *strstrip(char *s)
|
||||
+{
|
||||
+ size_t size;
|
||||
+ char *end;
|
||||
+
|
||||
+ size = strlen(s);
|
||||
+
|
||||
+ if (!size)
|
||||
+ return s;
|
||||
+
|
||||
+ end = s + size - 1;
|
||||
+ while (end >= s && isblank(*end))
|
||||
+ end--;
|
||||
+ *(end + 1) = '\0';
|
||||
+
|
||||
+ while (*s && isblank(*s))
|
||||
+ s++;
|
||||
+
|
||||
+ return s;
|
||||
+}
|
||||
+
|
||||
static int set_fdt_addr(void)
|
||||
{
|
||||
int ret;
|
||||
@@ -283,6 +305,7 @@ static int set_fdt_addr(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#if defined(CONFIG_TEGRA186)
|
||||
/*
|
||||
* Attempt to use /chosen/nvidia,ether-mac in the nvtboot DTB to U-Boot's
|
||||
* ethaddr environment variable if possible.
|
||||
@@ -316,6 +339,49 @@ static int set_ethaddr_from_nvtboot(void)
|
||||
|
||||
return 0;
|
||||
}
|
||||
+#endif
|
||||
+
|
||||
+static int set_cbootargs(void)
|
||||
+{
|
||||
+ const void *nvtboot_blob = (void *)nvtboot_boot_x0;
|
||||
+ const void *prop;
|
||||
+ char *bargs, *s;
|
||||
+ int node, len, ret = 0;
|
||||
+
|
||||
+ /*
|
||||
+ * Save the bootargs passed in the DTB by the previous bootloader
|
||||
+ * (CBoot) to the env. (pointer in reg x0)
|
||||
+ */
|
||||
+
|
||||
+ debug("%s: nvtboot_blob = %p\n", __func__, nvtboot_blob);
|
||||
+
|
||||
+ node = fdt_path_offset(nvtboot_blob, "/chosen");
|
||||
+ if (node < 0) {
|
||||
+ pr_err("Can't find /chosen node in nvtboot DTB");
|
||||
+ return node;
|
||||
+ }
|
||||
+ debug("%s: found 'chosen' node: %d\n", __func__, node);
|
||||
+
|
||||
+ prop = fdt_getprop(nvtboot_blob, node, "bootargs", &len);
|
||||
+ if (!prop) {
|
||||
+ pr_err("Can't find /chosen/bootargs property in nvtboot DTB");
|
||||
+ return -ENOENT;
|
||||
+ }
|
||||
+ debug("%s: found 'bootargs' property, len =%d\n", __func__, len);
|
||||
+
|
||||
+ /* CBoot seems to add trailing whitespace - strip it here */
|
||||
+ s = strdup((char *)prop);
|
||||
+ bargs = strstrip(s);
|
||||
+ debug("%s: bootargs = %s!\n", __func__, bargs);
|
||||
+
|
||||
+ /* Set cbootargs to env for later use by extlinux files */
|
||||
+ ret = env_set("cbootargs", bargs);
|
||||
+ if (ret)
|
||||
+ printf("Failed to set cbootargs from cboot DTB: %d\n", ret);
|
||||
+
|
||||
+ free(s);
|
||||
+ return ret;
|
||||
+}
|
||||
|
||||
int tegra_soc_board_init_late(void)
|
||||
{
|
||||
@@ -325,8 +391,12 @@ int tegra_soc_board_init_late(void)
|
||||
* extlinux.conf or boot script content.
|
||||
*/
|
||||
set_fdt_addr();
|
||||
+#if defined(CONFIG_TEGRA186)
|
||||
/* Ignore errors here; not all cases care about Ethernet addresses */
|
||||
set_ethaddr_from_nvtboot();
|
||||
+#endif
|
||||
+ /* Save CBoot bootargs to env */
|
||||
+ set_cbootargs();
|
||||
|
||||
return 0;
|
||||
}
|
||||
diff --git a/arch/arm/mach-tegra/tegra186/nvtboot_ll.S b/arch/arm/mach-tegra/nvtboot_ll.S
|
||||
similarity index 100%
|
||||
rename from arch/arm/mach-tegra/tegra186/nvtboot_ll.S
|
||||
rename to arch/arm/mach-tegra/nvtboot_ll.S
|
||||
diff --git a/arch/arm/mach-tegra/tegra186/nvtboot_mem.c b/arch/arm/mach-tegra/nvtboot_mem.c
|
||||
similarity index 100%
|
||||
rename from arch/arm/mach-tegra/tegra186/nvtboot_mem.c
|
||||
rename to arch/arm/mach-tegra/nvtboot_mem.c
|
||||
diff --git a/arch/arm/mach-tegra/tegra186/Makefile b/arch/arm/mach-tegra/tegra186/Makefile
|
||||
index 56f3378ece..1a43ef7a45 100644
|
||||
--- a/arch/arm/mach-tegra/tegra186/Makefile
|
||||
+++ b/arch/arm/mach-tegra/tegra186/Makefile
|
||||
@@ -4,6 +4,6 @@
|
||||
|
||||
obj-y += ../board186.o
|
||||
obj-y += cache.o
|
||||
-obj-y += nvtboot_board.o
|
||||
-obj-y += nvtboot_ll.o
|
||||
-obj-y += nvtboot_mem.o
|
||||
+obj-y += ../nvtboot_board.o
|
||||
+obj-y += ../nvtboot_ll.o
|
||||
+obj-y += ../nvtboot_mem.o
|
||||
diff --git a/arch/arm/mach-tegra/tegra210/Makefile b/arch/arm/mach-tegra/tegra210/Makefile
|
||||
index b6012fc7ba..6de6d810eb 100644
|
||||
--- a/arch/arm/mach-tegra/tegra210/Makefile
|
||||
+++ b/arch/arm/mach-tegra/tegra210/Makefile
|
||||
@@ -8,5 +8,8 @@
|
||||
obj-y += clock.o
|
||||
obj-y += funcmux.o
|
||||
obj-y += pinmux.o
|
||||
+obj-y += ../nvtboot_board.o
|
||||
+obj-y += ../nvtboot_ll.o
|
||||
+obj-y += ../nvtboot_mem.o
|
||||
obj-y += xusb-padctl.o
|
||||
obj-y += ../xusb-padctl-common.o
|
||||
diff --git a/arch/arm/mach-tegra/tegra210/clock.c b/arch/arm/mach-tegra/tegra210/clock.c
|
||||
index 06068c4b7b..341c97f16d 100644
|
||||
--- a/arch/arm/mach-tegra/tegra210/clock.c
|
||||
+++ b/arch/arm/mach-tegra/tegra210/clock.c
|
||||
@@ -1235,25 +1235,6 @@ int tegra_plle_enable(void)
|
||||
value &= ~PLLE_SS_CNTL_INTERP_RESET;
|
||||
writel(value, NV_PA_CLK_RST_BASE + PLLE_SS_CNTL);
|
||||
|
||||
- /* 7. Enable HW power sequencer for PLLE */
|
||||
-
|
||||
- value = readl(NV_PA_CLK_RST_BASE + PLLE_MISC);
|
||||
- value &= ~PLLE_MISC_IDDQ_SWCTL;
|
||||
- writel(value, NV_PA_CLK_RST_BASE + PLLE_MISC);
|
||||
-
|
||||
- value = readl(NV_PA_CLK_RST_BASE + PLLE_AUX);
|
||||
- value &= ~PLLE_AUX_SS_SWCTL;
|
||||
- value &= ~PLLE_AUX_ENABLE_SWCTL;
|
||||
- value |= PLLE_AUX_SS_SEQ_INCLUDE;
|
||||
- value |= PLLE_AUX_USE_LOCKDET;
|
||||
- writel(value, NV_PA_CLK_RST_BASE + PLLE_AUX);
|
||||
-
|
||||
- /* 8. Wait 1 us */
|
||||
-
|
||||
- udelay(1);
|
||||
- value |= PLLE_AUX_SEQ_ENABLE;
|
||||
- writel(value, NV_PA_CLK_RST_BASE + PLLE_AUX);
|
||||
-
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/arch/arm/mach-tegra/tegra210/xusb-padctl.c b/arch/arm/mach-tegra/tegra210/xusb-padctl.c
|
||||
index ab6684f027..64dc297ae2 100644
|
||||
--- a/arch/arm/mach-tegra/tegra210/xusb-padctl.c
|
||||
+++ b/arch/arm/mach-tegra/tegra210/xusb-padctl.c
|
||||
@@ -170,6 +170,17 @@ static int phy_unprepare(struct tegra_xusb_phy *phy)
|
||||
return tegra_xusb_padctl_disable(phy->padctl);
|
||||
}
|
||||
|
||||
+#define XUSB_PADCTL_USB3_PAD_MUX 0x28
|
||||
+#define XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE (1 << 0)
|
||||
+#define XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK0 (1 << 1)
|
||||
+#define XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK1 (1 << 2)
|
||||
+#define XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK2 (1 << 3)
|
||||
+#define XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK3 (1 << 4)
|
||||
+#define XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK4 (1 << 5)
|
||||
+#define XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK5 (1 << 6)
|
||||
+#define XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK6 (1 << 7)
|
||||
+#define XUSB_PADCTL_USB3_PAD_MUX_FORCE_SATA_PAD_IDDQ_DISABLE_MASK0 (1 << 8)
|
||||
+
|
||||
#define XUSB_PADCTL_UPHY_PLL_P0_CTL1 0x360
|
||||
#define XUSB_PADCTL_UPHY_PLL_P0_CTL1_FREQ_NDIV_MASK (0xff << 20)
|
||||
#define XUSB_PADCTL_UPHY_PLL_P0_CTL1_FREQ_NDIV(x) (((x) & 0xff) << 20)
|
||||
@@ -366,31 +377,6 @@ static int pcie_phy_enable(struct tegra_xusb_phy *phy)
|
||||
value &= ~XUSB_PADCTL_UPHY_PLL_P0_CTL8_RCAL_CLK_EN;
|
||||
padctl_writel(padctl, value, XUSB_PADCTL_UPHY_PLL_P0_CTL8);
|
||||
|
||||
- value = readl(NV_PA_CLK_RST_BASE + CLK_RST_XUSBIO_PLL_CFG0);
|
||||
- value &= ~CLK_RST_XUSBIO_PLL_CFG0_PADPLL_RESET_SWCTL;
|
||||
- value &= ~CLK_RST_XUSBIO_PLL_CFG0_CLK_ENABLE_SWCTL;
|
||||
- value |= CLK_RST_XUSBIO_PLL_CFG0_PADPLL_USE_LOCKDET;
|
||||
- value |= CLK_RST_XUSBIO_PLL_CFG0_PADPLL_SLEEP_IDDQ;
|
||||
- writel(value, NV_PA_CLK_RST_BASE + CLK_RST_XUSBIO_PLL_CFG0);
|
||||
-
|
||||
- value = padctl_readl(padctl, XUSB_PADCTL_UPHY_PLL_P0_CTL1);
|
||||
- value &= ~XUSB_PADCTL_UPHY_PLL_P0_CTL1_PWR_OVRD;
|
||||
- padctl_writel(padctl, value, XUSB_PADCTL_UPHY_PLL_P0_CTL1);
|
||||
-
|
||||
- value = padctl_readl(padctl, XUSB_PADCTL_UPHY_PLL_P0_CTL2);
|
||||
- value &= ~XUSB_PADCTL_UPHY_PLL_P0_CTL2_CAL_OVRD;
|
||||
- padctl_writel(padctl, value, XUSB_PADCTL_UPHY_PLL_P0_CTL2);
|
||||
-
|
||||
- value = padctl_readl(padctl, XUSB_PADCTL_UPHY_PLL_P0_CTL8);
|
||||
- value &= ~XUSB_PADCTL_UPHY_PLL_P0_CTL8_RCAL_OVRD;
|
||||
- padctl_writel(padctl, value, XUSB_PADCTL_UPHY_PLL_P0_CTL8);
|
||||
-
|
||||
- udelay(1);
|
||||
-
|
||||
- value = readl(NV_PA_CLK_RST_BASE + CLK_RST_XUSBIO_PLL_CFG0);
|
||||
- value |= CLK_RST_XUSBIO_PLL_CFG0_SEQ_ENABLE;
|
||||
- writel(value, NV_PA_CLK_RST_BASE + CLK_RST_XUSBIO_PLL_CFG0);
|
||||
-
|
||||
debug("< %s()\n", __func__);
|
||||
return 0;
|
||||
}
|
||||
@@ -454,3 +440,35 @@ void tegra_xusb_padctl_init(void)
|
||||
ret = tegra_xusb_process_nodes(nodes, count, &tegra210_socdata);
|
||||
debug("%s: done, ret=%d\n", __func__, ret);
|
||||
}
|
||||
+
|
||||
+void tegra_xusb_padctl_exit(void)
|
||||
+{
|
||||
+ u32 value;
|
||||
+
|
||||
+ debug("> %s\n", __func__);
|
||||
+
|
||||
+ value = padctl_readl(&padctl, XUSB_PADCTL_USB3_PAD_MUX);
|
||||
+ value &= ~XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE;
|
||||
+ value &= ~XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK0;
|
||||
+ value &= ~XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK1;
|
||||
+ value &= ~XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK2;
|
||||
+ value &= ~XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK3;
|
||||
+ value &= ~XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK4;
|
||||
+ value &= ~XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK5;
|
||||
+ value &= ~XUSB_PADCTL_USB3_PAD_MUX_FORCE_PCIE_PAD_IDDQ_DISABLE_MASK6;
|
||||
+ value &= ~XUSB_PADCTL_USB3_PAD_MUX_FORCE_SATA_PAD_IDDQ_DISABLE_MASK0;
|
||||
+ padctl_writel(&padctl, value, XUSB_PADCTL_USB3_PAD_MUX);
|
||||
+
|
||||
+ value = padctl_readl(&padctl, XUSB_PADCTL_UPHY_PLL_P0_CTL1);
|
||||
+ value &= ~XUSB_PADCTL_UPHY_PLL_P0_CTL1_IDDQ;
|
||||
+ value &= ~XUSB_PADCTL_UPHY_PLL_P0_CTL1_SLEEP_MASK;
|
||||
+ value |= XUSB_PADCTL_UPHY_PLL_P0_CTL1_SLEEP(3);
|
||||
+ value &= ~XUSB_PADCTL_UPHY_PLL_P0_CTL1_ENABLE;
|
||||
+ padctl_writel(&padctl, value, XUSB_PADCTL_UPHY_PLL_P0_CTL1);
|
||||
+
|
||||
+ reset_set_enable(PERIPH_ID_PEX_USB_UPHY, 1);
|
||||
+ while (padctl.enable)
|
||||
+ tegra_xusb_padctl_disable(&padctl);
|
||||
+
|
||||
+ debug("< %s()\n", __func__);
|
||||
+}
|
||||
diff --git a/arch/arm/mach-tegra/xusb-padctl-dummy.c b/arch/arm/mach-tegra/xusb-padctl-dummy.c
|
||||
index 3ec27a2e3a..f2d90302f6 100644
|
||||
--- a/arch/arm/mach-tegra/xusb-padctl-dummy.c
|
||||
+++ b/arch/arm/mach-tegra/xusb-padctl-dummy.c
|
||||
@@ -36,3 +36,7 @@ int __weak tegra_xusb_phy_unprepare(struct tegra_xusb_phy *phy)
|
||||
void __weak tegra_xusb_padctl_init(void)
|
||||
{
|
||||
}
|
||||
+
|
||||
+void __weak tegra_xusb_padctl_exit(void)
|
||||
+{
|
||||
+}
|
||||
diff --git a/configs/p2371-0000_defconfig b/configs/p2371-0000_defconfig
|
||||
index 02a7569205..d9b8be15e7 100644
|
||||
--- a/configs/p2371-0000_defconfig
|
||||
+++ b/configs/p2371-0000_defconfig
|
||||
@@ -1,6 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_TEGRA=y
|
||||
-CONFIG_SYS_TEXT_BASE=0x80110000
|
||||
+CONFIG_SYS_TEXT_BASE=0x80080000
|
||||
CONFIG_TEGRA210=y
|
||||
CONFIG_TARGET_P2371_0000=y
|
||||
CONFIG_NR_DRAM_BANKS=2
|
||||
diff --git a/configs/p2371-2180_defconfig b/configs/p2371-2180_defconfig
|
||||
index 156a1cbcf9..602c5c1fad 100644
|
||||
--- a/configs/p2371-2180_defconfig
|
||||
+++ b/configs/p2371-2180_defconfig
|
||||
@@ -1,6 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_TEGRA=y
|
||||
-CONFIG_SYS_TEXT_BASE=0x80110000
|
||||
+CONFIG_SYS_TEXT_BASE=0x80080000
|
||||
CONFIG_TEGRA210=y
|
||||
CONFIG_TARGET_P2371_2180=y
|
||||
CONFIG_NR_DRAM_BANKS=2
|
||||
diff --git a/configs/p2571_defconfig b/configs/p2571_defconfig
|
||||
index 5cbb1c3201..29929e2d99 100644
|
||||
--- a/configs/p2571_defconfig
|
||||
+++ b/configs/p2571_defconfig
|
||||
@@ -1,6 +1,6 @@
|
||||
CONFIG_ARM=y
|
||||
CONFIG_TEGRA=y
|
||||
-CONFIG_SYS_TEXT_BASE=0x80110000
|
||||
+CONFIG_SYS_TEXT_BASE=0x80080000
|
||||
CONFIG_TEGRA210=y
|
||||
CONFIG_TARGET_P2571=y
|
||||
CONFIG_NR_DRAM_BANKS=2
|
||||
--
|
||||
2.19.0.rc0
|
||||
|
||||
52
tegra186-jetson-tx2-disable-onboard-emmc.patch
Normal file
52
tegra186-jetson-tx2-disable-onboard-emmc.patch
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
From dbe4dff86520a1373076563d1bee5ada1d7fd7c5 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Thu, 26 Apr 2018 16:56:54 +0100
|
||||
Subject: [PATCH] tegra186: jetson-tx2: disable onboard emmc
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm/dts/tegra186-p2771-0000.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/dts/tegra186-p2771-0000.dtsi b/arch/arm/dts/tegra186-p2771-0000.dtsi
|
||||
index a1319dc493..e220f086ee 100644
|
||||
--- a/arch/arm/dts/tegra186-p2771-0000.dtsi
|
||||
+++ b/arch/arm/dts/tegra186-p2771-0000.dtsi
|
||||
@@ -53,7 +53,7 @@
|
||||
};
|
||||
|
||||
sdhci@3460000 {
|
||||
- status = "okay";
|
||||
+ status = "disabled";
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
};
|
||||
--
|
||||
2.17.0
|
||||
|
||||
From 7bba3cc32c8b8b5d3688c42a803768761df0a23f Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Wed, 1 Aug 2018 11:47:56 +0100
|
||||
Subject: [PATCH] tegra210: Jetson TX1: disable onboard emmc
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
arch/arm/dts/tegra210-p2371-2180.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/dts/tegra210-p2371-2180.dts b/arch/arm/dts/tegra210-p2371-2180.dts
|
||||
index da4349bd039..87ce030e701 100644
|
||||
--- a/arch/arm/dts/tegra210-p2371-2180.dts
|
||||
+++ b/arch/arm/dts/tegra210-p2371-2180.dts
|
||||
@@ -80,7 +80,7 @@
|
||||
};
|
||||
|
||||
sdhci@700b0600 {
|
||||
- status = "okay";
|
||||
+ status = "disabled";
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
};
|
||||
--
|
||||
2.17.1
|
||||
|
||||
736
uboot-tools.spec
736
uboot-tools.spec
|
|
@ -1,573 +1,445 @@
|
|||
%global candidate rc3
|
||||
%if 0%{?rhel}
|
||||
%bcond_with toolsonly
|
||||
%else
|
||||
%bcond_without toolsonly
|
||||
%endif
|
||||
#global candidate rc3
|
||||
|
||||
# Set it to "opensbi" (stable) or "opensbi-unstable" (unstable, git)
|
||||
%global opensbi opensbi
|
||||
Name: uboot-tools
|
||||
Version: 2018.09
|
||||
Release: 3%{?candidate:.%{candidate}}%{?dist}
|
||||
Summary: U-Boot utilities
|
||||
License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+
|
||||
URL: http://www.denx.de/wiki/U-Boot
|
||||
|
||||
Name: uboot-tools
|
||||
Version: 2026.10
|
||||
Release: 0.3%{?candidate:.%{candidate}}%{?dist}
|
||||
Epoch: 1
|
||||
Summary: U-Boot utilities
|
||||
# Automatically converted from old format: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ - review is highly recommended.
|
||||
License: GPL-2.0-or-later AND LicenseRef-Callaway-BSD AND LGPL-2.1-or-later AND LGPL-2.0-or-later
|
||||
URL: https://u-boot-project.org/
|
||||
ExcludeArch: s390x
|
||||
Source0: https://git.u-boot-project.org/u-boot/u-boot/-/archive/v%{version}%{?candidate:-%{candidate}}/u-boot-v%{version}%{?candidate:-%{candidate}}.tar.bz2
|
||||
Source1: aarch64-boards
|
||||
Source2: riscv64-boards
|
||||
Source3: x86_64-boards
|
||||
Source0: ftp://ftp.denx.de/pub/u-boot/u-boot-%{version}%{?candidate:-%{candidate}}.tar.bz2
|
||||
Source1: arm-boards
|
||||
Source2: arm-chromebooks
|
||||
Source3: aarch64-boards
|
||||
Source4: aarch64-chromebooks
|
||||
Source5: 10-devicetree.install
|
||||
|
||||
# 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
|
||||
Patch1: uefi-use-Fedora-specific-path-name.patch
|
||||
|
||||
# Device improvments
|
||||
# USB-PD improvements
|
||||
Patch10: USB-PD-TCPM-improvements.patch
|
||||
# Rockchips improvements
|
||||
Patch11: rockchip-Enable-preboot-start-for-pci-usb.patch
|
||||
Patch13: rockchip-rk356x-Stop-overriding-sdhci-mmc-aliases.patch
|
||||
# Jetson fixes
|
||||
Patch14: p3450-fix-board.patch
|
||||
Patch15: JetsonTX2-Fix-upstream-device-tree-naming.patch
|
||||
# Fix AllWinner
|
||||
Patch16: Allwinner-fix-booting-on-a-number-of-devices.patch
|
||||
# RPi
|
||||
Patch20: Fix-NVMe-not-only-on-Raspberry-Pi-5.patch
|
||||
Patch21: raspberrypi-Add-quirk-for-RPi5-2Gb-rev-1.0.patch
|
||||
Patch22: rpi-copy-chosen-bootloader-partition-and-set-boot_partition.patch
|
||||
# general fixes
|
||||
Patch2: uefi-distro-load-FDT-from-any-partition-on-boot-device.patch
|
||||
Patch3: usb-kbd-fixes.patch
|
||||
|
||||
# Board fixes and enablement
|
||||
Patch10: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch
|
||||
Patch11: rockchip-make_fit_atf-fix-warning-unit_address_vs_reg.patch
|
||||
Patch12: rockchip-make_fit_atf-use-elf-entry-point.patch
|
||||
Patch13: rk3399-Rock960-Ficus-board-support.patch
|
||||
Patch14: dragonboard-fixes.patch
|
||||
Patch15: tegra186-jetson-tx2-disable-onboard-emmc.patch
|
||||
Patch16: tegra-efi_loader-simplify-ifdefs.patch
|
||||
Patch17: tegra-TXx-Add-CONFIG_EFI_LOADER_BOUNCE_BUFFER.patch
|
||||
Patch18: tegra-fix-tx1.patch
|
||||
Patch19: sunxi-DT-A64-add-Pine64-LTS-support.patch
|
||||
Patch20: rpi-add-3Aplus.patch
|
||||
|
||||
BuildRequires: bc
|
||||
BuildRequires: bison
|
||||
BuildRequires: dtc
|
||||
BuildRequires: flex
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gnutls-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: ncurses-devel
|
||||
%if 0%{?fedora} > 44
|
||||
BuildRequires: openssl3-devel
|
||||
BuildRequires: openssl3-devel-engine
|
||||
# Added for .el7 rebuild, so newer gcc is used
|
||||
%if 0%{?rhel} == 7
|
||||
BuildRequires: devtoolset-7-build
|
||||
BuildRequires: devtoolset-7-binutils
|
||||
BuildRequires: devtoolset-7-gcc
|
||||
%else
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: openssl-devel-engine
|
||||
BuildRequires: gcc
|
||||
%endif
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-setuptools
|
||||
BuildRequires: python3-libfdt
|
||||
BuildRequires: SDL2-devel
|
||||
BuildRequires: flex bison
|
||||
BuildRequires: git-core
|
||||
BuildRequires: openssl-devel
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: python-unversioned-command
|
||||
%endif
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: python2-setuptools
|
||||
BuildRequires: python2-libfdt
|
||||
%if 0%{?rhel} == 7
|
||||
BuildRequires: python-pyelftools
|
||||
%else
|
||||
BuildRequires: python2-pyelftools
|
||||
%endif
|
||||
BuildRequires: SDL-devel
|
||||
BuildRequires: swig
|
||||
%if %{with toolsonly}
|
||||
%ifarch %{arm} aarch64
|
||||
BuildRequires: vboot-utils
|
||||
%endif
|
||||
%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
|
||||
Requires: systemd
|
||||
|
||||
%description
|
||||
This package contains a few U-Boot utilities - mkimage for creating boot images
|
||||
and fw_printenv/fw_setenv for manipulating the boot environment variables.
|
||||
|
||||
%if %{with toolsonly}
|
||||
%ifarch aarch64
|
||||
%package -n uboot-images-armv8
|
||||
Summary: U-Boot firmware images for aarch64 boards
|
||||
Summary: u-boot bootloader images for aarch64 boards
|
||||
Requires: uboot-tools
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n uboot-images-armv8
|
||||
U-Boot firmware binaries for aarch64 boards
|
||||
u-boot bootloader binaries for aarch64 boards
|
||||
%endif
|
||||
|
||||
%ifarch riscv64
|
||||
%package -n uboot-images-riscv64
|
||||
Summary: U-Boot firmware images for riscv64 boards
|
||||
%ifarch %{arm}
|
||||
%package -n uboot-images-armv7
|
||||
Summary: u-boot bootloader images for armv7 boards
|
||||
Requires: uboot-tools
|
||||
BuildArch: noarch
|
||||
|
||||
%description -n uboot-images-riscv64
|
||||
U-Boot firmware binaries for riscv64 boards
|
||||
%description -n uboot-images-armv7
|
||||
u-boot bootloader binaries for armv7 boards
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
%package -n uboot-images-x86_64
|
||||
Summary: U-Boot firmware images for x86_64 boards
|
||||
BuildArch: noarch
|
||||
%ifarch %{arm} aarch64
|
||||
%package -n uboot-images-elf
|
||||
Summary: u-boot bootloader images for armv7 boards
|
||||
Requires: uboot-tools
|
||||
Obsoletes: uboot-images-qemu
|
||||
Provides: uboot-images-qemu
|
||||
|
||||
%description -n uboot-images-x86_64
|
||||
U-Boot firmware binaries for x86_64 boards
|
||||
%endif
|
||||
%description -n uboot-images-elf
|
||||
u-boot bootloader ELF binaries for use with qemu and other platforms
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n u-boot-v%{version}%{?candidate:-%{candidate}}
|
||||
%setup -q -n u-boot-%{version}%{?candidate:-%{candidate}}
|
||||
|
||||
cp %SOURCE1 %SOURCE2 %SOURCE3 .
|
||||
git init
|
||||
git config --global gc.auto 0
|
||||
git config user.email "noone@example.com"
|
||||
git config user.name "no one"
|
||||
git add .
|
||||
git commit -a -q -m "%{version} baseline"
|
||||
git am %{patches} </dev/null
|
||||
git config --unset user.email
|
||||
git config --unset user.name
|
||||
rm -rf .git
|
||||
|
||||
cp %SOURCE1 %SOURCE2 %SOURCE3 %SOURCE4 .
|
||||
|
||||
%build
|
||||
mkdir builds
|
||||
|
||||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-only_defconfig O=builds/
|
||||
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-all O=builds/
|
||||
|
||||
%if %{with toolsonly}
|
||||
# OpenSBI firmware is distributed in U-Boot SPL images
|
||||
%ifarch riscv64
|
||||
export OPENSBI=%{_datadir}/%{opensbi}/generic/firmware/fw_dynamic.bin
|
||||
%if 0%{?rhel} == 7
|
||||
#Enabling DTS for .el7
|
||||
%{?enable_devtoolset7:%{enable_devtoolset7}}
|
||||
%endif
|
||||
|
||||
%ifarch aarch64 riscv64 x86_64
|
||||
%ifarch aarch64 %{arm}
|
||||
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 bananapi_m64 libretech_all_h3_cc_h5 nanopi_neo2 nanopi_neo_plus2 orangepi_pc2 orangepi_prime orangepi_win orangepi_zero_plus orangepi_zero_plus2 pine64_plus sopine_baseboard)
|
||||
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
|
||||
sun50i=(orangepi_one_plus pine_h64)
|
||||
if [[ " ${sun50i[*]} " == *" $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)/
|
||||
cp /usr/share/arm-trusted-firmware/sun50i_h6/* builds/$(echo $board)/
|
||||
fi
|
||||
sun50h6=(beelink_gs1 emlid_neutis_n5_devboard orangepi_3 orangepi_lite2 orangepi_one_plus pine_h64 tanix_tx6)
|
||||
if [[ " ${sun50h6[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board using sun50i_h6"
|
||||
cp /usr/share/arm-trusted-firmware/sun50i_h6/bl31.bin builds/$(echo $board)/atf-bl31
|
||||
cp /usr/share/crust-firmware/h6/scp.bin builds/$(echo $board)/
|
||||
fi
|
||||
sun50i_h616=(anbernic_rg35xx_h700 orangepi_zero2 orangepi_zero2w orangepi_zero3 transpeed-8k618-t x96_mate)
|
||||
if [[ " ${sun50i_h616[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board using sun50i_h616"
|
||||
cp /usr/share/arm-trusted-firmware/sun50i_h616/bl31.bin builds/$(echo $board)/atf-bl31
|
||||
fi
|
||||
rk3328=(evb-rk3328 generic-rk3328 nanopi-r2c-plus-rk3328 nanopi-r2c-rk3328 nanopi-r2s-rk3328 nanopi-r2s-plus-rk3328 orangepi-r1-plus-lts-rk3328 orangepi-r1-plus-rk3328 roc-cc-rk3328 rock64-rk3328 rock-pi-e-rk3328 rock-pi-e-v3-rk3328)
|
||||
if [[ " ${rk3328[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board using rk3328"
|
||||
cp /usr/share/arm-trusted-firmware/rk3328/bl31.elf builds/$(echo $board)/atf-bl31
|
||||
fi
|
||||
rk3368=(evb-px5 geekbox)
|
||||
if [[ " ${rk3368[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board using rk3368"
|
||||
cp /usr/share/arm-trusted-firmware/rk3368/bl31.elf builds/$(echo $board)/atf-bl31
|
||||
fi
|
||||
rk3399=(eaidk-610-rk3399 evb-rk3399 ficus-rk3399 firefly-rk3399 generic-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 leez-rk3399 nanopc-t4-rk3399 nanopi-m4-2gb-rk3399 nanopi-m4b-rk3399 nanopi-m4-rk3399 nanopi-neo4-rk3399 nanopi-r4s-rk3399 orangepi-rk3399 pinebook-pro-rk3399 pinephone-pro-rk3399 puma-rk3399 rock-4c-plus-rk3399 rock-4se-rk3399 rock960-rk3399 rock-pi-4c-rk3399 rock-pi-4-rk3399 rock-pi-n10-rk3399pro rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399)
|
||||
rk3399=(evb-rk3399 firefly-rk3399 rock960-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 HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" %{?_smp_mflags} V=1 O=builds/$(echo $board)/
|
||||
rk33xx=(evb-rk3399 firefly-rk3399)
|
||||
if [[ " ${rk33xx[*]} " == *" $board "* ]]; then
|
||||
echo "Board: $board using rk33xx"
|
||||
make HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" u-boot.itb V=1 O=builds/$(echo $board)/
|
||||
builds/$(echo $board)/tools/mkimage -n rk3399 -T rksd -d builds/$(echo $board)/spl/u-boot-spl.bin builds/$(echo $board)/spl_sd.img
|
||||
builds/$(echo $board)/tools/mkimage -n rk3399 -T rkspi -d builds/$(echo $board)/spl/u-boot-spl.bin builds/$(echo $board)/spl_spi.img
|
||||
fi
|
||||
done
|
||||
|
||||
%endif
|
||||
%endif
|
||||
|
||||
make HOSTCC="gcc $RPM_OPT_FLAGS" %{?_smp_mflags} CROSS_COMPILE="" defconfig V=1 O=builds/
|
||||
make HOSTCC="gcc $RPM_OPT_FLAGS" %{?_smp_mflags} CROSS_COMPILE="" tools-all V=1 O=builds/
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_mandir}/man1
|
||||
mkdir -p %{buildroot}%{_datadir}/uboot/
|
||||
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/
|
||||
|
||||
%if %{with toolsonly}
|
||||
%ifarch aarch64
|
||||
for board in $(ls builds)
|
||||
for board in $(cat %{_arch}-boards)
|
||||
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 $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||
for file in spl/*spl.bin u-boot.bin u-boot.dtb u-boot-dtb.img u-boot.img u-boot.itb 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)
|
||||
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)
|
||||
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||
fi
|
||||
done
|
||||
done
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
for board in $(ls builds)
|
||||
%ifarch %{arm}
|
||||
for board in $(cat %{_arch}-boards)
|
||||
do
|
||||
for file in u-boot.rom
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||
for file in MLO SPL spl/arndale-spl.bin spl/origen-spl.bin spl/smdkv310-spl.bin spl/*spl.bin u-boot.bin u-boot.dtb u-boot-dtb-tegra.bin u-boot.img u-boot.imx u-boot-nodtb-tegra.bin u-boot-spl.kwb u-boot-sunxi-with-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) $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||
fi
|
||||
done
|
||||
|
||||
done
|
||||
%endif
|
||||
|
||||
# Bit of a hack to remove binaries we don't use as they're large
|
||||
for board in $(ls builds)
|
||||
for board in $(cat %{_arch}-boards)
|
||||
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}.*
|
||||
if [ -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot-sunxi-with-spl.bin ]; then
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot.*
|
||||
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 $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/MLO ]; then
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
fi
|
||||
if [ -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/SPL ]; then
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
fi
|
||||
if [ -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot.imx ]; then
|
||||
rm -f $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/u-boot.bin
|
||||
fi
|
||||
done
|
||||
%endif
|
||||
|
||||
for tool in dumpimage env/fw_printenv fdt_add_pubkey fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc ifwitool img2srec kwboot mkeficapsule mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder
|
||||
%ifarch aarch64
|
||||
for board in $(cat %{_arch}-boards)
|
||||
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
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||
for file in MLO SPL spl/arndale-spl.bin spl/origen-spl.bin spl/smdkv310-spl.bin u-boot.bin u-boot.dtb u-boot-dtb-tegra.bin u-boot.img u-boot.imx u-boot-nodtb-tegra.bin u-boot-spl.kwb u-boot-sunxi-with-spl.bin spl_sd.img spl_spi.img
|
||||
do
|
||||
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
||||
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/$(echo $board)/
|
||||
fi
|
||||
done
|
||||
done
|
||||
%endif
|
||||
|
||||
install -p -m 0755 builds/tools/env/fw_printenv %{buildroot}%{_bindir}
|
||||
( cd %{buildroot}%{_bindir}; ln -sf fw_printenv fw_setenv )
|
||||
# ELF binaries
|
||||
%ifarch %{arm}
|
||||
for board in vexpress_ca15_tc2 vexpress_ca9x4
|
||||
do
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/elf/$(echo $board)/
|
||||
for file in u-boot
|
||||
do
|
||||
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
||||
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/elf/$(echo $board)/
|
||||
fi
|
||||
done
|
||||
done
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
for board in $(cat %{_arch}-boards)
|
||||
do
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/uboot/elf/$(echo $board)/
|
||||
for file in u-boot
|
||||
do
|
||||
if [ -f builds/$(echo $board)/$(echo $file) ]; then
|
||||
install -p -m 0644 builds/$(echo $board)/$(echo $file) $RPM_BUILD_ROOT%{_datadir}/uboot/elf/$(echo $board)/
|
||||
fi
|
||||
done
|
||||
done
|
||||
%endif
|
||||
|
||||
for tool in bmp_logo dumpimage easylogo/easylogo 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
|
||||
do
|
||||
install -p -m 0755 builds/tools/$tool $RPM_BUILD_ROOT%{_bindir}
|
||||
done
|
||||
install -p -m 0644 doc/mkimage.1 $RPM_BUILD_ROOT%{_mandir}/man1
|
||||
|
||||
install -p -m 0755 builds/tools/env/fw_printenv $RPM_BUILD_ROOT%{_bindir}
|
||||
( cd $RPM_BUILD_ROOT%{_bindir}; ln -sf fw_printenv fw_setenv )
|
||||
|
||||
install -p -m 0644 tools/env/fw_env.config $RPM_BUILD_ROOT%{_sysconfdir}
|
||||
|
||||
# systemd kernel-install script for device tree
|
||||
mkdir -p $RPM_BUILD_ROOT/lib/kernel/install.d/
|
||||
install -p -m 0755 %{SOURCE5} $RPM_BUILD_ROOT/lib/kernel/install.d/
|
||||
|
||||
# Copy sone useful docs over
|
||||
mkdir -p builds/docs
|
||||
cp -p board/amlogic/odroid-c2/README builds/docs/README.odroid-c2
|
||||
cp -p board/hisilicon/hikey/README builds/docs/README.hikey
|
||||
cp -p board/hisilicon/hikey/README builds/docs/README.hikey
|
||||
cp -p board/Marvell/db-88f6820-gp/README builds/docs/README.mvebu-db-88f6820
|
||||
cp -p board/rockchip/evb_rk3399/README builds/docs/README.evb_rk3399
|
||||
cp -p board/solidrun/clearfog/README builds/docs/README.clearfog
|
||||
cp -p board/solidrun/mx6cuboxi/README builds/docs/README.mx6cuboxi
|
||||
cp -p board/sunxi/README.sunxi64 builds/docs/README.sunxi64
|
||||
cp -p board/sunxi/README.nand builds/docs/README.sunxi-nand
|
||||
cp -p board/ti/am335x/README builds/docs/README.am335x
|
||||
cp -p board/ti/omap5_uevm/README builds/docs/README.omap5_uevm
|
||||
cp -p board/udoo/README builds/docs/README.udoo
|
||||
cp -p board/wandboard/README builds/docs/README.wandboard
|
||||
cp -p board/warp/README builds/docs/README.warp
|
||||
cp -p board/warp7/README builds/docs/README.warp7
|
||||
|
||||
%files
|
||||
%license Licenses/*
|
||||
%doc README doc/develop/distro.rst doc/README.gpt
|
||||
%doc doc/develop/uefi doc/usage doc/arch/arm64.rst
|
||||
%doc README doc/README.imximage doc/README.kwbimage doc/README.distro doc/README.gpt
|
||||
%doc doc/README.odroid doc/README.rockchip doc/README.uefi doc/uImage.FIT doc/README.arm64
|
||||
%doc doc/README.chromium builds/docs/*
|
||||
%{_bindir}/*
|
||||
%{_mandir}/man1/dumpimage.1*
|
||||
%{_mandir}/man1/kwboot.1*
|
||||
%{_mandir}/man1/mkeficapsule.1*
|
||||
%{_mandir}/man1/mkimage.1*
|
||||
/lib/kernel/install.d/10-devicetree.install
|
||||
%dir %{_datadir}/uboot/
|
||||
%config(noreplace) %{_sysconfdir}/fw_env.config
|
||||
|
||||
%if %{with toolsonly}
|
||||
%ifarch aarch64
|
||||
%files -n uboot-images-armv8
|
||||
%license Licenses/*
|
||||
%dir %{_datadir}/uboot/
|
||||
%{_datadir}/uboot/*
|
||||
%exclude %{_datadir}/uboot/elf
|
||||
%endif
|
||||
|
||||
%ifarch riscv64
|
||||
%files -n uboot-images-riscv64
|
||||
%license Licenses/*
|
||||
%dir %{_datadir}/uboot/
|
||||
%ifarch %{arm}
|
||||
%files -n uboot-images-armv7
|
||||
%{_datadir}/uboot/*
|
||||
%exclude %{_datadir}/uboot/elf
|
||||
%endif
|
||||
|
||||
%ifarch x86_64
|
||||
%files -n uboot-images-x86_64
|
||||
%license Licenses/*
|
||||
%dir %{_datadir}/uboot/
|
||||
%{_datadir}/uboot/*
|
||||
%endif
|
||||
%ifarch %{arm} aarch64
|
||||
%files -n uboot-images-elf
|
||||
%{_datadir}/uboot/elf
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Thu Aug 27 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.10-0.3.rc3
|
||||
- Update to 2026.10 RC3
|
||||
* Sun Mar 17 2019 Peter Robinson <pbrobinson@fedoraproject.org> 2018.09-3
|
||||
- Drop problematic UEFI patch
|
||||
|
||||
* Wed Aug 12 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.10-0.2.rc2
|
||||
- Update to 2026.10 RC2
|
||||
* Sun Jan 27 2019 Peter Robinson <pbrobinson@fedoraproject.org> 2018.09-2
|
||||
- Add support for Raspberry Pi 3A+
|
||||
|
||||
* Thu Jul 30 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.10-0.1.rc1
|
||||
- Update to 2026.10 RC1
|
||||
- Update source URL
|
||||
* Sun Sep 30 2018 Pablo Greco <pablo@fliagreco.com.ar>
|
||||
- Added conditional to enable devtoolset-7-gcc for .el7 build (Arrfab)
|
||||
- Added conditional BR, python2-pyelftools is python-pyelftools in .el7 (Arrfab)
|
||||
|
||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:2026.07-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
* Sun Sep 23 2018 Peter Robinson <pbrobinson@fedoraproject.org>
|
||||
- Update Rock960 patches, enable Rock960 Enterprise Edition (ficus)
|
||||
|
||||
* Tue Jul 07 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-1
|
||||
- Update to 2026.07 GA
|
||||
* Mon Sep 10 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.09-1
|
||||
- 2018.09
|
||||
|
||||
* Tue Jun 23 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-0.4.rc5
|
||||
- Update to 2026.07 RC5
|
||||
* Tue Sep 4 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.09-0.4.rc3
|
||||
- 2018.09 RC3
|
||||
- Enable nanopi_neo_plus2, pine_h64, rock960-rk3399, a64-olinuxino
|
||||
- Build against new upstream AllWinner ATF support
|
||||
- Use firmware provided DT on Raspberry Pi
|
||||
- Support for Pine64-LTS
|
||||
|
||||
* Mon Jun 08 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-0.3.rc4
|
||||
- Update to 2026.07 RC4
|
||||
* Tue Aug 14 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.09-0.2.rc2
|
||||
- 2018.09 RC2
|
||||
- Improve Jetson TX1 support
|
||||
- Enable OrangePi 1+ and Avnet Ultra96
|
||||
|
||||
* 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
|
||||
* Tue Jul 31 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.09-0.1.rc1
|
||||
- 2018.09 RC1
|
||||
|
||||
* Fri May 01 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.07-0.1.rc1
|
||||
- Update to 2026.07 RC1
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2018.07-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* 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 Jul 9 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.07-1
|
||||
- 2018.07
|
||||
|
||||
* Tue Apr 07 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-1
|
||||
- Update to 2026.04 GA
|
||||
* Tue Jul 3 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.07-0.4.rc3
|
||||
- 2018.07 RC3
|
||||
|
||||
* Sun Mar 29 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.9.rc5
|
||||
- Enable NVME booting on RPi5
|
||||
* Wed Jun 20 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.07-0.3.rc2
|
||||
- 2018.07 RC2
|
||||
- Enable Helios4
|
||||
|
||||
* Tue Mar 24 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.8.rc5
|
||||
- Update to 2026.04 RC5
|
||||
* Fri Jun 8 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.07-0.2.rc1
|
||||
- Update sunxi MMC patch series, Tegra Nyan patch, SolidRun i.MX6 SoM rev 1.5 patch
|
||||
|
||||
* Sat Mar 14 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.7.rc4
|
||||
- Raspberry Pi fixes
|
||||
* Tue Jun 5 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.07-0.1.rc1
|
||||
- 2018.07 RC1
|
||||
- Enable Turris Mox, BananaPi m2 Berry, some Libretech boards
|
||||
|
||||
* Tue Mar 10 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.6.rc4
|
||||
- Update to 2026.04 RC4
|
||||
* Mon May 7 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.05-1
|
||||
- 2018.05 GA
|
||||
|
||||
* Fri Feb 27 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.5.rc3
|
||||
- Update to 2026.04 RC3
|
||||
* Wed May 2 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.05-0.5.rc3
|
||||
- Build Xilnix ZynqMP zcu100 (96boards Ultra96)
|
||||
|
||||
* Tue Feb 17 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.4.rc2
|
||||
- Add initial bcm2712d0 identification
|
||||
* Tue May 1 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.05-0.4.rc3
|
||||
- 2018.05 RC3
|
||||
|
||||
* Mon Feb 09 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.3.rc2
|
||||
- Update to 2026.04 RC2
|
||||
* Thu Apr 26 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.05-0.3.rc2
|
||||
- uEFI improvements
|
||||
- Fixes for Rockchips rk33xx 64 bit devices
|
||||
- Build AllWinner 64 bit devices against new ATF
|
||||
|
||||
* Tue Jan 27 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.04-0.2.rc1
|
||||
- Update to 2026.04 RC1
|
||||
* Tue Apr 17 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.05-0.2.rc2
|
||||
- 2018.05 RC2
|
||||
- Enable Raspberry Pi option to use firmware DT
|
||||
|
||||
* Mon Jan 19 2026 Javier Martinez Canillas <javierm@redhat.com> - 1:2026.01-3
|
||||
- Add a uboot-images-x86_64 subpackage
|
||||
* Sun Apr 8 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.05-0.1.rc1
|
||||
- 2018.05 RC1
|
||||
|
||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1:2026.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
* Fri Apr 6 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-4
|
||||
- Improvements for Raspberry Pi, AllWinner MMC perf, mvebu devices
|
||||
|
||||
* Tue Jan 06 2026 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-1
|
||||
- Update to 2026.01 GA
|
||||
* Tue Mar 20 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-3
|
||||
- Fix issue with certain MMC cards on Raspberry Pi
|
||||
|
||||
* Mon Dec 29 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.4.rc5
|
||||
- Update to 2026.01 RC5
|
||||
* Fri Mar 16 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-2
|
||||
- Add support for Raspberry Pi 3+
|
||||
|
||||
* Mon Dec 08 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.3.rc4
|
||||
- Update to 2026.01 RC4
|
||||
* Tue Mar 13 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-1
|
||||
- 2018.03 GA
|
||||
|
||||
* Fri Nov 28 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.2.rc3
|
||||
- Updates for RPi
|
||||
* Fri Mar 9 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.11.rc4
|
||||
- Enable support for Jetson TX2
|
||||
|
||||
* Mon Nov 24 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2026.01-0.1.rc3
|
||||
- Update to 2026.01 RC3
|
||||
* Thu Mar 8 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.10.rc4
|
||||
- Fix for Raspberry Pi 2 boot
|
||||
|
||||
* Thu Oct 16 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-2
|
||||
- Drop residual Rockchip firmware (saves ~150Mb)
|
||||
* Wed Mar 7 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.9.rc4
|
||||
- 2018.03 RC4
|
||||
- Fixes for Raspberry Pi 3 boot
|
||||
- Minor kernel install fixes
|
||||
- Enable am335x_evm_usbspl for Beagle Pocket
|
||||
- DragonBoard patch rebase
|
||||
|
||||
* 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
|
||||
* Sun Mar 4 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.8.rc3
|
||||
- Add support for SoM rev 1.5 to mx6cuboxi
|
||||
- Rebuild for new ATF 1.5 rc0 release
|
||||
|
||||
* Fri Sep 26 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.7.rc5
|
||||
- Update to 2025.10 RC5
|
||||
* Sun Feb 25 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.7.rc3
|
||||
- Build 64 bit Rockchips FIT images with ARM Trusted Firmware
|
||||
|
||||
* Mon Sep 08 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.6.rc4
|
||||
- Update to 2025.10 RC4
|
||||
* Tue Feb 20 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.6.rc3
|
||||
- 2018.03 RC3
|
||||
|
||||
* Sun Sep 07 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.5.rc3
|
||||
- Boot fixes for some Raspberry Pi variants
|
||||
* Fri Feb 16 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.5.rc2
|
||||
- A few upstream fixes
|
||||
|
||||
* Wed Aug 27 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.4.rc3
|
||||
- Fix booting on some Allwinner devices
|
||||
* Thu Feb 15 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.4.rc2
|
||||
- Fix for GBps network on some AllWinner devices
|
||||
|
||||
* Mon Aug 25 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.3.rc3
|
||||
- Update to 2025.10 RC3
|
||||
* Tue Feb 13 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.3.rc2
|
||||
- 2018.03 RC2
|
||||
|
||||
* Tue Aug 19 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.2.rc2
|
||||
- Fix and re-enable Jetson Nano
|
||||
* Wed Feb 7 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.2.rc1
|
||||
- Update uEFI patches
|
||||
|
||||
* Mon Aug 18 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.10-0.1.rc2
|
||||
- Update to 2025.10 RC2
|
||||
* Tue Jan 30 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.03-0.1.rc1
|
||||
- 2018.03 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 10 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-2
|
||||
- Update patch for rebase issue
|
||||
|
||||
* Wed Jul 09 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-1
|
||||
- Update to 2025.07 GA
|
||||
|
||||
* Fri Jun 27 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.5.rc5
|
||||
- Update to 2025.07 RC5
|
||||
- Enable LWIP stack by default
|
||||
- Enable HTTP(s) boot support
|
||||
|
||||
* Thu Jun 26 2025 Javier Martinez Canillas <javierm@redhat.com> - 1:2025.07-0.4.rc4
|
||||
- Add EFI_PARTITION_INFO_PROTOCOL support
|
||||
|
||||
* Sun Jun 15 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.3.rc4
|
||||
- Update to 2025.07 RC4
|
||||
|
||||
* Tue May 13 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.2.rc2
|
||||
- Update to 2025.07 RC2
|
||||
|
||||
* Thu May 01 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.1.rc1
|
||||
- Update to 2025.07 RC1
|
||||
|
||||
* Sun Apr 20 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-2
|
||||
- Fix for RPi5 serial console
|
||||
|
||||
* Tue Apr 08 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-1
|
||||
- Update to 2025.04 GA
|
||||
|
||||
* Tue Mar 25 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.7.rc5
|
||||
- Update to 2025.04 RC5
|
||||
|
||||
* Wed Mar 12 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.6.rc4
|
||||
- Update to 2025.04 RC4
|
||||
|
||||
* Wed Feb 26 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.5.rc3
|
||||
- Update to 2025.04 RC3
|
||||
|
||||
* Tue Feb 18 2025 David Abdurachmanov <davidlt@rivosinc.com> - 1:2025.04-0.4.rc2
|
||||
- Add support for riscv64
|
||||
|
||||
* Tue Feb 11 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.3.rc2
|
||||
- Update to 2025.05 RC2
|
||||
|
||||
* Tue Feb 11 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.2.rc1
|
||||
- Update to 2025.05 RC1
|
||||
|
||||
* Tue Jan 28 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.01-3
|
||||
- Add new fdt_add_pubkey tool
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1:2025.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Tue Jan 07 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.01-1
|
||||
- Update to 2025.01 GA
|
||||
|
||||
* Mon Jan 06 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.01-0.2.rc6
|
||||
- Rebuild for TF-A 2.12
|
||||
|
||||
* Tue Dec 31 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.01-0.1.rc6
|
||||
- Update to 2025.01 RC6
|
||||
|
||||
* 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
|
||||
|
||||
* 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 Oct 01 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.7.rc6
|
||||
- Update to 2024.10 RC6
|
||||
|
||||
* Mon Sep 16 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.6.rc5
|
||||
- Update to 2024.10 RC5
|
||||
|
||||
* Fri Sep 6 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.5.rc4
|
||||
- Add missing licenses directory
|
||||
|
||||
* Tue Sep 03 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.4.rc4
|
||||
- Update to 2024.10 RC4
|
||||
|
||||
* 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 Aug 27 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.2.rc3
|
||||
- Update to 2024.10 RC3
|
||||
- Enable initial QCM6490 SoC support
|
||||
|
||||
* Thu Aug 15 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.10-0.1.rc2
|
||||
- Update to 2024.10 RC2
|
||||
|
||||
* Tue Jul 23 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.07-1
|
||||
- Update to 2024.07
|
||||
|
||||
* 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
|
||||
|
||||
* Tue Jun 18 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.07-0.2.rc4
|
||||
- Update to 2024.07 RC4
|
||||
|
||||
* Sat May 25 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.07-0.1.rc3
|
||||
- Update to 2024.07 RC3
|
||||
|
||||
* Wed Apr 03 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-1
|
||||
- Update to 2024.04 GA
|
||||
- Rockchip rk3328 USB fixes
|
||||
|
||||
* Wed Mar 27 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.8.rc5
|
||||
- Update to 2024.04 RC5
|
||||
|
||||
* Thu Mar 21 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.7.rc4
|
||||
- Updated patch for DTB loading
|
||||
|
||||
* Fri Mar 15 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.6.rc4
|
||||
- Updated fix for FDT load
|
||||
|
||||
* Wed Mar 13 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.5.rc4
|
||||
- Fixes for Rockchip rk3399 autoboot
|
||||
|
||||
* 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)
|
||||
|
||||
* 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 Feb 14 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.04-0.2.rc2
|
||||
- Update to 2024.04 RC2
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1:2024.01-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jan 08 2024 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2024.01-1
|
||||
- Update to 2024.01
|
||||
* Tue Jan 9 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2018.01-1
|
||||
- 2018.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 8bc6f62541436ebaf87133792726d9b48f878d09 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Thu, 24 Nov 2022 12:57:55 +0000
|
||||
Date: Tue, 5 Dec 2017 00:11:08 +0000
|
||||
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 | 34 +++++++++++++++++++++++-----------
|
||||
1 file changed, 23 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
||||
index fcb319a20ae..e71004fad9c 100644
|
||||
index 7746366ec8..c87f7c2a42 100644
|
||||
--- a/include/config_distro_bootcmd.h
|
||||
+++ b/include/config_distro_bootcmd.h
|
||||
@@ -155,28 +155,39 @@
|
||||
@@ -135,25 +135,37 @@
|
||||
"fi\0" \
|
||||
\
|
||||
"load_efi_dtb=" \
|
||||
|
|
@ -44,16 +44,13 @@ 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;" \
|
||||
+ "part list ${devtype} ${devnum} dtb_devplist; " \
|
||||
+ "env exists dtb_devplist || setenv dtb_devplist " \
|
||||
+ "${distro_bootpart}; " \
|
||||
|
|
@ -67,21 +64,20 @@ index fcb319a20ae..e71004fad9c 100644
|
|||
+ "${devnum}:${dtb_devp} " \
|
||||
+ "${prefix}${efi_fdtfile};"\
|
||||
+ "run load_efi_dtb; " \
|
||||
+ BOOTENV_RUN_EXTENSION_APPLY \
|
||||
+ "fi;" \
|
||||
+ "done; " \
|
||||
+ "done; " \
|
||||
+ "run boot_efi_binary\0" \
|
||||
+ "scan_dev_for_efi=" \
|
||||
"if test -e ${devtype} ${devnum}:${distro_bootpart} " \
|
||||
"efi/boot/"BOOTEFI_NAME"; then " \
|
||||
"efi/fedora/"BOOTEFI_NAME"; then " \
|
||||
"echo Found EFI removable media binary " \
|
||||
"efi/boot/"BOOTEFI_NAME"; " \
|
||||
"efi/fedora/"BOOTEFI_NAME"; " \
|
||||
- "run boot_efi_binary; " \
|
||||
+ "run scan_dev_for_dtb; " \
|
||||
"echo EFI LOAD FAILED: continuing...; " \
|
||||
"fi; " \
|
||||
"setenv efi_fdtfile\0"
|
||||
--
|
||||
2.38.1
|
||||
2.14.3
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
47
uefi-use-Fedora-specific-path-name.patch
Normal file
47
uefi-use-Fedora-specific-path-name.patch
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
From 2b411f6edf298899098e2077a5ca2dfdaf3d882f Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Wed, 7 Feb 2018 12:37:58 +0000
|
||||
Subject: [PATCH] use Fedora specific EFI path/name
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
include/config_distro_bootcmd.h | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h
|
||||
index f567cebd38..7746366ec8 100644
|
||||
--- a/include/config_distro_bootcmd.h
|
||||
+++ b/include/config_distro_bootcmd.h
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
#ifdef CONFIG_EFI_LOADER
|
||||
#if defined(CONFIG_ARM64)
|
||||
-#define BOOTEFI_NAME "bootaa64.efi"
|
||||
+#define BOOTEFI_NAME "grubaa64.efi"
|
||||
#elif defined(CONFIG_ARM)
|
||||
#define BOOTEFI_NAME "bootarm.efi"
|
||||
#elif defined(CONFIG_X86_RUN_32BIT)
|
||||
@@ -127,7 +127,7 @@
|
||||
"bootefi bootmgr ${fdtcontroladdr};" \
|
||||
"fi;" \
|
||||
"load ${devtype} ${devnum}:${distro_bootpart} " \
|
||||
- "${kernel_addr_r} efi/boot/"BOOTEFI_NAME"; " \
|
||||
+ "${kernel_addr_r} efi/fedora/"BOOTEFI_NAME"; " \
|
||||
"if fdt addr ${fdt_addr_r}; then " \
|
||||
"bootefi ${kernel_addr_r} ${fdt_addr_r};" \
|
||||
"else " \
|
||||
@@ -150,9 +150,9 @@
|
||||
"fi;" \
|
||||
"done;" \
|
||||
"if test -e ${devtype} ${devnum}:${distro_bootpart} " \
|
||||
- "efi/boot/"BOOTEFI_NAME"; then " \
|
||||
+ "efi/fedora/"BOOTEFI_NAME"; then " \
|
||||
"echo Found EFI removable media binary " \
|
||||
- "efi/boot/"BOOTEFI_NAME"; " \
|
||||
+ "efi/fedora/"BOOTEFI_NAME"; " \
|
||||
"run boot_efi_binary; " \
|
||||
"echo EFI LOAD FAILED: continuing...; " \
|
||||
"fi; " \
|
||||
--
|
||||
2.14.3
|
||||
|
||||
115
usb-kbd-fixes.patch
Normal file
115
usb-kbd-fixes.patch
Normal file
|
|
@ -0,0 +1,115 @@
|
|||
From 1a8fa60aedff8a2368ac357a51dc15357065fabe Mon Sep 17 00:00:00 2001
|
||||
From: Peter Robinson <pbrobinson@gmail.com>
|
||||
Date: Tue, 5 Dec 2017 00:11:54 +0000
|
||||
Subject: [PATCH 3/5] usb kbd fixes
|
||||
|
||||
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
|
||||
---
|
||||
common/usb_kbd.c | 66 +++++++++++++++++++++++++++++++++++++++++--------------
|
||||
include/console.h | 2 --
|
||||
2 files changed, 50 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/common/usb_kbd.c b/common/usb_kbd.c
|
||||
index 8cbdba6ac2..82ad93f6ca 100644
|
||||
--- a/common/usb_kbd.c
|
||||
+++ b/common/usb_kbd.c
|
||||
@@ -516,25 +516,59 @@ static int probe_usb_keyboard(struct usb_device *dev)
|
||||
return error;
|
||||
|
||||
stdinname = env_get("stdin");
|
||||
-#if CONFIG_IS_ENABLED(CONSOLE_MUX)
|
||||
- error = iomux_doenv(stdin, stdinname);
|
||||
- if (error)
|
||||
- return error;
|
||||
-#else
|
||||
- /* Check if this is the standard input device. */
|
||||
- if (strcmp(stdinname, DEVNAME))
|
||||
- return 1;
|
||||
+ if (CONFIG_IS_ENABLED(CONSOLE_MUX)) {
|
||||
+ char *devname = DEVNAME;
|
||||
+ char *newstdin = NULL;
|
||||
+ /*
|
||||
+ * stdin might not be set yet.. either way, with console-
|
||||
+ * mux the sensible thing to do is add ourselves to the
|
||||
+ * list of stdio devices:
|
||||
+ */
|
||||
+ if (stdinname && !strstr(stdinname, DEVNAME)) {
|
||||
+ newstdin = malloc(strlen(stdinname) +
|
||||
+ strlen(","DEVNAME) + 1);
|
||||
+ sprintf(newstdin, "%s,"DEVNAME, stdinname);
|
||||
+ stdinname = newstdin;
|
||||
+ } else if (!stdinname) {
|
||||
+ stdinname = devname;
|
||||
+ }
|
||||
+ error = iomux_doenv(stdin, stdinname);
|
||||
+ free(newstdin);
|
||||
+ if (error)
|
||||
+ goto unregister_stdio;
|
||||
+ } else {
|
||||
+ /* Check if this is the standard input device. */
|
||||
+ if (strcmp(stdinname, DEVNAME)) {
|
||||
+ error = -1;
|
||||
+ goto unregister_stdio;
|
||||
+ }
|
||||
|
||||
- /* Reassign the console */
|
||||
- if (overwrite_console())
|
||||
- return 1;
|
||||
+ /* Reassign the console */
|
||||
+ if (overwrite_console()) {
|
||||
+ error = -1;
|
||||
+ goto unregister_stdio;
|
||||
+ }
|
||||
|
||||
- error = console_assign(stdin, DEVNAME);
|
||||
- if (error)
|
||||
- return error;
|
||||
-#endif
|
||||
+ error = console_assign(stdin, DEVNAME);
|
||||
+ if (error)
|
||||
+ goto unregister_stdio;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
|
||||
+unregister_stdio:
|
||||
+ /*
|
||||
+ * If probe fails, the device will be removed.. leaving dangling
|
||||
+ * pointers if the stdio device is not unregistered. If u-boot
|
||||
+ * is built without stdio_deregister(), just pretend to succeed
|
||||
+ * in order to avoid dangling pointers.
|
||||
+ */
|
||||
+#if CONFIG_IS_ENABLED(SYS_STDIO_DEREGISTER)
|
||||
+ stdio_deregister(DEVNAME, 1);
|
||||
+ return error;
|
||||
+#else
|
||||
return 0;
|
||||
+#endif
|
||||
}
|
||||
|
||||
#ifndef CONFIG_DM_USB
|
||||
@@ -640,7 +674,7 @@ static int usb_kbd_remove(struct udevice *dev)
|
||||
|
||||
return 0;
|
||||
err:
|
||||
- printf("%s: warning, ret=%d", __func__, ret);
|
||||
+ printf("%s: warning, ret=%d\n", __func__, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
diff --git a/include/console.h b/include/console.h
|
||||
index cea29ed6dc..7dfd36d7d1 100644
|
||||
--- a/include/console.h
|
||||
+++ b/include/console.h
|
||||
@@ -57,8 +57,6 @@ int console_announce_r(void);
|
||||
/*
|
||||
* CONSOLE multiplexing.
|
||||
*/
|
||||
-#ifdef CONFIG_CONSOLE_MUX
|
||||
#include <iomux.h>
|
||||
-#endif
|
||||
|
||||
#endif
|
||||
--
|
||||
2.14.3
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
qemu-x86_64
|
||||
Loading…
Add table
Add a link
Reference in a new issue