Compare commits

...
Sign in to create a new pull request.

4 commits

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

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,10 +1,14 @@
From 02513d9ecc38d11ffc051ed59529e11f82164785 Mon Sep 17 00:00:00 2001
From d9e3a49bc2a29922da5bddd95772279f6edba802 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Fri, 18 Aug 2023 13:28:05 +0100
Subject: [PATCH] disable VBE by default
Fedora doesn't support the VBE boot method, disable it
to reduce size and remove a possible boot attack vector.
The VBE protocol needs explicit device support and as
such isn't particularly useful by itself without that,
it also adds size and the potential of an attack vector
so devices that wish to use this protocol should
explicitly opt in to it like all other large features
in U-Boot.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
@ -12,10 +16,10 @@ Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
1 file changed, 1 deletion(-)
diff --git a/boot/Kconfig b/boot/Kconfig
index e8fb03b8016..467b09e2350 100644
index 30eb5b328d7..e8c3fbcb11d 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -526,7 +526,6 @@ config BOOTMETH_EFILOADER
@@ -635,7 +635,6 @@ config BOOTMETH_QFW
config BOOTMETH_VBE
bool "Bootdev support for Verified Boot for Embedded"
depends on FIT
@ -24,5 +28,5 @@ index e8fb03b8016..467b09e2350 100644
select EVENT
help
--
2.41.0
2.49.0

14
rk3566-boards Normal file
View file

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

Binary file not shown.

11
rk3568-boards Normal file
View file

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

Binary file not shown.

27
rk3588-boards Normal file
View file

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

Binary file not shown.

View file

