diff --git a/Allwinner-fix-booting-on-a-number-of-devices.patch b/Allwinner-fix-booting-on-a-number-of-devices.patch deleted file mode 100644 index 2b08e13..0000000 --- a/Allwinner-fix-booting-on-a-number-of-devices.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b8ea3cebde98866b7cbb4e8f9bb6dfdee529a549 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 - diff --git a/Fix-NVMe-not-only-on-Raspberry-Pi-5.patch b/Fix-NVMe-not-only-on-Raspberry-Pi-5.patch deleted file mode 100644 index a52ce84..0000000 --- a/Fix-NVMe-not-only-on-Raspberry-Pi-5.patch +++ /dev/null @@ -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 -X-Patchwork-Id: 2265604 -Return-Path: -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 ; 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 ; 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 , - Andrew Goodbody , Bin Meng , - Simon Glass -Cc: Tom Rini , Matthias Brugger , - Peter Robinson , - Mattijs Korpershoek , - Marek Vasut , - Heiko Schocher , Svyatoslav Ryhel , - "Lucien.Jheng" , Rasmus Villemoes , - Martin Schwan , - "Markus Schneider-Pargmann (TI.com)" , - Prashant Kamble , - Denis Mukhin , Sughosh Ganu , - 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 -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: u-boot-bounces@lists.denx.de -Sender: "U-Boot" -X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de -X-Virus-Status: Clean - -From: Torsten Duwe - -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 -Signed-off-by: Torsten Duwe -Reviewed-by: Peter Robinson -Tested-by: Peter Robinson ---- - 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 -X-Patchwork-Id: 2265605 -Return-Path: -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 ; 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 ; 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 , - Andrew Goodbody , Bin Meng , - Simon Glass -Cc: Tom Rini , Matthias Brugger , - Peter Robinson , - Mattijs Korpershoek , - Marek Vasut , - Heiko Schocher , Svyatoslav Ryhel , - "Lucien.Jheng" , Rasmus Villemoes , - Martin Schwan , - "Markus Schneider-Pargmann (TI.com)" , - Prashant Kamble , - Denis Mukhin , Sughosh Ganu , - 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 -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: u-boot-bounces@lists.denx.de -Sender: "U-Boot" -X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de -X-Virus-Status: Clean - -From: Torsten Duwe - -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 ---- - -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 -X-Patchwork-Id: 2265607 -Return-Path: -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 ; 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 ; 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 , - Andrew Goodbody , Bin Meng , - Simon Glass -Cc: Tom Rini , Matthias Brugger , - Peter Robinson , - Mattijs Korpershoek , - Marek Vasut , - Heiko Schocher , Svyatoslav Ryhel , - "Lucien.Jheng" , Rasmus Villemoes , - Martin Schwan , - "Markus Schneider-Pargmann (TI.com)" , - Prashant Kamble , - Denis Mukhin , Sughosh Ganu , - 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 -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: u-boot-bounces@lists.denx.de -Sender: "U-Boot" -X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de -X-Virus-Status: Clean - -From: Torsten Duwe - -Enable NVMe in the Raspberry Pi 64-Bit default config and scan for devices. - -Signed-off-by: Torsten Duwe -Reviewed-by: Peter Robinson -Tested-by: Peter Robinson ---- - 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 diff --git a/JetsonTX2-Fix-upstream-device-tree-naming.patch b/JetsonTX2-Fix-upstream-device-tree-naming.patch deleted file mode 100644 index 14242ce..0000000 --- a/JetsonTX2-Fix-upstream-device-tree-naming.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 4ee5ba36570d94ce27e4023f15b8b3a6b8b9daf9 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 ---- - 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 - diff --git a/USB-PD-TCPM-improvements.patch b/USB-PD-TCPM-improvements.patch deleted file mode 100644 index f84e6f3..0000000 --- a/USB-PD-TCPM-improvements.patch +++ /dev/null @@ -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 -X-Patchwork-Id: 2052544 -X-Patchwork-Delegate: marek.vasut@gmail.com -Return-Path: -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 ; 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 ; 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 -To: Marek Vasut , u-boot@lists.denx.de, - Jonas Karlman , Soeren Moch -Cc: Tim Harvey , - Philipp Tomsich , - Anand Moon , Maxim Kiselev , - Sebastian Reichel -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 -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: u-boot-bounces@lists.denx.de -Sender: "U-Boot" -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 ---- - 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 -X-Patchwork-Id: 2052546 -X-Patchwork-Delegate: marek.vasut@gmail.com -Return-Path: -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 ; 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 ; 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 -To: Marek Vasut , u-boot@lists.denx.de, - Jonas Karlman , Soeren Moch -Cc: Tim Harvey , - Philipp Tomsich , - Anand Moon , Maxim Kiselev , - Sebastian Reichel -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 -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: u-boot-bounces@lists.denx.de -Sender: "U-Boot" -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 ---- - 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 -X-Patchwork-Id: 2052545 -X-Patchwork-Delegate: marek.vasut@gmail.com -Return-Path: -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 ; 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 ; 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 -To: Marek Vasut , u-boot@lists.denx.de, - Jonas Karlman , Soeren Moch -Cc: Tim Harvey , - Philipp Tomsich , - Anand Moon , Maxim Kiselev , - Sebastian Reichel -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 -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: u-boot-bounces@lists.denx.de -Sender: "U-Boot" -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 ---- - 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 -X-Patchwork-Id: 2052542 -X-Patchwork-Delegate: marek.vasut@gmail.com -Return-Path: -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 ; 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 ; 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 -To: Marek Vasut , u-boot@lists.denx.de, - Jonas Karlman , Soeren Moch -Cc: Tim Harvey , - Philipp Tomsich , - Anand Moon , Maxim Kiselev , - Sebastian Reichel -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 -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: u-boot-bounces@lists.denx.de -Sender: "U-Boot" -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 ---- - 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 diff --git a/aarch64-boards b/aarch64-boards index 366d0c8..63adc19 100644 --- a/aarch64-boards +++ b/aarch64-boards @@ -1,23 +1,19 @@ a64-olinuxino -a64-olinuxino-emmc amarula_a64_relic -anbernic_rg35xx_h700 apple_m1 bananapi_m2_plus_h5 bananapi_m64 beelink_gs1 dragonboard410c dragonboard820c +dragonboard845c eaidk-610-rk3399 -emlid_neutis_n5_devboard -evb-px5 evb-rk3328 evb-rk3399 ficus-rk3399 firefly-rk3399 geekbox hikey -hmibsc khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 @@ -43,30 +39,23 @@ nanopi_neo2 nanopi-neo4-rk3399 nanopi_neo_plus2 nanopi_r1s_h5 -nanopi-r2c-plus-rk3328 -nanopi-r2c-rk3328 -nanopi-r2s-plus-rk3328 nanopi-r2s-rk3328 nanopi-r4s-rk3399 -oceanic_5205_5inmfd odroid-c2 orangepi_3 orangepi_lite2 orangepi_one_plus orangepi_pc2 orangepi_prime -orangepi-r1-plus-lts-rk3328 -orangepi-r1-plus-rk3328 orangepi-rk3399 orangepi_win orangepi_zero2 -orangepi_zero2w -orangepi_zero3 orangepi_zero_plus orangepi_zero_plus2 p212 p2371-2180 p2771-0000-500 +p3450-0000 pine64-lts pine64_plus pinebook @@ -77,30 +66,23 @@ pinephone-pro-rk3399 pinetab poplar puma-rk3399 -qcm6490 -qcom -qcom_qcs8300 -qcom_qcs9100 -qemu_arm64 -qemu_arm64_lwip roc-cc-rk3328 -rock-4c-plus-rk3399 -rock-4se-rk3399 rock64-rk3328 rock960-rk3399 rock-pi-4c-rk3399 rock-pi-4-rk3399 rock-pi-e-rk3328 -rock-pi-e-v3-rk3328 rock-pi-n10-rk3399pro rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399 +rpi_3 +rpi_4 rpi_arm64 sopine_baseboard +starqltechn tanix_tx6 teres_i -transpeed-8k618-t turris_mox vexpress_aemv8a_juno -x96_mate +xilinx_zynqmp_virt diff --git a/disable-VBE-by-default.patch b/disable-VBE-by-default.patch deleted file mode 100644 index 1f1b710..0000000 --- a/disable-VBE-by-default.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d9e3a49bc2a29922da5bddd95772279f6edba802 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 ---- - 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 - diff --git a/enable-bootmenu-by-default.patch b/enable-bootmenu-by-default.patch deleted file mode 100644 index 1ecd514..0000000 --- a/enable-bootmenu-by-default.patch +++ /dev/null @@ -1,49 +0,0 @@ -From a956480a6d52ae90ef4a46275c2ee29a4074de36 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 ---- - 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 - diff --git a/p3450-fix-board.patch b/p3450-fix-board.patch deleted file mode 100644 index 74475d5..0000000 --- a/p3450-fix-board.patch +++ /dev/null @@ -1,25 +0,0 @@ -From c9b65320d64a60cde74c4c1f9cb4a05198a456c2 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 - diff --git a/raspberrypi-Add-quirk-for-RPi5-2Gb-rev-1.0.patch b/raspberrypi-Add-quirk-for-RPi5-2Gb-rev-1.0.patch deleted file mode 100644 index d6612ee..0000000 --- a/raspberrypi-Add-quirk-for-RPi5-2Gb-rev-1.0.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 72fd4fdb54721a31d2b4e9f95fdd3b3e398bb2c0 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 ---- - 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 - diff --git a/riscv64-boards b/riscv64-boards deleted file mode 100644 index f96e775..0000000 --- a/riscv64-boards +++ /dev/null @@ -1,4 +0,0 @@ -qemu-riscv64_spl -sifive_unleashed -sifive_unmatched -starfive_visionfive2 diff --git a/rockchip-Add-initial-support-for-the-PinePhone-Pro.patch b/rockchip-Add-initial-support-for-the-PinePhone-Pro.patch new file mode 100644 index 0000000..337ea8c --- /dev/null +++ b/rockchip-Add-initial-support-for-the-PinePhone-Pro.patch @@ -0,0 +1,236 @@ +From 72400858605c085cf94a6cf5599269c8c39e3e72 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Tue, 14 Mar 2023 12:30:36 +0000 +Subject: [PATCH] rockchip: pinephone pro: add initial display support + +Add proposed upstream DT patches for display, disable edp, +enable mipi and backlight, add required clocks. + +Clocks may not be required based on upstream review. Still +need to add panel pieces, the rk3288-evb has an example for +panel DT for u-boot, or may need to do a mipi addition to +simple-panel, or something else. + +Signed-off-by: Peter Robinson +--- + arch/arm/dts/rk3399-pinephone-pro.dts | 123 +++++++++++++++++++++++++ + configs/pinephone-pro-rk3399_defconfig | 3 +- + include/dt-bindings/clock/rk3399-cru.h | 2 + + 3 files changed, 127 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/dts/rk3399-pinephone-pro.dts b/arch/arm/dts/rk3399-pinephone-pro.dts +index 04403a76238..d0609d1b534 100644 +--- a/arch/arm/dts/rk3399-pinephone-pro.dts ++++ b/arch/arm/dts/rk3399-pinephone-pro.dts +@@ -29,6 +29,12 @@ + stdout-path = "serial2:115200n8"; + }; + ++ backlight: backlight { ++ compatible = "pwm-backlight"; ++ pwms = <&pwm0 0 1000000 0>; ++ pwm-delay-us = <10000>; ++ }; ++ + gpio-keys { + compatible = "gpio-keys"; + pinctrl-names = "default"; +@@ -102,6 +108,32 @@ + /* WL_REG_ON on module */ + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; + }; ++ ++ /* MIPI DSI panel 1.8v supply */ ++ vcc1v8_lcd: vcc1v8-lcd-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ regulator-name = "vcc1v8_lcd"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vcc3v3_sys>; ++ gpio = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&display_pwren1>; ++ }; ++ ++ /* MIPI DSI panel 2.8v supply */ ++ vcc2v8_lcd: vcc2v8-lcd-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ regulator-name = "vcc2v8_lcd"; ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; ++ vin-supply = <&vcc3v3_sys>; ++ gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&display_pwren>; ++ }; + }; + + &cpu_l0 { +@@ -132,6 +164,11 @@ + status = "okay"; + }; + ++&gpu { ++ mali-supply = <&vdd_gpu>; ++ status = "okay"; ++}; ++ + &i2c0 { + clock-frequency = <400000>; + i2c-scl-rising-time-ns = <168>; +@@ -214,6 +251,9 @@ + regulator-name = "vcc3v0_touch"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; + }; + + vcca1v8_codec: LDO_REG3 { +@@ -347,6 +387,25 @@ + }; + }; + ++&i2c3 { ++ i2c-scl-rising-time-ns = <450>; ++ i2c-scl-falling-time-ns = <15>; ++ status = "okay"; ++ ++ touchscreen@14 { ++ compatible = "goodix,gt917s"; ++ reg = <0x14>; ++ interrupt-parent = <&gpio3>; ++ interrupts = ; ++ irq-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_HIGH>; ++ reset-gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_HIGH>; ++ AVDD28-supply = <&vcc3v0_touch>; ++ VDDIO-supply = <&vcc3v0_touch>; ++ touchscreen-size-x = <720>; ++ touchscreen-size-y = <1440>; ++ }; ++}; ++ + &io_domains { + bt656-supply = <&vcc1v8_dvp>; + audio-supply = <&vcca1v8_codec>; +@@ -355,6 +414,40 @@ + status = "okay"; + }; + ++&mipi_dsi { ++ status = "okay"; ++ clock-master; ++ ++ ports { ++ mipi_out: port@1 { ++ #address-cells = <0>; ++ #size-cells = <0>; ++ reg = <1>; ++ ++ mipi_out_panel: endpoint { ++ remote-endpoint = <&mipi_in_panel>; ++ }; ++ }; ++ }; ++ ++ panel@0 { ++ compatible = "hannstar,hsd060bhw4"; ++ reg = <0>; ++ backlight = <&backlight>; ++ reset-gpios = <&gpio4 RK_PD1 GPIO_ACTIVE_LOW>; ++ vcc-supply = <&vcc2v8_lcd>; ++ iovcc-supply = <&vcc1v8_lcd>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&display_rst_l>; ++ ++ port { ++ mipi_in_panel: endpoint { ++ remote-endpoint = <&mipi_out_panel>; ++ }; ++ }; ++ }; ++}; ++ + &pmu_io_domains { + pmu1830-supply = <&vcc_1v8>; + status = "okay"; +@@ -387,6 +480,20 @@ + }; + }; + ++ dsi { ++ display_rst_l: display-rst-l { ++ rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ ++ display_pwren: display-pwren { ++ rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ ++ display_pwren1: display-pwren1 { ++ rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ }; ++ + sound { + vcc1v8_codec_en: vcc1v8-codec-en { + rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_down>; +@@ -422,6 +529,10 @@ + status = "okay"; + }; + ++&pwm0 { ++ status = "okay"; ++}; ++ + &sdmmc { + bus-width = <4>; + cap-sd-highspeed; +@@ -472,3 +583,15 @@ + &uart2 { + status = "okay"; + }; ++ ++&vopb { ++ status = "okay"; ++ assigned-clocks = <&cru DCLK_VOP0_DIV>, <&cru DCLK_VOP0>, ++ <&cru ACLK_VOP0>, <&cru HCLK_VOP0>; ++ assigned-clock-rates = <0>, <0>, <400000000>, <100000000>; ++ assigned-clock-parents = <&cru PLL_CPLL>, <&cru DCLK_VOP0_FRAC>; ++}; ++ ++&vopb_mmu { ++ status = "okay"; ++}; +diff --git a/configs/pinephone-pro-rk3399_defconfig b/configs/pinephone-pro-rk3399_defconfig +index 54f9b90536c..1982131c805 100644 +--- a/configs/pinephone-pro-rk3399_defconfig ++++ b/configs/pinephone-pro-rk3399_defconfig +@@ -96,6 +96,7 @@ CONFIG_USB_ETHER_RTL8152=y + CONFIG_VIDEO=y + CONFIG_DISPLAY=y + CONFIG_VIDEO_ROCKCHIP=y +-CONFIG_DISPLAY_ROCKCHIP_EDP=y ++CONFIG_DISPLAY_ROCKCHIP_MIPI=y ++CONFIG_BACKLIGHT_PWM=y + CONFIG_SPL_TINY_MEMSET=y + CONFIG_ERRNO_STR=y +diff --git a/include/dt-bindings/clock/rk3399-cru.h b/include/dt-bindings/clock/rk3399-cru.h +index 211faf8fa89..7866e5266d2 100644 +--- a/include/dt-bindings/clock/rk3399-cru.h ++++ b/include/dt-bindings/clock/rk3399-cru.h +@@ -131,6 +131,8 @@ + #define DCLK_VOP0_DIV 182 + #define DCLK_VOP1_DIV 183 + #define DCLK_M0_PERILP 184 ++#define DCLK_VOP0_FRAC 185 ++#define DCLK_VOP1_FRAC 186 + + #define FCLK_CM0S 190 + +-- +2.39.2 + diff --git a/rockchip-Enable-preboot-start-for-pci-usb.patch b/rockchip-Enable-preboot-start-for-pci-usb.patch deleted file mode 100644 index 30aad4d..0000000 --- a/rockchip-Enable-preboot-start-for-pci-usb.patch +++ /dev/null @@ -1,860 +0,0 @@ -From a6909a16b4cc301f1007d9e75d02abb6d06a1ea7 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 ---- - 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 - diff --git a/rockchip-PinePhone-Pro-fixes.patch b/rockchip-PinePhone-Pro-fixes.patch new file mode 100644 index 0000000..74d0bab --- /dev/null +++ b/rockchip-PinePhone-Pro-fixes.patch @@ -0,0 +1,127 @@ +From 671b2e758900f4a733d6840b2f39bc24dd63cfdb Mon Sep 17 00:00:00 2001 +From: Ondrej Jirman +Date: Thu, 25 May 2023 14:18:17 +0200 +Subject: [PATCH] i2c: rockchip: De-initialize the bus after start bit failure + +Failure can happen when i2c is used without initializing pinctrl properly, +which U-Boot happily allows in SPL. Without this fix, further I2C access would +fail, even after proper pinctrl initialization. + +Signed-off-by: Ondrej Jirman +Cc: Heiko Schocher +Reviewed-by: Kever Yang +Reviewed-by: Heiko Schocher +--- + drivers/i2c/rk_i2c.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/drivers/i2c/rk_i2c.c b/drivers/i2c/rk_i2c.c +index f8fac45b6ca..9927af94a80 100644 +--- a/drivers/i2c/rk_i2c.c ++++ b/drivers/i2c/rk_i2c.c +@@ -342,7 +342,7 @@ static int rockchip_i2c_xfer(struct udevice *bus, struct i2c_msg *msg, + int nmsgs) + { + struct rk_i2c *i2c = dev_get_priv(bus); +- int ret; ++ int ret = 0; + + debug("i2c_xfer: %d messages\n", nmsgs); + for (; nmsgs > 0; nmsgs--, msg++) { +@@ -356,14 +356,15 @@ static int rockchip_i2c_xfer(struct udevice *bus, struct i2c_msg *msg, + } + if (ret) { + debug("i2c_write: error sending\n"); +- return -EREMOTEIO; ++ ret = -EREMOTEIO; ++ break; + } + } + + rk_i2c_send_stop_bit(i2c); + rk_i2c_disable(i2c); + +- return 0; ++ return ret; + } + + int rockchip_i2c_set_bus_speed(struct udevice *bus, unsigned int speed) +-- +2.41.0 + +From 1af5e42f170d2c4b944beeb875b80ec7f061038a Mon Sep 17 00:00:00 2001 +From: Ondrej Jirman +Date: Thu, 25 May 2023 15:27:08 +0200 +Subject: [PATCH] pinephone-pro: Fix I/O port voltage (GPIO3D4A is 1.8V) + +This fixes access to camera sensor over I2C during probe time in +the kernel. (Kernel will fix I/0 port voltage by itself, but the +timing depends on probe order of the drivers, so the fix can +come after the camera sensor driver already failed to probe.) + +Signed-off-by: Ondrej Jirman +Cc: Kever Yang +Reviewed-by: Kever Yang +--- + board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c +index eb639cd0d07..b6ccbb9c1c4 100644 +--- a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c ++++ b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c +@@ -15,7 +15,8 @@ + #include + #include + +-#define GRF_IO_VSEL_BT565_SHIFT 0 ++#define GRF_IO_VSEL_BT565_GPIO2AB 1 ++#define GRF_IO_VSEL_AUDIO_GPIO3D4A 2 + #define PMUGRF_CON0_VSEL_SHIFT 8 + + #ifndef CONFIG_SPL_BUILD +@@ -48,7 +49,8 @@ static void setup_iodomain(void) + syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF); + + /* BT565 is in 1.8v domain */ +- rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT); ++ rk_setreg(&grf->io_vsel, ++ GRF_IO_VSEL_BT565_GPIO2AB | GRF_IO_VSEL_AUDIO_GPIO3D4A); + + /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */ + rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT); +-- +2.41.0 + +From 6a7f8be74b44013513e51f5e7979dcc410ca2723 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 11 Jun 2023 18:13:19 +0100 +Subject: [PATCH] rockchip: Pinephone Pro: Add DDR RAM type config + +Add the RAM_ROCKCHIP_LPDDR4 to fix the Pinephone Pro booting. +When the configs were updated in 26f92be07e2 it somehow broke +the PPP boot process so let's fix it. + +Signed-off-by: Peter Robinson +CC: Jagan Teki +CC: Kever Yang + +--- + configs/pinephone-pro-rk3399_defconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configs/pinephone-pro-rk3399_defconfig b/configs/pinephone-pro-rk3399_defconfig +index 4edea88665f..e4a8beeb1ab 100644 +--- a/configs/pinephone-pro-rk3399_defconfig ++++ b/configs/pinephone-pro-rk3399_defconfig +@@ -73,6 +73,7 @@ CONFIG_PMIC_RK8XX=y + CONFIG_REGULATOR_PWM=y + CONFIG_REGULATOR_RK8XX=y + CONFIG_PWM_ROCKCHIP=y ++CONFIG_RAM_ROCKCHIP_LPDDR4=y + CONFIG_DM_RNG=y + CONFIG_RNG_ROCKCHIP=y + CONFIG_BAUDRATE=1500000 +-- +2.41.0 + diff --git a/rockchip-general-fixes.patch b/rockchip-general-fixes.patch new file mode 100644 index 0000000..00e78f5 --- /dev/null +++ b/rockchip-general-fixes.patch @@ -0,0 +1,136 @@ +From 2d9350c50a9659cc2a247cdea07f0eacffa3cb32 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 12 Jun 2022 14:44:44 +0100 +Subject: [PATCH] rockchip: pinebook-pro: minor SPI flash fixes + +Set a default offset for environment so it doesn't write it to +unexpected locations, drop unneeded mtd config option. + +Signed-off-by: Peter Robinson +--- + configs/pinebook-pro-rk3399_defconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig +index 8ca1d0708f9..aaa52c6ea70 100644 +--- a/configs/pinebook-pro-rk3399_defconfig ++++ b/configs/pinebook-pro-rk3399_defconfig +@@ -5,6 +5,7 @@ CONFIG_ARCH_ROCKCHIP=y + CONFIG_SYS_TEXT_BASE=0x00200000 + CONFIG_NR_DRAM_BANKS=1 + CONFIG_ENV_SIZE=0x8000 ++CONFIG_ENV_OFFSET=0x3F8000 + CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro" + CONFIG_ROCKCHIP_RK3399=y + CONFIG_TARGET_PINEBOOK_PRO_RK3399=y +@@ -22,7 +23,6 @@ CONFIG_MISC_INIT_R=y + # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set + CONFIG_SPL_STACK_R=y + CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000 +-CONFIG_SPL_MTD_SUPPORT=y + CONFIG_SPL_SPI_LOAD=y + CONFIG_TPL=y + CONFIG_CMD_BOOTZ=y +-- +2.36.1 + +From 27ba8e2f904063aec5196f86dd0332bf58a60259 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 12 Jun 2022 14:50:42 +0100 +Subject: [PATCH] rockchip: rockpro64: enable leds + +The Rockpro64 has some GPIO leds so let's enable them so the +user gets some output in early boot. + +Signed-off-by: Peter Robinson +--- + configs/rockpro64-rk3399_defconfig | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig +index e6f7a8469a3..b0c3527fab0 100644 +--- a/configs/rockpro64-rk3399_defconfig ++++ b/configs/rockpro64-rk3399_defconfig +@@ -42,6 +42,8 @@ CONFIG_AHCI_PCI=y + CONFIG_SATA_SIL=y + CONFIG_ROCKCHIP_GPIO=y + CONFIG_SYS_I2C_ROCKCHIP=y ++CONFIG_LED=y ++CONFIG_LED_GPIO=y + CONFIG_MISC=y + CONFIG_ROCKCHIP_EFUSE=y + CONFIG_MMC_DW=y +-- +2.36.1 + +From 8bca90472e0d71e5344711b6f5fe8dc95e19af5a Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Sun, 12 Jun 2022 15:12:47 +0100 +Subject: [PATCH] rockchip: pinebook-pro: sync PBP dtb to 5.18 + +Sync the pinebook pro to upstream 5.18, in particular this brings +brings in a fix so the DP is disabled so Linux will actually boot. + +Signed-off-by: Peter Robinson +--- + arch/arm/dts/rk3399-pinebook-pro.dts | 11 +++-------- + 1 file changed, 3 insertions(+), 8 deletions(-) + +diff --git a/arch/arm/dts/rk3399-pinebook-pro.dts b/arch/arm/dts/rk3399-pinebook-pro.dts +index 2b5f001ff4a..d6b68d77d63 100644 +--- a/arch/arm/dts/rk3399-pinebook-pro.dts ++++ b/arch/arm/dts/rk3399-pinebook-pro.dts +@@ -17,6 +17,7 @@ + / { + model = "Pine64 Pinebook Pro"; + compatible = "pine64,pinebook-pro", "rockchip,rk3399"; ++ chassis-type = "laptop"; + + aliases { + mmc0 = &sdio0; +@@ -242,12 +243,12 @@ + vdd_log: vdd-log { + compatible = "pwm-regulator"; + pwms = <&pwm2 0 25000 1>; ++ pwm-supply = <&vcc_sysin>; + regulator-name = "vdd_log"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1400000>; +- vin-supply = <&vcc_sysin>; + + regulator-state-mem { + regulator-on-in-suspend; +@@ -385,10 +386,6 @@ + }; + }; + +-&cdn_dp { +- status = "okay"; +-}; +- + &cpu_b0 { + cpu-supply = <&vdd_cpu_b>; + }; +@@ -475,8 +472,6 @@ + vcc10-supply = <&vcc_sysin>; + vcc11-supply = <&vcc_sysin>; + vcc12-supply = <&vcc3v3_sys>; +- vcc13-supply = <&vcc_sysin>; +- vcc14-supply = <&vcc_sysin>; + + regulators { + /* rk3399 center logic supply */ +@@ -711,7 +706,7 @@ + + connector { + compatible = "usb-c-connector"; +- data-role = "host"; ++ data-role = "dual"; + label = "USB-C"; + op-sink-microwatt = <1000000>; + power-role = "dual"; +-- +2.36.1 + diff --git a/rockchip-rk3568-nanopi-r5-Drop-duplicated-extra-sdhc.patch b/rockchip-rk3568-nanopi-r5-Drop-duplicated-extra-sdhc.patch deleted file mode 100644 index bef5a9e..0000000 --- a/rockchip-rk3568-nanopi-r5-Drop-duplicated-extra-sdhc.patch +++ /dev/null @@ -1,39 +0,0 @@ -From aef38432fbc93621b434836b95b10c28aa880e84 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 -Tested-by: Dusty Mabe -Signed-off-by: Peter Robinson ---- - 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 - diff --git a/rockchip-rk356x-Stop-overriding-sdhci-mmc-aliases.patch b/rockchip-rk356x-Stop-overriding-sdhci-mmc-aliases.patch deleted file mode 100644 index c67e4af..0000000 --- a/rockchip-rk356x-Stop-overriding-sdhci-mmc-aliases.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 29efc0396809384cf37bfcfb01c62e63216fa998 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 ---- - 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 - diff --git a/rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch b/rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch new file mode 100644 index 0000000..fd032fe --- /dev/null +++ b/rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch @@ -0,0 +1,141 @@ +From 52b75976133683dc9fe66e8ad35127125f938bed Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Tue, 28 Feb 2023 12:04:34 +0000 +Subject: [PATCH 2/2] rpi: Use OF_BOARD rather than OF_EMBED + +The use of OF_EMBED isn't recommended for standard use and the OF_BOARD +is actually a better fit for the Raspberry Pi as the prior firmware +provides a DT that can be used by U-Boot and the subsequent OS too, but +it still allows the loading of a DT from disk as well if users wish +to use the upstream kernel DT. + +Signed-off-by: Peter Robinson +--- + configs/rpi_0_w_defconfig | 2 +- + configs/rpi_2_defconfig | 2 +- + configs/rpi_3_32b_defconfig | 2 +- + configs/rpi_3_b_plus_defconfig | 2 +- + configs/rpi_3_defconfig | 2 +- + configs/rpi_4_32b_defconfig | 1 + + configs/rpi_4_defconfig | 1 + + configs/rpi_arm64_defconfig | 1 + + configs/rpi_defconfig | 2 +- + 9 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig +index 5249b29d76c..8c217848ca2 100644 +--- a/configs/rpi_0_w_defconfig ++++ b/configs/rpi_0_w_defconfig +@@ -23,7 +23,7 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y ++CONFIG_OF_BOARD=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig +index 154284765f4..bfc5679fb7e 100644 +--- a/configs/rpi_2_defconfig ++++ b/configs/rpi_2_defconfig +@@ -24,7 +24,7 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y ++CONFIG_OF_BOARD=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig +index ef1f25d2ad7..54cdcee980a 100644 +--- a/configs/rpi_3_32b_defconfig ++++ b/configs/rpi_3_32b_defconfig +@@ -23,7 +23,7 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y ++CONFIG_OF_BOARD=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_3_b_plus_defconfig b/configs/rpi_3_b_plus_defconfig +index 154615d78a1..3008c7a1c18 100644 +--- a/configs/rpi_3_b_plus_defconfig ++++ b/configs/rpi_3_b_plus_defconfig +@@ -22,7 +22,7 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y ++CONFIG_OF_BOARD=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig +index f0cf7f8e236..f7b9108ba00 100644 +--- a/configs/rpi_3_defconfig ++++ b/configs/rpi_3_defconfig +@@ -22,7 +22,7 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y ++CONFIG_OF_BOARD=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig +index 713b2ee231c..fa20ab767fe 100644 +--- a/configs/rpi_4_32b_defconfig ++++ b/configs/rpi_4_32b_defconfig +@@ -24,6 +24,7 @@ CONFIG_CMD_MMC=y + CONFIG_CMD_PCI=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y ++CONFIG_OF_BOARD=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig +index 24f70b14fe8..741d4dbbbf4 100644 +--- a/configs/rpi_4_defconfig ++++ b/configs/rpi_4_defconfig +@@ -24,6 +24,7 @@ CONFIG_CMD_MMC=y + CONFIG_CMD_PCI=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y ++CONFIG_OF_BOARD=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig +index 1d1ff12a58c..5e1195dd786 100644 +--- a/configs/rpi_arm64_defconfig ++++ b/configs/rpi_arm64_defconfig +@@ -23,6 +23,7 @@ CONFIG_CMD_MMC=y + CONFIG_CMD_PCI=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y ++CONFIG_OF_BOARD=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y + CONFIG_TFTP_TSIZE=y +diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig +index 28b92b14456..1504093eddf 100644 +--- a/configs/rpi_defconfig ++++ b/configs/rpi_defconfig +@@ -23,7 +23,7 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y ++CONFIG_OF_BOARD=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +-- +2.39.2 + diff --git a/rpi-copy-chosen-bootloader-partition-and-set-boot_partition.patch b/rpi-copy-chosen-bootloader-partition-and-set-boot_partition.patch deleted file mode 100644 index 6d54fa7..0000000 --- a/rpi-copy-chosen-bootloader-partition-and-set-boot_partition.patch +++ /dev/null @@ -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 -X-Patchwork-Id: 2280865 -X-Patchwork-Delegate: pbrobinson@gmail.com -Return-Path: -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 ; 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= -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 ; 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 ; 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 ; - 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= -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 ; Tue, 4 Aug 2026 13:39:29 +0000 (UTC) -From: Gregor Herburger -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 , - Peter Robinson , Tom Rini , - =?utf-8?q?Filip_Kokosi=C5=84ski?= , - Ilias Apalodimas , - Gregor Herburger -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 -List-Unsubscribe: , - -List-Archive: -List-Post: -List-Help: -List-Subscribe: , - -Errors-To: u-boot-bounces@lists.u-boot-project.org -Sender: "U-Boot" - -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 -Signed-off-by: Gregor Herburger ---- -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 - -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) diff --git a/smbios-Simplify-reporting-of-unknown-values.patch b/smbios-Simplify-reporting-of-unknown-values.patch new file mode 100644 index 0000000..0aef8e7 --- /dev/null +++ b/smbios-Simplify-reporting-of-unknown-values.patch @@ -0,0 +1,544 @@ +From patchwork Tue Sep 6 13:44:25 2022 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Ilias Apalodimas +X-Patchwork-Id: 1674857 +Return-Path: +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=) +Authentication-Results: legolas.ozlabs.org; + dkim=pass (2048-bit key; + unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 + header.s=google header.b=wUY2RcfH; + dkim-atps=neutral +Received: from phobos.denx.de (phobos.denx.de + [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature ECDSA (P-384)) + (No client certificate requested) + by legolas.ozlabs.org (Postfix) with ESMTPS id 4MMRT72TCPz1yhd + for ; Tue, 6 Sep 2022 23:44:43 +1000 (AEST) +Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) + by phobos.denx.de (Postfix) with ESMTP id 498F2849CE; + Tue, 6 Sep 2022 15:44:39 +0200 (CEST) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=linaro.org +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de +Authentication-Results: phobos.denx.de; + dkim=pass (2048-bit key; + unprotected) header.d=linaro.org header.i=@linaro.org header.b="wUY2RcfH"; + dkim-atps=neutral +Received: by phobos.denx.de (Postfix, from userid 109) + id A8842849CF; Tue, 6 Sep 2022 15:44:37 +0200 (CEST) +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de +X-Spam-Level: +X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, + T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 +Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com + [IPv6:2a00:1450:4864:20::52d]) + (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) + (No client certificate requested) + by phobos.denx.de (Postfix) with ESMTPS id 403A5849AA + for ; Tue, 6 Sep 2022 15:44:35 +0200 (CEST) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=linaro.org +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=ilias.apalodimas@linaro.org +Received: by mail-ed1-x52d.google.com with SMTP id x73so8243364ede.10 + for ; Tue, 06 Sep 2022 06:44:35 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; + h=content-transfer-encoding:mime-version:message-id:date:subject:cc + :to:from:from:to:cc:subject:date; + bh=YBbhuTYZcGSI4FSsstTIADofj6ZEC8vsTpd/U8gWDlU=; + b=wUY2RcfHqhMQ1dgd2my7jtmfsgHjAF8xFa3HnTkB/tUGQL/oQyls7ODcVui/VImHlf + Ah33xwYqK1nwEuoS8HqkWcksTr48pKf/EikkkBbHif0XnfS4oySI3RHo7WW6Yi8HQUoP + tbuQ3LPSYgo+62HaqTYVoJ2g6jc1qiEFe/+y6hR2BfmyKd0g/SxwLS9P1QuQosdhX+uO + DKWWukFYFV06Nn7x/3oiyoXq33VAWatgQBv/sPC7dBgh/EpnobDpI8NhNhJAkFIcAUrU + B91PBwNRtB1Lsf+Eo3WjLtQbinL3h/VvogRSvZEoKCmHY5dbTYB8G1uNzksnK6QecIRu + q9qA== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20210112; + h=content-transfer-encoding:mime-version:message-id:date:subject:cc + :to:from:x-gm-message-state:from:to:cc:subject:date; + bh=YBbhuTYZcGSI4FSsstTIADofj6ZEC8vsTpd/U8gWDlU=; + b=KfQ/P0sYI7szdfgs6GA5oPXctzQ8yfxjRs7PgVHFg7jl09SeFl3jpKzaMGbC7GlEgM + JXt2VP6w9TndL/D71cR8w9BObY2mZJoLRP/s25LpSU6izkisnuueyGeqKegGEfGE+4B3 + 9xaG/EUlPZmHlAem6bOf9Dl6lE5WkT6SnTDopwODIbcTAWlIa8Gjtw9XBaaa8iRnVuTn + S3IwY9R7DLaSFBQXTVHmAYnhCc2b5XCRKlSNwmDE65+LqvOdAu3MTbA5/YyL9pEPjHi9 + 4q0ZQksAE0olpQQwxyjHrvz7h7ktSuJoesa/A4dX3PEbzSbBmPI1CGtPy27/luAUCH3F + e8Vw== +X-Gm-Message-State: ACgBeo2YRons+T+T1+BdP4+uyEFge3LrQ/gS2VYwuVZg325XGZ8HVnXH + Lq8no+qriMaFPrto6+L889ufiYLHsm+dZQ== +X-Google-Smtp-Source: + AA6agR6coLdFIB45xwZJzpltd9Qfi6bEAn6J22G77ibwSDNyt1L1YbxRL9dlK4pmf9A6n2RN31Ug2w== +X-Received: by 2002:aa7:c84f:0:b0:446:2bfb:5a63 with SMTP id + g15-20020aa7c84f000000b004462bfb5a63mr17498596edt.172.1662471874779; + Tue, 06 Sep 2022 06:44:34 -0700 (PDT) +Received: from localhost.localdomain ([46.103.15.185]) + by smtp.gmail.com with ESMTPSA id + p23-20020a056402501700b0043ba7df7a42sm8473330eda.26.2022.09.06.06.44.33 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Tue, 06 Sep 2022 06:44:34 -0700 (PDT) +From: Ilias Apalodimas +To: u-boot@lists.denx.de +Cc: trini@konsulko.com, sjg@chromium.org, heinrich.schuchardt@canonical.com, + pbrobinson@gmail.com, Ilias Apalodimas +Subject: [PATCH 1/2] smbios: Simplify reporting of unknown values +Date: Tue, 6 Sep 2022 16:44:25 +0300 +Message-Id: <20220906134426.53748-1-ilias.apalodimas@linaro.org> +X-Mailer: git-send-email 2.37.2 +MIME-Version: 1.0 +X-BeenThere: u-boot@lists.denx.de +X-Mailman-Version: 2.1.39 +Precedence: list +List-Id: U-Boot discussion +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: u-boot-bounces@lists.denx.de +Sender: "U-Boot" +X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de +X-Virus-Status: Clean + +If a value is not valid during the DT or SYSINFO parsing, we explicitly +set that to "Unknown Product" and "Unknown" for the product and +manufacturer respectively. It's cleaner if we move the checks insisde +smbios_add_string() and always report "Unknown" regardless of the missing +field. + +pre-patch dmidecode + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: Unknown + Product Name: Unknown Product + Version: Not Specified + Serial Number: Not Specified + UUID: Not Settable + Wake-up Type: Reserved + SKU Number: Not Specified + Family: Not Specified + +Handle 0x0002, DMI type 2, 14 bytes +Base Board Information + Manufacturer: Unknown + Product Name: Unknown Product + Version: Not Specified + Serial Number: Not Specified + Asset Tag: Not Specified + Features: + Board is a hosting board + Location In Chassis: Not Specified + Chassis Handle: 0x0000 + Type: Motherboard + + +post-patch dmidecode: + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: Unknown + Product Name: Unknown + Version: Unknown + Serial Number: Unknown + UUID: Not Settable + Wake-up Type: Reserved + SKU Number: Unknown + Family: Unknown + +Handle 0x0002, DMI type 2, 14 bytes +Base Board Information + Manufacturer: Unknown + Product Name: Unknown + Version: Unknown + Serial Number: Not Specified + Asset Tag: Unknown + Features: + Board is a hosting board + Location In Chassis: Not Specified + Chassis Handle: 0x0000 + Type: Motherboard + +Signed-off-by: Ilias Apalodimas +--- + lib/smbios.c | 17 +++-------------- + 1 file changed, 3 insertions(+), 14 deletions(-) + +diff --git a/lib/smbios.c b/lib/smbios.c +index d7f4999e8b2a..fcc8686993ef 100644 +--- a/lib/smbios.c ++++ b/lib/smbios.c +@@ -102,7 +102,7 @@ static int smbios_add_string(struct smbios_ctx *ctx, const char *str) + int i = 1; + char *p = ctx->eos; + +- if (!*str) ++ if (!str || !*str) + str = "Unknown"; + + for (;;) { +@@ -151,8 +151,7 @@ static int smbios_add_prop_si(struct smbios_ctx *ctx, const char *prop, + const char *str; + + str = ofnode_read_string(ctx->node, prop); +- if (str) +- return smbios_add_string(ctx, str); ++ return smbios_add_string(ctx, str); + } + + return 0; +@@ -231,7 +230,7 @@ static int smbios_write_type0(ulong *current, int handle, + t->vendor = smbios_add_string(ctx, "U-Boot"); + + t->bios_ver = smbios_add_prop(ctx, "version"); +- if (!t->bios_ver) ++ if (!strcmp(ctx->last_str, "Unknown")) + t->bios_ver = smbios_add_string(ctx, PLAIN_VERSION); + if (t->bios_ver) + gd->smbios_version = ctx->last_str; +@@ -281,11 +280,7 @@ static int smbios_write_type1(ulong *current, int handle, + fill_smbios_header(t, SMBIOS_SYSTEM_INFORMATION, len, handle); + smbios_set_eos(ctx, t->eos); + t->manufacturer = smbios_add_prop(ctx, "manufacturer"); +- if (!t->manufacturer) +- t->manufacturer = smbios_add_string(ctx, "Unknown"); + t->product_name = smbios_add_prop(ctx, "product"); +- if (!t->product_name) +- t->product_name = smbios_add_string(ctx, "Unknown Product"); + t->version = smbios_add_prop_si(ctx, "version", + SYSINFO_ID_SMBIOS_SYSTEM_VERSION); + if (serial_str) { +@@ -315,11 +310,7 @@ static int smbios_write_type2(ulong *current, int handle, + fill_smbios_header(t, SMBIOS_BOARD_INFORMATION, len, handle); + smbios_set_eos(ctx, t->eos); + t->manufacturer = smbios_add_prop(ctx, "manufacturer"); +- if (!t->manufacturer) +- t->manufacturer = smbios_add_string(ctx, "Unknown"); + t->product_name = smbios_add_prop(ctx, "product"); +- if (!t->product_name) +- t->product_name = smbios_add_string(ctx, "Unknown Product"); + t->version = smbios_add_prop_si(ctx, "version", + SYSINFO_ID_SMBIOS_BASEBOARD_VERSION); + t->asset_tag_number = smbios_add_prop(ctx, "asset-tag"); +@@ -344,8 +335,6 @@ static int smbios_write_type3(ulong *current, int handle, + fill_smbios_header(t, SMBIOS_SYSTEM_ENCLOSURE, len, handle); + smbios_set_eos(ctx, t->eos); + t->manufacturer = smbios_add_prop(ctx, "manufacturer"); +- if (!t->manufacturer) +- t->manufacturer = smbios_add_string(ctx, "Unknown"); + t->chassis_type = SMBIOS_ENCLOSURE_DESKTOP; + t->bootup_state = SMBIOS_STATE_SAFE; + t->power_supply_state = SMBIOS_STATE_SAFE; + +From patchwork Tue Sep 6 13:44:26 2022 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Ilias Apalodimas +X-Patchwork-Id: 1674858 +Return-Path: +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=) +Authentication-Results: legolas.ozlabs.org; + dkim=pass (2048-bit key; + unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 + header.s=google header.b=wBCOiKYw; + dkim-atps=neutral +Received: from phobos.denx.de (phobos.denx.de + [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature ECDSA (P-384)) + (No client certificate requested) + by legolas.ozlabs.org (Postfix) with ESMTPS id 4MMRTM5pHRz1yhk + for ; Tue, 6 Sep 2022 23:44:55 +1000 (AEST) +Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) + by phobos.denx.de (Postfix) with ESMTP id 3639F849EA; + Tue, 6 Sep 2022 15:44:53 +0200 (CEST) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=linaro.org +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de +Authentication-Results: phobos.denx.de; + dkim=pass (2048-bit key; + unprotected) header.d=linaro.org header.i=@linaro.org header.b="wBCOiKYw"; + dkim-atps=neutral +Received: by phobos.denx.de (Postfix, from userid 109) + id E57FC84A1A; Tue, 6 Sep 2022 15:44:51 +0200 (CEST) +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de +X-Spam-Level: +X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, + T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 +Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com + [IPv6:2a00:1450:4864:20::52f]) + (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) + (No client certificate requested) + by phobos.denx.de (Postfix) with ESMTPS id 60CD0849AA + for ; Tue, 6 Sep 2022 15:44:49 +0200 (CEST) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=linaro.org +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=ilias.apalodimas@linaro.org +Received: by mail-ed1-x52f.google.com with SMTP id z21so5172669edi.1 + for ; Tue, 06 Sep 2022 06:44:49 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; + h=content-transfer-encoding:mime-version:references:in-reply-to + :message-id:date:subject:cc:to:from:from:to:cc:subject:date; + bh=KsGBN7dLy4q3TeQQmsDywPtn2m3V5eSK1ppBgO8D3xg=; + b=wBCOiKYwM4mGDZUo6l68tblLVt57cCnO0dlzFPj9+m6cwKXe3agxiM3w4t9T5c822i + vHmFd2F08bUrX81t/h4PDzg0mngbB9Rc9o4i3td1G9Zw6NdmogU7T7gEUyKKcTc80AWl + QbbYgxulWB5Eg2dTQ3tlb2xmb5BU1/X0zl/rOC6l89urohdQtpIJ4XgFlijFlBgxh8XD + aHytniLKGTLlVdJAIobcF9aM/ihpO7LPTDZ4SPCBt4t9+UWGW7vuTPDPDkCRiaaFestv + 9P32ZrGj43CH92zBQtpgZICS0UhzD3oYWJkwsmFbfxddgY5VD5SQi69VzD1CfFOvTGgX + 5HBg== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20210112; + h=content-transfer-encoding:mime-version:references:in-reply-to + :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc + :subject:date; + bh=KsGBN7dLy4q3TeQQmsDywPtn2m3V5eSK1ppBgO8D3xg=; + b=h1yL2aMN8ooI48PrqxwSNjw+MAj6qGtRMJjV8AWmRfv7nVQ97I/cXbauy/NItVEWP0 + eO4WFqVMQO+xyGn1S5w0MXYGVbEpVNxf0gwM7n7Ad+K2E2PDHyu6glGTvcqCW11gPGOJ + uNDyo6pu7OtmOBso2OaL5eMGhw66ZGqQbzlQtO0mhqJf1RtQ9fRduRZrfTzAR9wIrM4Y + qR3iK6b4O97tu0W0SctGf3rCNzI2bDv/zBKRvfSJ6q7s4DhLDxBJyQjySBo0Ee6UIwKc + 5q8zldycF/JfIbqzlJe6DaeoeDbzJ7qLBPvDmxQ7owSV9ftEa8lh/IIdPn13uDL2Bxjz + WLbg== +X-Gm-Message-State: ACgBeo0DsGDn9dDw7GQ5K44iwyXJqKH0pM3NWFxuDlmBNzKLyzH8SEzb + 03ImCopxuD/6oyVtH7ygeEl2Cc6GlNzVNQ== +X-Google-Smtp-Source: + AA6agR6kpp8KIkqO+/pui5Dy7mRTrk+S2U0k99eVOJv3PGkIDZ8H0oqIBypOwW5nogFds0FAjF4TXg== +X-Received: by 2002:a05:6402:f18:b0:44d:9a45:394 with SMTP id + i24-20020a0564020f1800b0044d9a450394mr12375719eda.138.1662471889015; + Tue, 06 Sep 2022 06:44:49 -0700 (PDT) +Received: from localhost.localdomain ([46.103.15.185]) + by smtp.gmail.com with ESMTPSA id + p23-20020a056402501700b0043ba7df7a42sm8473330eda.26.2022.09.06.06.44.48 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Tue, 06 Sep 2022 06:44:48 -0700 (PDT) +From: Ilias Apalodimas +To: u-boot@lists.denx.de +Cc: trini@konsulko.com, sjg@chromium.org, heinrich.schuchardt@canonical.com, + pbrobinson@gmail.com, Ilias Apalodimas +Subject: [PATCH 2/2] smbios: Fallback to the default DT if sysinfo nodes are + missing +Date: Tue, 6 Sep 2022 16:44:26 +0300 +Message-Id: <20220906134426.53748-2-ilias.apalodimas@linaro.org> +X-Mailer: git-send-email 2.37.2 +In-Reply-To: <20220906134426.53748-1-ilias.apalodimas@linaro.org> +References: <20220906134426.53748-1-ilias.apalodimas@linaro.org> +MIME-Version: 1.0 +X-BeenThere: u-boot@lists.denx.de +X-Mailman-Version: 2.1.39 +Precedence: list +List-Id: U-Boot discussion +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: u-boot-bounces@lists.denx.de +Sender: "U-Boot" +X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de +X-Virus-Status: Clean + +In order to fill in the SMBIOS tables U-Boot currently relies on a +"u-boot,sysinfo-smbios" compatible node. This is fine for the boards +that already include such nodes. However with some recent EFI changes, +the majority of boards can boot up distros, which usually rely on +things like dmidecode etc for their reporting. For boards that +lack this special node the SMBIOS output looks like: + +System Information + Manufacturer: Unknown + Product Name: Unknown + Version: Unknown + Serial Number: Unknown + UUID: Not Settable + Wake-up Type: Reserved + SKU Number: Unknown + Family: Unknown + +This looks problematic since most of the info are "Unknown". The DT spec +specifies standard properties containing relevant information like +'model' and 'compatible' for which the suggested format is +. So let's add a last resort to our current +smbios parsing. If none of the sysinfo properties are found, we can +scan the root node for 'model' and 'compatible'. + +pre-patch dmidecode: + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: Unknown + Product Name: Unknown + Version: Unknown + Serial Number: Unknown + UUID: Not Settable + Wake-up Type: Reserved + SKU Number: Unknown + Family: Unknown + +Handle 0x0002, DMI type 2, 14 bytes +Base Board Information + Manufacturer: Unknown + Product Name: Unknown + Version: Unknown + Serial Number: Not Specified + Asset Tag: Unknown + Features: + Board is a hosting board + Location In Chassis: Not Specified + Chassis Handle: 0x0000 + Type: Motherboard + +Handle 0x0003, DMI type 3, 21 bytes +Chassis Information + Manufacturer: Unknown + Type: Desktop + Lock: Not Present + Version: Not Specified + Serial Number: Not Specified + Asset Tag: Not Specified + Boot-up State: Safe + Power Supply State: Safe + Thermal State: Safe + Security Status: None + OEM Information: 0x00000000 + Height: Unspecified + Number Of Power Cords: Unspecified + Contained Elements: 0 + + +post-pastch dmidecode: + +Handle 0x0001, DMI type 1, 27 bytes +System Information + Manufacturer: socionext,developer-box + Product Name: Socionext Developer Box + Version: Unknown + Serial Number: Unknown + UUID: Not Settable + Wake-up Type: Reserved + SKU Number: Unknown + Family: Unknown + +Handle 0x0002, DMI type 2, 14 bytes +Base Board Information + Manufacturer: socionext,developer-box + Product Name: Socionext Developer Box + Version: Unknown + Serial Number: Not Specified + Asset Tag: Unknown + Features: + Board is a hosting board + Location In Chassis: Not Specified + Chassis Handle: 0x0000 + Type: Motherboard + +Handle 0x0003, DMI type 3, 21 bytes +Chassis Information + Manufacturer: socionext,developer-box + Type: Desktop + Lock: Not Present + Version: Not Specified + Serial Number: Not Specified + Asset Tag: Not Specified + Boot-up State: Safe + Power Supply State: Safe + Thermal State: Safe + Security Status: None + OEM Information: 0x00000000 + Height: Unspecified + Number Of Power Cords: Unspecified + Contained Elements: 0 + + +Signed-off-by: Ilias Apalodimas +--- + lib/smbios.c | 41 +++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 39 insertions(+), 2 deletions(-) + +diff --git a/lib/smbios.c b/lib/smbios.c +index fcc8686993ef..f2eb961f514b 100644 +--- a/lib/smbios.c ++++ b/lib/smbios.c +@@ -43,6 +43,20 @@ + + DECLARE_GLOBAL_DATA_PTR; + ++/** ++ * struct sysifno_to_dt - Mapping of sysinfo strings to DT ++ * ++ * @sysinfo_str: sysinfo string ++ * @dt_str: DT string ++ */ ++static const struct { ++ const char *sysinfo_str; ++ const char *dt_str; ++} sysifno_to_dt[] = { ++ { .sysinfo_str = "product", .dt_str = "model" }, ++ { .sysinfo_str = "manufacturer", .dt_str = "compatible" }, ++}; ++ + /** + * struct smbios_ctx - context for writing SMBIOS tables + * +@@ -87,6 +101,18 @@ struct smbios_write_method { + const char *subnode_name; + }; + ++static const char *convert_sysinfo_to_dt(const char *sysinfo_str) ++{ ++ int i; ++ ++ for (i = 0; i < ARRAY_SIZE(sysifno_to_dt); i++) { ++ if (!strcmp(sysinfo_str, sysifno_to_dt[i].sysinfo_str)) ++ return sysifno_to_dt[i].dt_str; ++ } ++ ++ return NULL; ++} ++ + /** + * smbios_add_string() - add a string to the string area + * +@@ -148,9 +174,20 @@ static int smbios_add_prop_si(struct smbios_ctx *ctx, const char *prop, + return smbios_add_string(ctx, val); + } + if (IS_ENABLED(CONFIG_OF_CONTROL)) { +- const char *str; ++ const char *str = NULL; + +- str = ofnode_read_string(ctx->node, prop); ++ /* ++ * If the node is not valid fallback and try the entire DT ++ * so we can at least fill in maufacturer and board type ++ */ ++ if (!ofnode_valid(ctx->node)) { ++ const char *nprop = convert_sysinfo_to_dt(prop); ++ ++ if (nprop) ++ str = ofnode_read_string(ofnode_root(), nprop); ++ } else { ++ str = ofnode_read_string(ctx->node, prop); ++ } + return smbios_add_string(ctx, str); + } + diff --git a/sources b/sources index 08618e7..6466983 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (u-boot-v2026.10-rc3.tar.bz2) = e993f5d78a1ac0eb11f00e3730ff23eb880e206036f78c3eb74852b846a23d59111b4b07f4ced2c88c61a8c1627036c3cc32717c0efcf819376c5cd0a34183d2 +SHA512 (u-boot-2023.04.tar.bz2) = 31a44083af8084cd657c08233f485ff9503002bbaf95114c6135d483881fa14dc5a1b7ab42fd91f1fdd6b330556e76958d475280115018cb59c62b6ab4b508e6 diff --git a/uboot-tools.spec b/uboot-tools.spec index 056cc94..98eb8d8 100644 --- a/uboot-tools.spec +++ b/uboot-tools.spec @@ -1,56 +1,32 @@ -%global candidate rc3 +#global candidate rc0 %if 0%{?rhel} %bcond_with toolsonly %else %bcond_without toolsonly %endif -# Set it to "opensbi" (stable) or "opensbi-unstable" (unstable, git) -%global opensbi opensbi - Name: uboot-tools -Version: 2026.10 -Release: 0.3%{?candidate:.%{candidate}}%{?dist} -Epoch: 1 +Version: 2023.04 +Release: 2%{?candidate:.%{candidate}}%{?dist} Summary: U-Boot utilities -# Automatically converted from old format: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ - review is highly recommended. -License: GPL-2.0-or-later AND LicenseRef-Callaway-BSD AND LGPL-2.1-or-later AND LGPL-2.0-or-later -URL: https://u-boot-project.org/ +License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ +URL: http://www.denx.de/wiki/U-Boot + ExcludeArch: s390x -Source0: https://git.u-boot-project.org/u-boot/u-boot/-/archive/v%{version}%{?candidate:-%{candidate}}/u-boot-v%{version}%{?candidate:-%{candidate}}.tar.bz2 +Source0: https://ftp.denx.de/pub/u-boot/u-boot-%{version}%{?candidate:-%{candidate}}.tar.bz2 Source1: aarch64-boards -Source2: riscv64-boards -Source3: x86_64-boards -# Fedora patches to enable/disable features -Patch1: disable-VBE-by-default.patch -Patch2: enable-bootmenu-by-default.patch -# This is now legacy, most devices use bootflow, we keep this for the laggards -Patch3: uefi-distro-load-FDT-from-any-partition-on-boot-device.patch -# Identify VFAT partitions as ESP, allows EFI setvar on our images -Patch4: uefi-Add-all-options-for-EFI-System-Partitions.patch -# New function to find fdt for loading from disk -Patch5: uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch -# Enable UEFI SetVariable for devices without backed storage -Patch6: uefi-enable-SetVariableRT-with-volotile-storage.patch -# Enable UEFI HTTPS boot for all Fedora firmware -Patch7: uefi-enable-https-boot-by-default.patch +# Fedoraisms patches +# Needed to find DT on boot partition that's not the first partition +Patch1: uefi-distro-load-FDT-from-any-partition-on-boot-device.patch +Patch2: smbios-Simplify-reporting-of-unknown-values.patch -# Device improvments -# USB-PD improvements -Patch10: USB-PD-TCPM-improvements.patch +# Board fixes and enablement +# RPi - uses RPI firmware device tree for HAT support +Patch3: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch # 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 +Patch6: rockchip-Add-initial-support-for-the-PinePhone-Pro.patch +Patch7: rockchip-PinePhone-Pro-fixes.patch BuildRequires: bc BuildRequires: bison @@ -61,13 +37,7 @@ BuildRequires: gnutls-devel BuildRequires: libuuid-devel BuildRequires: make BuildRequires: ncurses-devel -%if 0%{?fedora} > 44 -BuildRequires: openssl3-devel -BuildRequires: openssl3-devel-engine -%else BuildRequires: openssl-devel -BuildRequires: openssl-devel-engine -%endif BuildRequires: perl-interpreter BuildRequires: python3-devel BuildRequires: python3-setuptools @@ -77,13 +47,7 @@ BuildRequires: swig %if %{with toolsonly} %ifarch aarch64 BuildRequires: arm-trusted-firmware-armv8 -BuildRequires: optee-os-firmware-armv8 -BuildRequires: crust-firmware BuildRequires: python3-pyelftools -BuildRequires: xxd -%endif -%ifarch riscv64 -BuildRequires: %{opensbi} %endif %endif Requires: dtc @@ -101,30 +65,12 @@ BuildArch: noarch %description -n uboot-images-armv8 U-Boot firmware binaries for aarch64 boards %endif - -%ifarch riscv64 -%package -n uboot-images-riscv64 -Summary: U-Boot firmware images for riscv64 boards -BuildArch: noarch - -%description -n uboot-images-riscv64 -U-Boot firmware binaries for riscv64 boards -%endif - -%ifarch x86_64 -%package -n uboot-images-x86_64 -Summary: U-Boot firmware images for x86_64 boards -BuildArch: noarch - -%description -n uboot-images-x86_64 -U-Boot firmware binaries for x86_64 boards -%endif %endif %prep -%autosetup -p1 -n u-boot-v%{version}%{?candidate:-%{candidate}} +%autosetup -p1 -n u-boot-%{version}%{?candidate:-%{candidate}} -cp %SOURCE1 %SOURCE2 %SOURCE3 . +cp %SOURCE1 . %build mkdir builds @@ -133,67 +79,50 @@ mkdir builds %make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-all O=builds/ %if %{with toolsonly} -# OpenSBI firmware is distributed in U-Boot SPL images -%ifarch riscv64 -export OPENSBI=%{_datadir}/%{opensbi}/generic/firmware/fw_dynamic.bin -%endif - -%ifarch aarch64 riscv64 x86_64 +%ifarch aarch64 for board in $(cat %{_arch}-boards) do echo "Building board: $board" mkdir builds/$(echo $board)/ # ATF selection, needs improving, suggestions of ATF SoC to Board matrix welcome - sun50i=(a64-olinuxino a64-olinuxino-emmc amarula_a64_relic bananapi_m64 nanopi_a64 oceanic_5205_5inmfd orangepi_win pine64-lts pine64_plus pine64_plus pinebook pinephone pinephone pinetab sopine_baseboard teres_i) + sun50i=(a64-olinuxino amarula_a64_relic bananapi_m2_plus_h5 bananapi_m64 libretech_all_h3_cc_h5 nanopi_a64 nanopi_neo2 nanopi_neo_plus2 orangepi_pc2 orangepi_prime orangepi_win orangepi_zero_plus orangepi_zero_plus2 pine64-lts pine64_plus pinebook pinephone pinetab sopine_baseboard teres_i) if [[ " ${sun50i[*]} " == *" $board "* ]]; then echo "Board: $board using sun50i_a64" - cp /usr/share/arm-trusted-firmware/sun50i_a64/bl31.bin builds/$(echo $board)/atf-bl31 - cp /usr/share/crust-firmware/a64/scp.bin builds/$(echo $board)/ + cp /usr/share/arm-trusted-firmware/sun50i_a64/* builds/$(echo $board)/ fi - sun50h5=(bananapi_m2_plus_h5 emlid_neutis_n5_devboard libretech_all_h3_cc_h5 libretech_all_h3_it_h5 libretech_all_h5_cc_h5 nanopi_neo2 nanopi_neo_plus2 nanopi_r1s_h5 orangepi_pc2 orangepi_prime orangepi_zero_plus2 orangepi_zero_plus) - if [[ " ${sun50h5[*]} " == *" $board "* ]]; then - echo "Board: $board using sun50i_h6" - cp /usr/share/arm-trusted-firmware/sun50i_a64/bl31.bin builds/$(echo $board)/atf-bl31 - cp /usr/share/crust-firmware/h5/scp.bin builds/$(echo $board)/ - fi - sun50h6=(beelink_gs1 emlid_neutis_n5_devboard orangepi_3 orangepi_lite2 orangepi_one_plus pine_h64 tanix_tx6) + sun50h6=(beelink_gs1 orangepi_3 orangepi_lite2 orangepi_one_plus orangepi_zero2 pine_h64 tanix_tx6) if [[ " ${sun50h6[*]} " == *" $board "* ]]; then echo "Board: $board using sun50i_h6" - cp /usr/share/arm-trusted-firmware/sun50i_h6/bl31.bin builds/$(echo $board)/atf-bl31 - cp /usr/share/crust-firmware/h6/scp.bin builds/$(echo $board)/ + cp /usr/share/arm-trusted-firmware/sun50i_h6/* builds/$(echo $board)/ fi - sun50i_h616=(anbernic_rg35xx_h700 orangepi_zero2 orangepi_zero2w orangepi_zero3 transpeed-8k618-t x96_mate) - if [[ " ${sun50i_h616[*]} " == *" $board "* ]]; then - echo "Board: $board using sun50i_h616" - cp /usr/share/arm-trusted-firmware/sun50i_h616/bl31.bin builds/$(echo $board)/atf-bl31 - fi - rk3328=(evb-rk3328 generic-rk3328 nanopi-r2c-plus-rk3328 nanopi-r2c-rk3328 nanopi-r2s-rk3328 nanopi-r2s-plus-rk3328 orangepi-r1-plus-lts-rk3328 orangepi-r1-plus-rk3328 roc-cc-rk3328 rock64-rk3328 rock-pi-e-rk3328 rock-pi-e-v3-rk3328) + rk3328=(evb-rk3328 nanopi-r2s-rk3328 rock64-rk3328 rock-pi-e-rk3328 roc-cc-rk3328) if [[ " ${rk3328[*]} " == *" $board "* ]]; then echo "Board: $board using rk3328" cp /usr/share/arm-trusted-firmware/rk3328/bl31.elf builds/$(echo $board)/atf-bl31 fi - rk3368=(evb-px5 geekbox) - if [[ " ${rk3368[*]} " == *" $board "* ]]; then - echo "Board: $board using rk3368" - cp /usr/share/arm-trusted-firmware/rk3368/bl31.elf builds/$(echo $board)/atf-bl31 - fi - rk3399=(eaidk-610-rk3399 evb-rk3399 ficus-rk3399 firefly-rk3399 generic-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 leez-rk3399 nanopc-t4-rk3399 nanopi-m4-2gb-rk3399 nanopi-m4b-rk3399 nanopi-m4-rk3399 nanopi-neo4-rk3399 nanopi-r4s-rk3399 orangepi-rk3399 pinebook-pro-rk3399 pinephone-pro-rk3399 puma-rk3399 rock-4c-plus-rk3399 rock-4se-rk3399 rock960-rk3399 rock-pi-4c-rk3399 rock-pi-4-rk3399 rock-pi-n10-rk3399pro rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399) + rk3399=(evb-rk3399 ficus-rk3399 firefly-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 leez-rk3399 nanopc-t4-rk3399 nanopi-m4-2gb-rk3399 nanopi-m4b-rk3399 nanopi-m4-rk3399 nanopi-neo4-rk3399 nanopi-r4s-rk3399 orangepi-rk3399 pinebook-pro-rk3399 pinephone-pro-rk3399 puma-rk3399 rock960-rk3399 rock-pi-4c-rk3399 rock-pi-4-rk3399 rock-pi-n10-rk3399pro rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399 eaidk-610-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)/ + BINMAN_ALLOW_MISSING=1 make $(echo $board)_defconfig O=builds/$(echo $board)/ + BINMAN_ALLOW_MISSING=1 %make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/ + # build spi images for rockchip boards with SPI flash + rkspi=(rock64-rk3328) + if [[ " ${rkspi[*]} " == *" $board "* ]]; then + echo "Board: $board with SPI flash" + builds/$(echo $board)/tools/mkimage -n rk3328 -T rkspi -d builds/$(echo $board)/tpl/u-boot-tpl.bin:builds/$(echo $board)/spl/u-boot-spl.bin builds/$(echo $board)/idbloader.spi + fi + rkspi=(evb-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 nanopc-t4-rk3399 pinebook-pro-rk3399 pinephone-pro-rk3399 rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399) + if [[ " ${rkspi[*]} " == *" $board "* ]]; then + echo "Board: $board with SPI flash" + builds/$(echo $board)/tools/mkimage -n rk3399 -T rkspi -d builds/$(echo $board)/tpl/u-boot-tpl.bin:builds/$(echo $board)/spl/u-boot-spl.bin builds/$(echo $board)/idbloader.spi + fi done %endif @@ -208,366 +137,417 @@ mkdir -p %{buildroot}%{_datadir}/uboot/ %ifarch aarch64 for board in $(ls builds) do - for file in u-boot.bin u-boot.img u-boot-dtb.img u-boot-sunxi-with-spl.bin u-boot-rockchip-spi.bin u-boot-rockchip.bin + mkdir -p %{buildroot}%{_datadir}/uboot/$(echo $board)/ + for file in u-boot.bin u-boot.dtb u-boot.img u-boot-dtb.img u-boot.itb u-boot-sunxi-with-spl.bin u-boot-rockchip.bin idbloader.img idbloader.spi spl/boot.bin spl/sunxi-spl.bin do if [ -f builds/$(echo $board)/$(echo $file) ]; then - install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file) + install -p -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/ fi done done -# Just for xilinx_zynqmp -for board in "xilinx_zynqmp_kria xilinx_zynqmp_virt" -do - for file in u-boot.itb spl/boot.bin - do - if [ -f builds/$(echo $board)/$(echo $file) ]; then - install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file) - fi - done -done - -# For Apple M-series we also need the nodtb variant -install -pD -m 0644 builds/apple_m1/u-boot-nodtb.bin %{buildroot}%{_datadir}/uboot/apple_m1/u-boot-nodtb.bin -%endif - -%ifarch riscv64 -for board in $(ls builds) -do - for file in u-boot.itb spl/u-boot-spl.bin spl/u-boot-spl.bin.normal.out - do - if [ -f builds/$(echo $board)/$(echo $file) ]; then - install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file) - fi - done -done -%endif - -%ifarch x86_64 -for board in $(ls builds) -do - for file in u-boot.rom - do - if [ -f builds/$(echo $board)/$(echo $file) ]; then - install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file) - fi - done -done +# For Apple M1 we also need the nodtb variant +install -p -m 0644 builds/apple_m1/u-boot-nodtb.bin %{buildroot}%{_datadir}/uboot/apple_m1/u-boot-nodtb.bin %endif # Bit of a hack to remove binaries we don't use as they're large +%ifarch aarch64 for board in $(ls builds) do rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.dtb if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-sunxi-with-spl.bin ]; then rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.* fi - if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-rockchip.bin ]; then - rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.* + if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/MLO ]; then + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin + fi + if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/SPL ]; then + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin + fi + if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.imx ]; then + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin + fi + if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-spl.kwb ]; then + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.* + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-spl.bin + fi + if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/idbloader.img ]; then + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.bin + rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.img fi done %endif +%endif -for tool in dumpimage env/fw_printenv fdt_add_pubkey fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc ifwitool img2srec kwboot mkeficapsule mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder +for tool in dumpimage env/fw_printenv fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc ifwitool img2srec kwboot mkeficapsule mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder do install -p -m 0755 builds/tools/$tool %{buildroot}%{_bindir} done -for tool in dumpimage kwboot mkeficapsule mkimage -do -install -p -m 0644 doc/$tool.1 %{buildroot}%{_mandir}/man1 -done +install -p -m 0644 doc/mkimage.1 %{buildroot}%{_mandir}/man1 install -p -m 0755 builds/tools/env/fw_printenv %{buildroot}%{_bindir} ( cd %{buildroot}%{_bindir}; ln -sf fw_printenv fw_setenv ) +# Copy some useful docs over +mkdir -p builds/docs +cp -p board/hisilicon/hikey/README builds/docs/README.hikey +cp -p board/rockchip/evb_rk3399/README builds/docs/README.evb_rk3399 +cp -p board/sunxi/README.sunxi64 builds/docs/README.sunxi64 +cp -p board/sunxi/README.nand builds/docs/README.sunxi-nand + %files -%license Licenses/* %doc README doc/develop/distro.rst doc/README.gpt -%doc doc/develop/uefi doc/usage doc/arch/arm64.rst +%doc doc/README.rockchip doc/develop/uefi doc/uImage.FIT doc/arch/arm64.rst +%doc builds/docs/* doc/board/amlogic/ doc/board/rockchip/ %{_bindir}/* -%{_mandir}/man1/dumpimage.1* -%{_mandir}/man1/kwboot.1* -%{_mandir}/man1/mkeficapsule.1* %{_mandir}/man1/mkimage.1* +%dir %{_datadir}/uboot/ %if %{with toolsonly} %ifarch aarch64 %files -n uboot-images-armv8 -%license Licenses/* -%dir %{_datadir}/uboot/ -%{_datadir}/uboot/* -%endif - -%ifarch riscv64 -%files -n uboot-images-riscv64 -%license Licenses/* -%dir %{_datadir}/uboot/ -%{_datadir}/uboot/* -%endif - -%ifarch x86_64 -%files -n uboot-images-x86_64 -%license Licenses/* -%dir %{_datadir}/uboot/ %{_datadir}/uboot/* %endif %endif %changelog -* Thu Aug 27 2026 Peter Robinson - 1:2026.10-0.3.rc3 -- Update to 2026.10 RC3 +* Sun Jun 11 2023 Peter Robinson - 2023.04-2 +- Fixes for the Pinephone Pro -* Wed Aug 12 2026 Peter Robinson - 1:2026.10-0.2.rc2 -- Update to 2026.10 RC2 +* Tue Apr 04 2023 Peter Robinson - 2023.04-1 +- Update to 2023.04 GA -* Thu Jul 30 2026 Peter Robinson - 1:2026.10-0.1.rc1 -- Update to 2026.10 RC1 -- Update source URL +* Tue Mar 28 2023 Peter Robinson - 2023.04-0.4.rc5 +- Update to 2023.04 RC5 +- Drop upstreamed patches +- Rockchip boot fixes -* Fri Jul 17 2026 Fedora Release Engineering - 1:2026.07-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild +* Tue Mar 14 2023 Peter Robinson - 2023.04-0.3.rc4 +- Update to 2023.04 RC4 -* Tue Jul 07 2026 Peter Robinson - 1:2026.07-1 -- Update to 2026.07 GA +* Fri Feb 17 2023 Peter Robinson - 2023.04-0.2.rc2 +- Update to 2023.04 RC2 -* Tue Jun 23 2026 Peter Robinson - 1:2026.07-0.4.rc5 -- Update to 2026.07 RC5 +* Tue Jan 31 2023 Peter Robinson - 2023.04-0.1.rc1 +- Update to 2023.04 RC1 +- Drop bmp_logo tool -* Mon Jun 08 2026 Peter Robinson - 1:2026.07-0.3.rc4 -- Update to 2026.07 RC4 +* Sat Jan 21 2023 Fedora Release Engineering - 2023.01-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild -* Fri May 29 2026 Peter Robinson - 1:2026.07-0.2.rc3 -- Update to 2026.07 RC3 -- Update U-Boot Project URL -- Update RPi PCIe patches -- Various RPi fixes +* Wed Jan 18 2023 Peter Robinson - 2023.01-1 +- Update to 2023.01 GA -* Fri May 01 2026 Peter Robinson - 1:2026.07-0.1.rc1 -- Update to 2026.07 RC1 +* Sat Dec 31 2022 Peter Robinson - 2023.01-0.4.rc4 +- Update PinePhone Pro to latest rev -* Sat Apr 11 2026 Peter Robinson - 1:2026.04-2 -- Fix PCIe/USB on Raspberry Pi 4 (rhbz#2448365) -- Fix detection of some revisions of RPi5 +* Tue Dec 20 2022 Peter Robinson - 2023.01-0.3.rc4 +- Update to 2023.01 RC4 -* Tue Apr 07 2026 Peter Robinson - 1:2026.04-1 -- Update to 2026.04 GA +* Mon Dec 05 2022 Peter Robinson - 2023.01-0.2.rc3 +- Update to 2023.01 RC3 -* Sun Mar 29 2026 Peter Robinson - 1:2026.04-0.9.rc5 -- Enable NVME booting on RPi5 +* Thu Nov 24 2022 Peter Robinson - 2023.01-0.1.rc2 +- Update to U-Boot 2023.01 RC2 +- Update Pinephone Pro patches -* Tue Mar 24 2026 Peter Robinson - 1:2026.04-0.8.rc5 -- Update to 2026.04 RC5 +* Mon Oct 10 2022 Peter Robinson - 2022.10-1 +- Update to 2022.10 GA -* Sat Mar 14 2026 Peter Robinson - 1:2026.04-0.7.rc4 -- Raspberry Pi fixes +* Tue Sep 06 2022 Peter Robinson - 2022.10-0.6.rc4 +- Update SMBIOS patch -* Tue Mar 10 2026 Peter Robinson - 1:2026.04-0.6.rc4 -- Update to 2026.04 RC4 +* Tue Sep 06 2022 Peter Robinson - 2022.10-0.5.rc4 +- Update to 2022.10 RC4 +- Fix for booting Rockchip devices from NVME -* Fri Feb 27 2026 Peter Robinson - 1:2026.04-0.5.rc3 -- Update to 2026.04 RC3 +* Tue Aug 23 2022 Peter Robinson - 2022.10-0.4.rc3 +- Update to 2022.10 RC3 -* Tue Feb 17 2026 Peter Robinson - 1:2026.04-0.4.rc2 -- Add initial bcm2712d0 identification +* Mon Aug 22 2022 Davide Cavalca - 2022.10-0.3.rc1 +- Install nodtb variant for Apple M1 (rhbz#2068958) -* Mon Feb 09 2026 Peter Robinson - 1:2026.04-0.3.rc2 -- Update to 2026.04 RC2 +* Tue Aug 16 2022 Peter Robinson - 2022.10-0.2.rc1 +- Fix for DT property propogation via firmware -* Tue Jan 27 2026 Peter Robinson - 1:2026.04-0.2.rc1 -- Update to 2026.04 RC1 +* Thu Jul 28 2022 Peter Robinson - 2022.10-0.1.rc1 +- Update to 2022.10 RC1 +- Enable LTO for firmware builds -* Mon Jan 19 2026 Javier Martinez Canillas - 1:2026.01-3 -- Add a uboot-images-x86_64 subpackage +* Sat Jul 23 2022 Fedora Release Engineering - 2022.07-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild -* Sat Jan 17 2026 Fedora Release Engineering - 1:2026.01-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild +* Sun Jul 17 2022 Peter Robinson - 2022.07-1 +- Update to 2022.07 GA -* Tue Jan 06 2026 Peter Robinson - 1:2026.01-1 -- Update to 2026.01 GA +* Mon Jul 04 2022 Peter Robinson - 2022.07-0.6.rc6 +- Update to 2022.07 RC6 -* Mon Dec 29 2025 Peter Robinson - 1:2026.01-0.4.rc5 -- Update to 2026.01 RC5 +* Mon Jun 20 2022 Peter Robinson - 2022.07-0.5.rc5 +- Update to 2022.07 RC5 -* Mon Dec 08 2025 Peter Robinson - 1:2026.01-0.3.rc4 -- Update to 2026.01 RC4 +* Sun Jun 12 2022 Peter Robinson - 2022.07-0.4.rc4 +- Update to 2022.07 RC4 +- Some minor Rockchips device fixes -* Fri Nov 28 2025 Peter Robinson - 1:2026.01-0.2.rc3 -- Updates for RPi +* Wed May 25 2022 Peter Robinson - 2022.07-0.3.rc3 +- Update to 2022.07 RC3 -* Mon Nov 24 2025 Peter Robinson - 1:2026.01-0.1.rc3 -- Update to 2026.01 RC3 +* Sat May 14 2022 Peter Robinson - 2022.07-0.2.rc2 +- Update to 2022.07 RC2 -* Thu Oct 16 2025 Peter Robinson - 1:2025.10-2 -- Drop residual Rockchip firmware (saves ~150Mb) +* Tue Apr 26 2022 Peter Robinson - 2022.07-0.1.rc1 +- Update to 2022.07 RC1 -* Mon Oct 13 2025 Peter Robinson - 1:2025.10-1 -- Update to 2025.10 GA (rhbz#2401964) -- Fix booting when using FW device-tree (rhbz#2402498) -- Fix for some variants of Raspberry Pi -- Fixes for Jetson device booting +* Mon Apr 04 2022 Peter Robinson - 2022.04-1 +- Update to 2022.04 GA -* Fri Sep 26 2025 Peter Robinson - 1:2025.10-0.7.rc5 -- Update to 2025.10 RC5 +* Mon Mar 28 2022 Peter Robinson - 2022.04-0.4.rc5 +- Update to 2022.04 RC5 -* Mon Sep 08 2025 Peter Robinson - 1:2025.10-0.6.rc4 -- Update to 2025.10 RC4 +* Tue Mar 08 2022 Peter Robinson - 2022.04-0.3.rc3 +- Update to 2022.04 RC3 +- Enable new Rockchip devices -* Sun Sep 07 2025 Peter Robinson - 1:2025.10-0.5.rc3 -- Boot fixes for some Raspberry Pi variants +* Tue Feb 15 2022 Peter Robinson - 2022.04-0.2.rc2 +- Update to 2022.04 RC2 -* Wed Aug 27 2025 Peter Robinson - 1:2025.10-0.4.rc3 -- Fix booting on some Allwinner devices +* Wed Feb 02 2022 Peter Robinson - 2022.04-0.1.rc1 +- Update to 2022.04 RC1 -* Mon Aug 25 2025 Peter Robinson - 1:2025.10-0.3.rc3 -- Update to 2025.10 RC3 +* Sat Jan 22 2022 Fedora Release Engineering - 2022.01-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild -* Tue Aug 19 2025 Peter Robinson - 1:2025.10-0.2.rc2 -- Fix and re-enable Jetson Nano +* Mon Jan 10 2022 Peter Robinson - 2022.01-1 +- Update to 2022.01 -* Mon Aug 18 2025 Peter Robinson - 1:2025.10-0.1.rc2 -- Update to 2025.10 RC2 +* Wed Jan 05 2022 Peter Robinson - 2022.01-0.3.rc4 +- Upstream fixes for PHY and UEFI -* Fri Jul 25 2025 Fedora Release Engineering - 1:2025.07-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild +* Mon Dec 20 2021 Peter Robinson - 2022.01-0.2.rc4 +- Update to 2022.01 RC4 -* Thu Jul 10 2025 Peter Robinson - 1:2025.07-2 -- Update patch for rebase issue +* Mon Nov 15 2021 Peter Robinson - 2022.01-0.1.rc2 +- Update to 2022.01 RC2 -* Wed Jul 09 2025 Peter Robinson - 1:2025.07-1 -- Update to 2025.07 GA +* Mon Nov 15 2021 Peter Robinson - 2021.10-3 +- Fixes for rk3399 devices -* Fri Jun 27 2025 Peter Robinson - 1:2025.07-0.5.rc5 -- Update to 2025.07 RC5 -- Enable LWIP stack by default -- Enable HTTP(s) boot support +* Thu Oct 14 2021 Peter Robinson - 2021.10-2 +- Fix booting from MMC for Rockchip 3399 (rhbz #2014182) +- Enable new rk3399 devices (Leez, NanoPi-M4B, NanoPi-4S, NanoPi-T4) (rhbz #2009126) -* Thu Jun 26 2025 Javier Martinez Canillas - 1:2025.07-0.4.rc4 -- Add EFI_PARTITION_INFO_PROTOCOL support +* Mon Oct 04 2021 Peter Robinson - 2021.10-1 +- Update to 2021.10 -* Sun Jun 15 2025 Peter Robinson - 1:2025.07-0.3.rc4 -- Update to 2025.07 RC4 +* Mon Sep 27 2021 Peter Robinson - 2021.10-0.7.rc5 +- Update to 2021.10 RC5 -* Tue May 13 2025 Peter Robinson - 1:2025.07-0.2.rc2 -- Update to 2025.07 RC2 +* Wed Sep 15 2021 Peter Robinson - 2021.10-0.6.rc4 +- Update to 2021.10 RC4 +- Proposed fix for RPi MMC clock issue -* Thu May 01 2025 Peter Robinson - 1:2025.07-0.1.rc1 -- Update to 2025.07 RC1 +* Tue Sep 14 2021 Sahana Prasad - 2021.10-0.6.rc3 +- Rebuilt with OpenSSL 3.0.0 -* Sun Apr 20 2025 Peter Robinson - 1:2025.04-2 -- Fix for RPi5 serial console +* Mon Aug 30 2021 Peter Robinson - 2021.10-0.5.rc3 +- Update to 2021.10 RC3 -* Tue Apr 08 2025 Peter Robinson - 1:2025.04-1 -- Update to 2025.04 GA +* Tue Aug 24 2021 Peter Robinson - 2021.10-0.4.rc2 +- Fix for Raspberry Pi firmware properties -* Tue Mar 25 2025 Peter Robinson - 1:2025.04-0.7.rc5 -- Update to 2025.04 RC5 +* Mon Aug 23 2021 Peter Robinson - 2021.10-0.3.rc2 +- Fix for rockchip SPI -* Wed Mar 12 2025 Peter Robinson - 1:2025.04-0.6.rc4 -- Update to 2025.04 RC4 +* Mon Aug 16 2021 Peter Robinson - 2021.10-0.2.rc2 +- Update to 2021.10 RC2 -* Wed Feb 26 2025 Peter Robinson - 1:2025.04-0.5.rc3 -- Update to 2025.04 RC3 +* Sun Aug 08 2021 Peter Robinson - 2021.10-0.1.rc1 +- Update to 2021.10 RC1 -* Tue Feb 18 2025 David Abdurachmanov - 1:2025.04-0.4.rc2 -- Add support for riscv64 +* Thu Jul 22 2021 Peter Robinson - 2021.07-2 +- Fix regression for Rockchip devices running firmware from SPI flash -* Tue Feb 11 2025 Peter Robinson - 1:2025.04-0.3.rc2 -- Update to 2025.05 RC2 +* Mon Jul 05 2021 Peter Robinson - 2021.07-1 +- Update to 2021.07 GA -* Tue Feb 11 2025 Peter Robinson - 1:2025.04-0.2.rc1 -- Update to 2025.05 RC1 +* Mon Jun 28 2021 Peter Robinson - 2021.07-0.6.rc5 +- Update to 2021.07 RC5 +- Build SPI fash images for ROC-PC-RK3399 -* Tue Jan 28 2025 Peter Robinson - 1:2025.01-3 -- Add new fdt_add_pubkey tool +* Mon Jun 07 2021 Peter Robinson - 2021.07-0.5.rc4 +- Update to 2021.07 RC4 -* Sun Jan 19 2025 Fedora Release Engineering - 1:2025.01-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild +* Sat Jun 05 2021 Peter Robinson - 2021.07-0.4.rc3 +- Fix AllWinner devices booting from mSD/MMC -* Tue Jan 07 2025 Peter Robinson - 1:2025.01-1 -- Update to 2025.01 GA +* Tue May 25 2021 Peter Robinson - 2021.07-0.3.rc3 +- Update to 2021.07 RC3 +- Build against ATF 2.5 GA -* Mon Jan 06 2025 Peter Robinson - 1:2025.01-0.2.rc6 -- Rebuild for TF-A 2.12 +* Thu May 13 2021 Peter Robinson - 2021.07-0.2.rc2 +- Build against new ATF 2.5-rc1 -* Tue Dec 31 2024 Peter Robinson - 1:2025.01-0.1.rc6 -- Update to 2025.01 RC6 +* Mon May 10 2021 Peter Robinson - 2021.07-0.1.rc2 +- Update to 2021.07 RC2 -* Fri Oct 11 2024 Peter Robinson - 1:2024.10-1 -- Update to 2024.10 GA -- Fix passing RPi firmware CMA setting to kernel DT -- Update Geekbox +* Wed Apr 28 2021 Peter Robinson - 2021.04-3 +- Upstream fix for console regression (rhbz 1946278) +- Fix for fallback.efi crash (rhbz 1733817) -* Thu Oct 03 2024 Peter Robinson - 1:2024.10-0.8.rc6 -- Pass CMA FW setting through to kernel DT for Raspberry Pi +* Wed Apr 21 2021 Peter Robinson - 2021.04-2 +- Revert keyboard console regression change (rhbz 1946278) -* Tue Oct 01 2024 Peter Robinson - 1:2024.10-0.7.rc6 -- Update to 2024.10 RC6 +* Sun Apr 18 2021 Peter Robinson - 2021.04-1 +- Update to 2021.04 GA +- Fix DTB load check (rhbz 1946278) +- Build Rockchip SPI support as idbloader.spi +- Fixes for Rockchip devices +- Build Turris Omnia for MMC/SPI/UART -* Mon Sep 16 2024 Peter Robinson - 1:2024.10-0.6.rc5 -- Update to 2024.10 RC5 +* Wed Mar 17 2021 Peter Robinson - 2021.04-0.6.rc4 +- Update to 2021.04 RC4 +- Move to upstream fix for SMP on RPi3B and RPi3B+ -* Fri Sep 6 2024 Peter Robinson - 1:2024.10-0.5.rc4 -- Add missing licenses directory +* Sat Mar 13 2021 Peter Robinson - 2021.04-0.5.rc3 +- Fix for SMP on RPi3B and RPi3B+ +- Initial support for Pinephone 3Gb edition -* Tue Sep 03 2024 Peter Robinson - 1:2024.10-0.4.rc4 -- Update to 2024.10 RC4 +* Mon Mar 08 2021 Peter Robinson - 2021.04-0.4.rc3 +- Update to 2021.04 RC3 -* Mon Sep 02 2024 Peter Robinson - 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 Feb 16 2021 Peter Robinson - 2021.04-0.3.rc2 +- Update to 2021.04 RC2 -* Tue Aug 27 2024 Peter Robinson - 1:2024.10-0.2.rc3 -- Update to 2024.10 RC3 -- Enable initial QCM6490 SoC support +* Mon Feb 15 2021 Dennis Gilmore +- build spi and uart images in addition to mmc for helios4 and clearfog -* Thu Aug 15 2024 Peter Robinson - 1:2024.10-0.1.rc2 -- Update to 2024.10 RC2 +* Wed Feb 10 2021 Peter Robinson - 2021.04-0.2.rc1 +- Fixes for network issues on some Allwinner devices -* Tue Jul 23 2024 Peter Robinson - 1:2024.07-1 -- Update to 2024.07 +* Mon Feb 01 2021 Peter Robinson - 2021.04-0.1.rc1 +- Update to 2021.04 RC1 +- Add new upstream devices -* Sat Jul 20 2024 Fedora Release Engineering - 1:2024.07-0.3.rc4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild +* Wed Jan 27 2021 Fedora Release Engineering - 2021.01-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild -* Tue Jun 18 2024 Peter Robinson - 1:2024.07-0.2.rc4 -- Update to 2024.07 RC4 +* Mon Jan 11 2021 Peter Robinson - 2021.01-1 +- Update to 2021.01 GA +- Updates for Raspberry Pi 4 Series of devices -* Sat May 25 2024 Peter Robinson - 1:2024.07-0.1.rc3 -- Update to 2024.07 RC3 +* Tue Jan 5 2021 Peter Robinson - 2021.01-0.5.rc5 +- Update to 2021.01 RC5 -* Wed Apr 03 2024 Peter Robinson - 1:2024.04-1 -- Update to 2024.04 GA -- Rockchip rk3328 USB fixes +* Sun Dec 27 2020 Peter Robinson - 2021.01-0.4.rc4 +- Update to 2021.01 RC4 +- Latest RPi-400/CM4 support patch -* Wed Mar 27 2024 Peter Robinson - 1:2024.04-0.8.rc5 -- Update to 2024.04 RC5 +* Tue Dec 15 2020 Peter Robinson - 2021.01-0.3.rc3 +- Update to 2021.01 RC3 +- Latest RPi-400/CM4 support patch +- Re-enable previously disabled device support -* Thu Mar 21 2024 Peter Robinson - 1:2024.04-0.7.rc4 -- Updated patch for DTB loading +* Mon Dec 14 2020 Javier Martinez Canillas - 2021.01-0.2.rc2 +- Fix a "scan_dev_for_efi" not defined error -* Fri Mar 15 2024 Peter Robinson - 1:2024.04-0.6.rc4 -- Updated fix for FDT load +* Sun Nov 22 2020 Peter Robinson - 2021.01-0.1.rc2 +- Update to 2021.01 RC2 +- Latest Pinebook Pro display patches +- Initial RPi-400 support patch +- Update Fedora specific patches -* Wed Mar 13 2024 Peter Robinson - 1:2024.04-0.5.rc4 -- Fixes for Rockchip rk3399 autoboot +* Sun Nov 8 2020 Peter Robinson - 2020.10-3 +- Fix SPI on Rockchip devices +- Latest Pinebook Pro display patches +- Fix Keyboard and USB-A ports on Pinebook Pro -* Tue Mar 12 2024 Peter Robinson - 1:2024.04-0.4.rc4 -- Update to 2024.04 RC4 -- Initial fix for loading DT off /boot (rhbz 2247873) +* Wed Oct 28 2020 Peter Robinson - 2020.10-2 +- Fix kernel installs for non EBBR systems +- Fix for wired networks on some Allwinner devices -* Thu Feb 29 2024 Peter Robinson - 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 +* Tue Oct 06 2020 Peter Robinson - 2020.10-1 +- Update to 2020.10 -* Wed Feb 14 2024 Peter Robinson - 1:2024.04-0.2.rc2 -- Update to 2024.04 RC2 +* Sun Sep 27 2020 Peter Robinson - 2020.10-0.6.rc5 +- Initial support for display output on Pinebook Pro -* Sat Jan 27 2024 Fedora Release Engineering - 1:2024.01-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild +* Tue Sep 22 2020 Peter Robinson - 2020.10-0.5.rc5 +- Update to 2020.10 RC5 -* Mon Jan 08 2024 Peter Robinson - 1:2024.01-1 -- Update to 2024.01 +* Wed Sep 09 2020 Peter Robinson - 2020.10-0.4.rc4 +- Update to 2020.10 RC4 + +* Wed Aug 19 2020 Peter Robinson - 2020.10-0.3.rc2 +- Enable a number of new Rockchip devices + +* Mon Aug 10 2020 Peter Robinson - 2020.10-0.2.rc2 +- Update to 2020.10 RC2 + +* Tue Jul 28 2020 Peter Robinson - 2020.10-0.1.rc1 +- 2020.10 RC1 + +* Tue Jul 14 2020 Tom Stellard - 2020.07-2 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Mon Jul 06 2020 Peter Robinson - 2020.07-1 +- 2020.07 GA + +* Tue Jun 23 2020 Peter Robinson - 2020.07-0.5.rc5 +- 2020.07 RC5 + +* Thu Jun 18 2020 Peter Robinson - 2020.07-0.4.rc4 +- Update various patches to latest upstream + +* Wed Jun 10 2020 Peter Robinson - 2020.07-0.3.rc4 +- 2020.07 RC4 +- Minor updates and other fixes + +* Tue May 12 2020 Peter Robinson - 2020.07-0.2.rc2 +- 2020.07 RC2 +- Minor device updates + +* Wed Apr 29 2020 Peter Robinson - 2020.07-0.1.rc1 +- 2020.07 RC1 + +* Tue Apr 21 2020 Peter Robinson - 2020.04-4 +- Initial support for USB on Rasperry Pi 4 + +* Tue Apr 21 2020 Peter Robinson - 2020.04-3 +- Ship u-boot-rockchip.bin for SPI flash + +* Mon Apr 20 2020 Peter Robinson - 2020.04-2 +- Fix ATF for new aarch64 devices +- Fix Wandboard board detection (rhbz 1825247) +- Fix mSD card on RockPro64 +- Enable (inital) Pinebook Pro + +* Tue Apr 14 2020 Peter Robinson - 2020.04-1 +- 2020.04 + +* Tue Apr 7 2020 Peter Robinson 2020.04-0.7-rc5 +- 2020.04 RC5 + +* Tue Mar 31 2020 Peter Robinson 2020.04-0.6-rc4 +- 2020.04 RC4 +- Updates for NVIDIA Jetson platforms +- Support RNG for random seed for KASLR on some Rockchip devices + +* Thu Mar 26 2020 Peter Robinson 2020.04-0.5-rc3 +- Fix ext4 alignment issue seen on some NXP i.MX devices + +* Wed Feb 26 2020 Peter Robinson 2020.04-0.4-rc3 +- 2020.04 RC3 + +* Thu Feb 13 2020 Peter Robinson 2020.04-0.3-rc2 +- 2020.04 RC2 + +* Sun Feb 2 2020 Peter Robinson 2020.04-0.2-rc1 +- Update genet NIC driver + +* Wed Jan 29 2020 Peter Robinson 2020.04-0.1-rc1 +- 2020.04 RC1 + +* Tue Jan 7 2020 Peter Robinson 2020.01-1 +- 2020.01 diff --git a/uefi-Add-all-options-for-EFI-System-Partitions.patch b/uefi-Add-all-options-for-EFI-System-Partitions.patch deleted file mode 100644 index 3bf1ec8..0000000 --- a/uefi-Add-all-options-for-EFI-System-Partitions.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 86782e882e9542f5f402e00cd87efb36ad0552d3 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 ---- - -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 - diff --git a/uefi-enable-SetVariableRT-with-volotile-storage.patch b/uefi-enable-SetVariableRT-with-volotile-storage.patch deleted file mode 100644 index ee9bcf4..0000000 --- a/uefi-enable-SetVariableRT-with-volotile-storage.patch +++ /dev/null @@ -1,33 +0,0 @@ -From fd736dd720b29fa69a4bb87492f3f94dc6076996 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Tue, 25 Mar 2025 17:13:44 +0000 -Subject: [PATCH] efi: enable SetVariableRT with volotile storage - -Signed-off-by: Peter Robinson ---- - 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 - diff --git a/uefi-enable-https-boot-by-default.patch b/uefi-enable-https-boot-by-default.patch deleted file mode 100644 index dc0a683..0000000 --- a/uefi-enable-https-boot-by-default.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 7eabab2fda12b7a4417e5c7f29a507dfa9e7fffd Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Sun, 3 May 2026 09:24:34 +0100 -Subject: [PATCH] enable https boot by default - -Signed-off-by: Peter Robinson ---- - 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 - diff --git a/uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch b/uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch deleted file mode 100644 index ac58bad..0000000 --- a/uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch +++ /dev/null @@ -1,190 +0,0 @@ -From 56a985cec8592a8de88e7f254df82f5d444a5ecc Mon Sep 17 00:00:00 2001 -From: Peter Robinson -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 ---- - 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 - #include - #include -+#include - #include - #include - #include -@@ -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 - diff --git a/x86_64-boards b/x86_64-boards deleted file mode 100644 index dec8df3..0000000 --- a/x86_64-boards +++ /dev/null @@ -1 +0,0 @@ -qemu-x86_64