@ -1,189 +0,0 @@
From 45d8808e95ddf0702ed78acde7678291ae52abdb Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Fri, 11 Oct 2024 17:14:26 +0100
Subject: [PATCH] configs: rockchip: Modernise Geekbox config
Modernise and move the Geekbox config to use SPL/TPL with
upstream TF-A, enable MMC/USB/Eth to make the device more
useful and work like other Rockchip devices. Update the
readme to reflect the changes to the build process.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
arch/arm/dts/rk3368-geekbox-u-boot.dtsi | 10 ++++
board/geekbuying/geekbox/README | 40 +++++++++++++-
configs/geekbox_defconfig | 71 ++++++++++++++++++++++++-
3 files changed, 118 insertions(+), 3 deletions(-)
diff --git a/arch/arm/dts/rk3368-geekbox-u-boot.dtsi b/arch/arm/dts/rk3368-geekbox-u-boot.dtsi
index cfc8b9340a8..55d007f7ab8 100644
--- a/arch/arm/dts/rk3368-geekbox-u-boot.dtsi
+++ b/arch/arm/dts/rk3368-geekbox-u-boot.dtsi
@@ -26,6 +26,16 @@
bootph-all;
};
+&dmc {
+ bootph-all;
+
+ rockchip,memory-schedule = <DMC_MSCH_CBDR>;
+ rockchip,ddr-frequency = <800000000>;
+ rockchip,ddr-speed-bin = <DDR3_1600K>;
+
+ status = "okay";
+};
+
&grf {
bootph-all;
};
diff --git a/board/geekbuying/geekbox/README b/board/geekbuying/geekbox/README
index de980f2f233..bd4d8cdd084 100644
--- a/board/geekbuying/geekbox/README
+++ b/board/geekbuying/geekbox/README
@@ -1 +1,39 @@
-see board/rockchip/sheep_rk3368/README
+Here is the step-by-step to boot to U-Boot on the Geekbox
+
+Get the Source and build ATF
+============================
+
+ > git clone https://github.com/TrustedFirmware-A/trusted-firmware-a.git
+ > cd arm-trusted-firmware
+ > make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3368 bl31
+
+Configure U-Boot
+================
+
+ > cd ../u-boot
+ > export BL31=../arm-trusted-firmware/build/rk3368/release/bl31.bin
+ > make geekbox_defconfig
+
+Build the full U-Boot/ATF firmware stack
+========================================
+
+ > make CROSS_COMPILE=aarch64-unknown-elf-
+
+Flash the image
+===============
+
+Copy the SPL to offset 32k and the FIT image containing the payloads
+(U-Boot proper, ATF, devicetree) to offset 256k card.
+
+eMMC
+----
+
+rkdeveloptool allows to flash the on-board eMMC via the USB OTG interface with
+help of the Rockchip loader binary.
+
+ > git clone https://github.com/rockchip-linux/rkdeveloptool
+ > cd rkdeveloptool
+ > autoreconf -i && && ./configure && make
+ > git clone https://github.com/rockchip-linux/rkbin.git
+ > ./rkdeveloptool db rkbin/rk33/rk3368_loader_v2.00.256.bin
+ > ./rkdeveloptool wl 64 ../u-boot-rockchip.bin
diff --git a/configs/geekbox_defconfig b/configs/geekbox_defconfig
index 8f4be79831a..1b116fa8602 100644
--- a/configs/geekbox_defconfig
+++ b/configs/geekbox_defconfig
@@ -3,29 +3,96 @@ CONFIG_SKIP_LOWLEVEL_INIT=y
CONFIG_COUNTER_FREQUENCY=24000000
CONFIG_ARCH_ROCKCHIP=y
CONFIG_TEXT_BASE=0x00200000
-CONFIG_SYS_MALLOC_F_LEN=0x1000
CONFIG_NR_DRAM_BANKS=1
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x300000
CONFIG_DEFAULT_DEVICE_TREE="rk3368-geekbox"
+CONFIG_SPL_TEXT_BASE=0x00000000
CONFIG_ROCKCHIP_RK3368=y
+CONFIG_TPL_LIBCOMMON_SUPPORT=y
+CONFIG_TPL_LIBGENERIC_SUPPORT=y
+CONFIG_SPL_DRIVERS_MISC=y
+CONFIG_SPL_STACK=0x188000
+CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
+CONFIG_SPL_BSS_START_ADDR=0x400000
+CONFIG_SPL_BSS_MAX_SIZE=0x20000
+CONFIG_SPL_STACK_R=y
+CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x4000
+CONFIG_SPL=y
CONFIG_TARGET_GEEKBOX=y
CONFIG_DEBUG_UART_BASE=0xFF690000
CONFIG_DEBUG_UART_CLOCK=24000000
CONFIG_SYS_LOAD_ADDR=0x800800
CONFIG_DEBUG_UART=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_SPL_LOAD_FIT=y
CONFIG_DEFAULT_FDT_FILE="rockchip/rk3368-geekbox.dtb"
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_SPL_MAX_SIZE=0x40000
+CONFIG_SPL_PAD_TO=0x7f8000
+CONFIG_SPL_BOOTROM_SUPPORT=y
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
+# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set
+CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x200
+CONFIG_SPL_ATF=y
+CONFIG_TPL=y
+CONFIG_TPL_SYS_MALLOC_SIMPLE=y
+CONFIG_TPL_DRIVERS_MISC=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_REGULATOR=y
+CONFIG_CMD_USB=y
+CONFIG_SPL_OF_CONTROL=y
+CONFIG_TPL_OF_CONTROL=y
+CONFIG_OF_LIVE=y
+CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent"
+CONFIG_TPL_OF_PLATDATA=y
+CONFIG_ENV_IS_IN_MMC=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
+CONFIG_NET_RANDOM_ETHADDR=y
+CONFIG_TPL_DM=y
CONFIG_REGMAP=y
+CONFIG_SPL_REGMAP=y
+CONFIG_TPL_REGMAP=y
CONFIG_SYSCON=y
-CONFIG_BOUNCE_BUFFER=y
+CONFIG_SPL_SYSCON=y
+CONFIG_TPL_SYSCON=y
CONFIG_CLK=y
+CONFIG_SPL_CLK=y
+CONFIG_TPL_CLK=y
+CONFIG_ROCKCHIP_GPIO=y
+CONFIG_SYS_I2C_ROCKCHIP=y
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_PINCTRL=y
+CONFIG_PHY_REALTEK=y
+CONFIG_DM_ETH_PHY=y
+CONFIG_ETH_DESIGNWARE=y
+CONFIG_RGMII=y
+CONFIG_GMAC_ROCKCHIP=y
+CONFIG_PINCTRL=y
+CONFIG_SPL_PINCTRL=y
+CONFIG_DM_PMIC=y
+CONFIG_PMIC_RK8XX=y
+CONFIG_DM_REGULATOR_FIXED=y
+CONFIG_REGULATOR_RK8XX=y
CONFIG_RAM=y
+CONFIG_SPL_RAM=y
+CONFIG_TPL_RAM=y
CONFIG_DEBUG_UART_SHIFT=2
CONFIG_DEBUG_UART_ANNOUNCE=y
CONFIG_SYS_NS16550_MEM32=y
+CONFIG_SYSINFO=y
+CONFIG_SYSINFO_SMBIOS=y
CONFIG_SYSRESET=y
+CONFIG_USB=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_GENERIC=y
+CONFIG_USB_DWC2=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_DWC2_OTG=y
+CONFIG_SPL_TINY_MEMSET=y
+CONFIG_LZO=y
CONFIG_ERRNO_STR=y
--
2.47.0

View file

@ -1,43 +0,0 @@
From 49423505898eef1baefa2823408dad8321571353 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Sun, 29 Dec 2024 14:43:33 +0000
Subject: [PATCH] rpi: Add identifiers for the new RPi 5 series
The Raspberry Pi foundation have released the Raspberry
Pi 500, CM5 an CM5 lite devices so add the assoicated
revision identifers so we can detect them.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
board/raspberrypi/rpi/rpi.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 18be244aa79..1e43c631898 100644
--- a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -193,6 +193,21 @@ static const struct rpi_model rpi_models_new_scheme[] = {
DTB_DIR "bcm2712-rpi-5-b.dtb",
true,
},
+ [0x18] = {
+ "Compute Module 5",
+ DTB_DIR "bcm2712-rpi-cm5-cm5io.dtb",
+ true,
+ },
+ [0x19] = {
+ "500",
+ DTB_DIR "bcm2712-rpi-500.dtb",
+ true,
+ },
+ [0x1A] = {
+ "Compute Module 5 Lite",
+ DTB_DIR "bcm2712-rpi-cm5l-cm5io.dtb",
+ true,
+ },
};
static const struct rpi_model rpi_models_old_scheme[] = {
--
2.47.1

156
rpi-fixes.patch Normal file
View file

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

View file

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

View file

@ -1 +1 @@
SHA512 (u-boot-2025.04-rc3.tar.bz2) = 2e0b022cf0ffb0b8019375fb5087b1e05f3503ed2b33aed38a04a9286794a4ac81f36c2a9ab8adcfd85762454b636a21e1f7a8fee4c4206f37852664dd4b9e01
SHA512 (u-boot-2025.07-rc4.tar.bz2) = 5d72c3848c440b585644aed7664b6e85adaf623a96d6fa5389e85f9c3e5046a3dae94cf2d076e6654a6175e1d11d2f9612de301b70c6537ee85d4cfd9955c010

View file

@ -1,49 +1,59 @@
%global candidate rc3
%global candidate rc4
%if 0%{?rhel}
%bcond_with toolsonly
%else
%bcond_without toolsonly
%endif
%global debug_package %{nil}
# Set it to "opensbi" (stable) or "opensbi-unstable" (unstable, git)
%global opensbi opensbi
Name: uboot-tools
Version: 2025.04
Release: 0.5%{?candidate:.%{candidate}}%{?dist}
Version: 2025.07
Release: 0.3%{?candidate:.%{candidate}}%{?dist}
Epoch: 1
Summary: U-Boot utilities
# Automatically converted from old format: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ - review is highly recommended.
License: GPL-2.0-or-later AND LicenseRef-Callaway-BSD AND LGPL-2.1-or-later AND LGPL-2.0-or-later
URL: http://www.denx.de/wiki/U-Boot
ExcludeArch: s390x
Source0: https://ftp.denx.de/pub/u-boot/u-boot-%{version}%{?candidate:-%{candidate}}.tar.bz2
Source1: aarch64-boards
Source2: riscv64-boards
# This is now legacy, most devices use bootflow, we keep this for the laggards
Patch1: uefi-distro-load-FDT-from-any-partition-on-boot-device.patch
# Identify VFAT partitions as ESP, allows EFI setvar on our images
Patch2: uefi-Add-all-options-for-EFI-System-Partitions.patch
# New function to find fdt for loading from disk
Patch3: uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch
Source10: rk3588-boards
Source11: rk3568-boards
Source12: rk3566-boards
Source20: rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin
Source21: rk3568_ddr_1056MHz_v1.23.bin
Source22: rk3566_ddr_1056MHz_v1.23.bin
# Fedora patches to enable/disable features
Patch4: disable-VBE-by-default.patch
Patch5: enable-bootmenu-by-default.patch
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
Patch6: uefi-initial-find_fdt_location-for-finding-the-DT-on-disk.patch
# Enable UEFI SetVariable for devices without backed storage
Patch7: uefi-enable-SetVariableRT-with-volotile-storage.patch
# Should be upstream but it's taking time
Patch6: Add-video-damage-tracking.patch
# For HTTP boot installs
Patch7: Add-pmem-node-for-preserving-distro-ISO-s.patch
# USB-PD improvements
Patch8: USB-PD-TCPM-improvements.patch
#Patch8: Add-video-damage-tracking.patch
# Device improvments
# RPi
Patch10: rpi-Add-identifiers-for-the-new-RPi-5-series.patch
# Rockchips improvements
Patch11: rockchip-Enable-preboot-start-for-pci-usb.patch
#Patch12: rockchip-Modernise-Geekbox-config.patch
Patch10: rockchip-Enable-preboot-start-for-pci-usb.patch
# USB-PD improvements
Patch11: USB-PD-TCPM-improvements.patch
# Rockchip DT rebase for fixes
Patch12: 0001-Rebase-to-upstream-6.15.5-rockchip-DTs.patch
ExclusiveArch: aarch64
BuildRequires: bc
BuildRequires: bison
BuildRequires: dtc
@ -52,41 +62,31 @@ BuildRequires: gcc
BuildRequires: gnutls-devel
BuildRequires: libuuid-devel
BuildRequires: make
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: openssl-devel-engine
BuildRequires: perl-interpreter
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-libfdt
BuildRequires: SDL2-devel
BuildRequires: swig
%if %{with toolsonly}
%ifarch aarch64
BuildRequires: arm-trusted-firmware-armv8
BuildRequires: crust-firmware
BuildRequires: python3-pyelftools
BuildRequires: xxd
%endif
%endif
Requires: dtc
%ifarch riscv64
BuildRequires: %{opensbi}
%endif
Requires: dtc
BuildRequires: uboot-tools
%description
This package contains a few U-Boot utilities - mkimage for creating boot images
and fw_printenv/fw_setenv for manipulating the boot environment variables.
%if %{with toolsonly}
%ifarch aarch64
%package -n uboot-images-armv8
%package -n uboot-images-copr
Summary: U-Boot firmware images for aarch64 boards
BuildArch: noarch
%description -n uboot-images-armv8
%description -n uboot-images-copr
U-Boot firmware binaries for aarch64 boards
%endif
%ifarch riscv64
%package -n uboot-images-riscv64
@ -96,96 +96,63 @@ BuildArch: noarch
%description -n uboot-images-riscv64
U-Boot firmware binaries for riscv64 boards
%endif
%endif
%prep
%autosetup -p1 -n u-boot-%{version}%{?candidate:-%{candidate}}
cp %SOURCE1 %SOURCE2 .
cp %SOURCE10 .
cp %SOURCE11 .
cp %SOURCE12 .
cp %SOURCE20 .
cp %SOURCE21 .
cp %SOURCE22 .
%build
mkdir builds
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-only_defconfig O=builds/
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" tools-all O=builds/
%if %{with toolsonly}
# OpenSBI firmware is distributed in U-Boot SPL images
%ifarch riscv64
export OPENSBI=%{_datadir}/%{opensbi}/generic/firmware/fw_dynamic.bin
%endif
%ifarch aarch64 riscv64
for board in $(cat %{_arch}-boards)
for board in $(cat rk3588-boards)
do
echo "Building board: $board"
echo "Board: $board using rk3588"
mkdir builds/$(echo $board)/
# ATF selection, needs improving, suggestions of ATF SoC to Board matrix welcome
sun50i=(a64-olinuxino a64-olinuxino-emmc amarula_a64_relic bananapi_m64 nanopi_a64 oceanic_5205_5inmfd orangepi_win pine64-lts pine64_plus pine64_plus pinebook pinephone pinephone pinetab sopine_baseboard teres_i)
if [[ " ${sun50i[*]} " == *" $board "* ]]; then
echo "Board: $board using sun50i_a64"
cp /usr/share/arm-trusted-firmware/sun50i_a64/bl31.bin builds/$(echo $board)/atf-bl31
cp /usr/share/crust-firmware/a64/scp.bin builds/$(echo $board)/
fi
sun50h5=(bananapi_m2_plus_h5 emlid_neutis_n5_devboard libretech_all_h3_cc_h5 libretech_all_h3_it_h5 libretech_all_h5_cc_h5 nanopi_neo2 nanopi_neo_plus2 nanopi_r1s_h5 orangepi_pc2 orangepi_prime orangepi_zero_plus2 orangepi_zero_plus)
if [[ " ${sun50h5[*]} " == *" $board "* ]]; then
echo "Board: $board using sun50i_h6"
cp /usr/share/arm-trusted-firmware/sun50i_a64/bl31.bin builds/$(echo $board)/atf-bl31
cp /usr/share/crust-firmware/h5/scp.bin builds/$(echo $board)/
fi
sun50h6=(beelink_gs1 emlid_neutis_n5_devboard orangepi_3 orangepi_lite2 orangepi_one_plus pine_h64 tanix_tx6)
if [[ " ${sun50h6[*]} " == *" $board "* ]]; then
echo "Board: $board using sun50i_h6"
cp /usr/share/arm-trusted-firmware/sun50i_h6/bl31.bin builds/$(echo $board)/atf-bl31
cp /usr/share/crust-firmware/h6/scp.bin builds/$(echo $board)/
fi
sun50i_h616=(anbernic_rg35xx_h700 orangepi_zero2 orangepi_zero2w orangepi_zero3 transpeed-8k618-t x96_mate)
if [[ " ${sun50i_h616[*]} " == *" $board "* ]]; then
echo "Board: $board using sun50i_h616"
cp /usr/share/arm-trusted-firmware/sun50i_h616/bl31.bin builds/$(echo $board)/atf-bl31
fi
rk3328=(evb-rk3328 nanopi-r2c-plus-rk3328 nanopi-r2c-rk3328 nanopi-r2s-rk3328 nanopi-r2s-plus-rk3328 orangepi-r1-plus-lts-rk3328 orangepi-r1-plus-rk3328 roc-cc-rk3328 rock64-rk3328 rock-pi-e-rk3328 rock-pi-e-v3-rk3328)
if [[ " ${rk3328[*]} " == *" $board "* ]]; then
echo "Board: $board using rk3328"
cp /usr/share/arm-trusted-firmware/rk3328/bl31.elf builds/$(echo $board)/atf-bl31
fi
rk3368=(evb-px5 geekbox)
if [[ " ${rk3368[*]} " == *" $board "* ]]; then
echo "Board: $board using rk3368"
cp /usr/share/arm-trusted-firmware/rk3368/bl31.elf builds/$(echo $board)/atf-bl31
fi
rk3399=(eaidk-610-rk3399 evb-rk3399 ficus-rk3399 firefly-rk3399 khadas-edge-captain-rk3399 khadas-edge-rk3399 khadas-edge-v-rk3399 leez-rk3399 nanopc-t4-rk3399 nanopi-m4-2gb-rk3399 nanopi-m4b-rk3399 nanopi-m4-rk3399 nanopi-neo4-rk3399 nanopi-r4s-rk3399 orangepi-rk3399 pinebook-pro-rk3399 pinephone-pro-rk3399 puma-rk3399 rock-4c-plus-rk3399 rock-4se-rk3399 rock960-rk3399 rock-pi-4c-rk3399 rock-pi-4-rk3399 rock-pi-n10-rk3399pro rockpro64-rk3399 roc-pc-mezzanine-rk3399 roc-pc-rk3399)
if [[ " ${rk3399[*]} " == *" $board "* ]]; then
echo "Board: $board using rk3399"
cp /usr/share/arm-trusted-firmware/rk3399/* builds/$(echo $board)/
cp builds/$(echo $board)/bl31.elf builds/$(echo $board)/atf-bl31
fi
zynqmp=(xilinx_zynqmp_kria xilinx_zynqmp_virt)
if [[ " ${zynqmp[*]} " == *" $board "* ]]; then
echo "Board: $board using zynqmp"
cp /usr/share/arm-trusted-firmware/zynqmp/bl31.bin builds/$(echo $board)/atf-bl31
fi
# End ATF
make $(echo $board)_defconfig O=builds/$(echo $board)/
BL31=builds/$(echo $board)/atf-bl31 %make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
BL31=/usr/share/arm-trusted-firmware/rk3588/bl31.elf \
ROCKCHIP_TPL=rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin \
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
done
for board in $(cat rk3568-boards)
do
echo "Board: $board using rk3568"
mkdir builds/$(echo $board)/
make $(echo $board)_defconfig O=builds/$(echo $board)/
BL31=/usr/share/arm-trusted-firmware/rk3568/bl31.elf \
ROCKCHIP_TPL=rk3568_ddr_1056MHz_v1.23.bin \
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
done
for board in $(cat rk3566-boards)
do
echo "Board: $board using rk3566"
mkdir builds/$(echo $board)/
make $(echo $board)_defconfig O=builds/$(echo $board)/
BL31=/usr/share/arm-trusted-firmware/rk3568/bl31.elf \
ROCKCHIP_TPL=rk3566_ddr_1056MHz_v1.23.bin \
%make_build HOSTCC="gcc $RPM_OPT_FLAGS" CROSS_COMPILE="" O=builds/$(echo $board)/
done
%endif
%endif
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_mandir}/man1
mkdir -p %{buildroot}%{_datadir}/uboot/
%if %{with toolsonly}
%ifarch aarch64
for board in $(ls builds)
do
for file in u-boot.bin u-boot.img u-boot-dtb.img u-boot-sunxi-with-spl.bin u-boot-rockchip-spi.bin u-boot-rockchip.bin
for file in u-boot-rockchip-spi.bin u-boot-rockchip.bin
do
if [ -f builds/$(echo $board)/$(echo $file) ]; then
install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file)
@ -193,82 +160,33 @@ do
done
done
# Just for xilinx_zynqmp
for board in "xilinx_zynqmp_kria xilinx_zynqmp_virt"
do
for file in u-boot.itb spl/boot.bin
do
if [ -f builds/$(echo $board)/$(echo $file) ]; then
install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file)
fi
done
done
# For Apple M-series we also need the nodtb variant
install -pD -m 0644 builds/apple_m1/u-boot-nodtb.bin %{buildroot}%{_datadir}/uboot/apple_m1/u-boot-nodtb.bin
%endif
%ifarch riscv64
for board in $(ls builds)
do
for file in u-boot.itb spl/u-boot-spl.bin spl/u-boot-spl.bin.normal.out
do
if [ -f builds/$(echo $board)/$(echo $file) ]; then
install -pD -m 0644 builds/$(echo $board)/$(echo $file) %{buildroot}%{_datadir}/uboot/$(echo $board)/$(echo $file)
fi
done
done
%endif
# Bit of a hack to remove binaries we don't use as they're large
for board in $(ls builds)
do
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot.dtb
if [ -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot-sunxi-with-spl.bin ]; then
rm -f %{buildroot}%{_datadir}/uboot/$(echo $board)/u-boot{,-dtb}.*
fi
done
%endif
for tool in dumpimage env/fw_printenv fdt_add_pubkey fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr gen_ethaddr_crc ifwitool img2srec kwboot mkeficapsule mkenvimage mkimage mksunxiboot ncb proftool sunxi-spl-image-builder
do
install -p -m 0755 builds/tools/$tool %{buildroot}%{_bindir}
done
for tool in dumpimage kwboot mkeficapsule mkimage
do
install -p -m 0644 doc/$tool.1 %{buildroot}%{_mandir}/man1
done
install -p -m 0755 builds/tools/env/fw_printenv %{buildroot}%{_bindir}
( cd %{buildroot}%{_bindir}; ln -sf fw_printenv fw_setenv )
%files
%license Licenses/*
%doc README doc/develop/distro.rst doc/README.gpt
%doc doc/develop/uefi doc/usage doc/arch/arm64.rst
%{_bindir}/*
%{_mandir}/man1/dumpimage.1*
%{_mandir}/man1/kwboot.1*
%{_mandir}/man1/mkeficapsule.1*
%{_mandir}/man1/mkimage.1*
%if %{with toolsonly}
%ifarch aarch64
%files -n uboot-images-armv8
%files -n uboot-images-copr
%license Licenses/*
%dir %{_datadir}/uboot/
%{_datadir}/uboot/*
%endif
%ifarch riscv64
%files -n uboot-images-riscv64
%license Licenses/*
%dir %{_datadir}/uboot/
%{_datadir}/uboot/*
%endif
%endif
%changelog
* Sun Jun 15 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.3.rc4
- Update to 2025.07 RC4
* Tue May 13 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.2.rc2
- Update to 2025.07 RC2
* Thu May 01 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.07-0.1.rc1
- Update to 2025.07 RC1
* Sun Apr 20 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-2
- Fix for RPi5 serial console
* Tue Apr 08 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-1
- Update to 2025.04 GA
* Tue Mar 25 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.7.rc5
- Update to 2025.04 RC5
* Wed Mar 12 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.6.rc4
- Update to 2025.04 RC4
* Wed Feb 26 2025 Peter Robinson <pbrobinson@fedoraproject.org> - 1:2025.04-0.5.rc3
- Update to 2025.04 RC3

View file

@ -0,0 +1,33 @@
From fd736dd720b29fa69a4bb87492f3f94dc6076996 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Tue, 25 Mar 2025 17:13:44 +0000
Subject: [PATCH] efi: enable SetVariableRT with volotile storage
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
lib/efi_loader/Kconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index d4f6b56afaa..3e522131b01 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -108,6 +108,7 @@ choice
config EFI_VARIABLE_FILE_STORE
bool "Store non-volatile UEFI variables as file"
depends on FAT_WRITE
+ default y
help
Select this option if you want non-volatile UEFI variables to be
stored as file /ubootefi.var on the EFI system partition.
@@ -115,6 +116,7 @@ config EFI_VARIABLE_FILE_STORE
config EFI_RT_VOLATILE_STORE
bool "Allow variable runtime services in volatile storage (e.g RAM)"
depends on EFI_VARIABLE_FILE_STORE
+ default y
help
When EFI variables are stored on file we don't allow SetVariableRT,
since the OS doesn't know how to write that file. At the same time
--
2.49.0

View file

@ -1,6 +1,6 @@
From 121fd475757e183428ca78f43420c42b9973aa33 Mon Sep 17 00:00:00 2001
From 750754448f9c196888352b636269c2455dcd2ecf Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Tue, 31 Dec 2024 14:11:12 +0000
Date: Mon, 16 Jun 2025 11:41:16 +0100
Subject: [PATCH] initial find_fdt_location for finding the DT on disk
The old distro boot looked for a DT on the first boot partition
@ -19,14 +19,14 @@ Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
cmd/bootefi.c | 1 +
cmd/bootmenu.c | 5 ++
include/efi_loader.h | 2 +
lib/efi_loader/efi_helper.c | 105 +++++++++++++++++++++++++++++++++++-
4 files changed, 112 insertions(+), 1 deletion(-)
lib/efi_loader/efi_helper.c | 104 ++++++++++++++++++++++++++++++++++++
4 files changed, 112 insertions(+)
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index c1454ffb948..ec869047f05 100644
index 8e8752127ed..347f5573bf0 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -143,6 +143,7 @@ static int do_bootefi(struct cmd_tbl *cmdtp, int flag, int argc,
@@ -147,6 +147,7 @@ static int do_bootefi(struct cmd_tbl *cmdtp, int flag, int argc,
if (argc > 2) {
uintptr_t fdt_addr;
@ -35,10 +35,10 @@ index c1454ffb948..ec869047f05 100644
fdt = map_sysmem(fdt_addr, 0);
} else {
diff --git a/cmd/bootmenu.c b/cmd/bootmenu.c
index b633aedf011..96a71a96820 100644
index a5c979079f4..8b3cb54f324 100644
--- a/cmd/bootmenu.c
+++ b/cmd/bootmenu.c
@@ -461,6 +461,11 @@ static void handle_uefi_bootnext(void)
@@ -467,6 +467,11 @@ static void handle_uefi_bootnext(void)
u16 bootnext;
efi_status_t ret;
efi_uintn_t size;
@ -51,10 +51,10 @@ index b633aedf011..96a71a96820 100644
/* Initialize EFI drivers */
ret = efi_init_obj_list();
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 39809eac1bc..511eba655e7 100644
index b3beda5de7b..5d00141f76f 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -514,6 +514,8 @@ struct efi_register_notify_event {
@@ -572,6 +572,8 @@ struct efi_register_notify_event {
struct list_head handles;
};
@ -64,10 +64,10 @@ index 39809eac1bc..511eba655e7 100644
int efi_init_early(void);
/* Initialize efi execution environment */
diff --git a/lib/efi_loader/efi_helper.c b/lib/efi_loader/efi_helper.c
index bf96f61d3d0..3f496cc0dfb 100644
index 44b806aadc4..3340c710171 100644
--- a/lib/efi_loader/efi_helper.c
+++ b/lib/efi_loader/efi_helper.c
@@ -12,6 +12,7 @@
@@ -15,6 +15,7 @@
#include <mapmem.h>
#include <dm.h>
#include <fs.h>
@ -75,7 +75,7 @@ index bf96f61d3d0..3f496cc0dfb 100644
#include <efi.h>
#include <efi_api.h>
#include <efi_load_initrd.h>
@@ -95,6 +96,99 @@ int efi_get_pxe_arch(void)
@@ -98,6 +99,99 @@ int efi_get_pxe_arch(void)
return -EINVAL;
}
@ -175,21 +175,21 @@ index bf96f61d3d0..3f496cc0dfb 100644
/**
* efi_create_current_boot_var() - Return Boot#### name were #### is replaced by
* the value of BootCurrent
@@ -548,11 +642,20 @@ efi_status_t efi_install_fdt(void *fdt)
/* Look for device tree that is already installed */
if (efi_get_configuration_table(&efi_guid_fdt))
return EFI_SUCCESS;
@@ -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_debug("Found DTB on disk\n");
/* Check if there is a hardware device tree */
- fdt_opt = env_get("fdt_addr");
+ if (!fdt_opt) {
+ fdt_opt = env_get("fdt_addr");
+ if (fdt_opt)
+ log_info("Found DTB: Prior firmware\n");
+ }
fdt_opt = env_get("fdt_addr");
/* Use our own device tree as fallback */
if (!fdt_opt) {
fdt_opt = env_get("fdtcontroladdr");
@ -198,5 +198,5 @@ index bf96f61d3d0..3f496cc0dfb 100644
log_err("need device tree\n");
return EFI_NOT_FOUND;
--
2.47.1
2.49.0