summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
20 hoursboard: st: stm32mp15: support dynamic A/B bank bootupDario Binacchi
Following commit 4300f9f4c5d7 ("board: st: stm32mp25: support dynamic A/B bank bootup"), this patch enables automatic detection of the active A/B bank on STM32MP15 platforms by retrieving partition GUIDs from FWU metadata. This ensures the system correctly identifies the bootable partitions even in multi-bank scenarios, falling back to a standard bootable flag scan if the UUIDs are missing. To enable A/B bank bootup on STM32MP15 boards, add the following Kconfig options to the stm32mp15[_basic]_defconfig: CONFIG_FWU_MULTI_BANK_UPDATE=y CONFIG_FWU_MDATA=y CONFIG_FWU_NUM_BANKS=2 CONFIG_FWU_NUM_IMAGES_PER_BANK=3 CONFIG_CMD_FWU_METADATA=y CONFIG_FWU_MDATA_V2=y Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
5 daysarm: renesas: Add Renesas R-Car R8A78000 X5H Cortex-M33 RSIP portMarek Vasut
Add support for building U-Boot for Cortex-M33 RSIP core in Renesas R-Car Gen5 R8A78000 X5H SoC. The main goal is to start U-Boot on the Cortex-M33 RSIP core, which initializes the hardware and then starts the Cortex-M33 SCP and Cortex-A720 cores which run the SCP firmware and applications software respectively. The SCP is responsible for platform resource management, and is used to start other CPU cores. The Cortex-M33 build contains its own r8a78000_ironhide_cm33_defconfig which configures the build for aarch32 instruction set compatible with the ARMv8M core. The build also uses -cm33 DT and -u-boot.dtsi which are derived from their non-CM33 counterparts, and add CM33 specifics. The arch/arm/mach-renesas/u-boot-rsip.lds is derived from generic arch/arm/cpu/u-boot.lds with adjustments to cater to the RSIP core, those are entrypoint before vectors, __data_start/__data_end symbols for data-only relocation, and placement of BSS into read-write SRAM area. Signed-off-by: Marek Vasut <[email protected]>
5 daysarm64: dts: renesas: Update reset IDs on R-Car Gen5 R8A78000 X5HMarek Vasut
The current DT reset ID encoding in R-Car Gen5 R8A78000 X5H U-Boot DTs is inherited from downstream BSP. New reset bindings for this SoC are now submitted and under review [1]. Replace the DT reset IDs with the ones used in the new bindings. [1] https://lore.kernel.org/all/053c312d07445517d8f9c84bfe3cc8fb72d4cd9a.1776793163.git.geert+renesas@glider.be/ Signed-off-by: Marek Vasut <[email protected]>
5 daysarm64: renesas: Select HSCIF for DEBUG UART on R-Car Gen5 R8A78000 X5HMarek Vasut
The R-Car Gen5 R8A78000 X5H uses HSCIF as default serial console interface. Select CFG_HSCIF to make debug UART code also configure serial console interface as HSCIF instead of SCIF in case the CONFIG_DEBUG_UART would be enabled. Signed-off-by: Marek Vasut <[email protected]>
5 daysarm64: dts: renesas: Use SCP_CLOCK_ID_CLK_S0D6_PERE_MAIN on R-Car X5HMarek Vasut
Use macro SCP_CLOCK_ID_CLK_S0D6_PERE_MAIN for SCMI clock 1691 instead of hardcoding the number in DT. No functional change. Signed-off-by: Marek Vasut <[email protected]>
5 daysarm64: dts: renesas: Switch to upstream DT on Renesas R-Car X5H R8A78000Marek Vasut
Enable OF_UPSTREAM to use upstream Linux kernel DT source as a base for U-Boot control DT. Retain currently present parts of the DT which are not yet part of upstream Linux kernel DT in -u-boot.dtsi files until they get replaced by upstream equivalents. Add renesas/ prefix to the DEFAULT_DEVICE_TREE as part of the switch. Unused i2c2..i2c8 nodes have been removed, and will become available once upstream Linux kernel DT adds those nodes. The DRAM_RSV_SIZE has been updated to cover first 518 MiB of DRAM, which are reserved for firmware and other use. Note that all DT parts in -u-boot.dtsi are not considered stable DT bindings and may change before they land in Linux kernel and become stable DT ABI. Signed-off-by: Marek Vasut <[email protected]>
12 daysboard: nxp: lx2160a: without QIXIS, MC-ENET, PCI, LTC3882Vincent Jardin
The shared LX2160A board file calls helpers that only exist when their subsystem is enabled. Gate them on the matching CONFIG_*: - pci_init() under CONFIG_PCI. - fdt_fixup_mc_ddr() and fsl_rgmii_init() under CONFIG_FSL_MC_ENET. - qixis_*() and the QIXIS branch of checkboard() under CONFIG_FSL_QIXIS; cpu_name(buf) moves out so the non-QIXIS path still prints "Board: <name>". - EVENT_SPY_SIMPLE on init_func_vid moves inside the CONFIG_VOL_MONITOR_LTC3882_READ guard (was outside, dangling symbol when LTC3882 off). #if / #ifdef, not IS_ENABLED(), because the helpers are themselves conditionally compiled. While here, lx2160a_common.h: fix BOOT_TARGET_DEVICES_MMC 1 arg vs 2 args and gate the MMC target on CONFIG_CMD_MMC, not CONFIG_MMC. No functional change for NXP boards: LX2160ARDB, LX2160AQDS, or LX2162AQDS, but mainly build clean up in order to support other NXP lx2160a boards without those HW dependencies. Signed-off-by: Vincent Jardin <[email protected]> Signed-off-by: Peng Fan <[email protected]>
12 daysp2041rdb: use the upstream device treeMichael Walle
Switch to the upstream device tree, which already includes the UART nodes we need for the DM. We also need to increase malloc area before relocation otherwise you'll get the following error and the board panics: DRAM: Initializing....using SPD alloc space exhausted ptr 414 limit 400 Signed-off-by: Michael Walle <[email protected]> Signed-off-by: Peng Fan <[email protected]>
14 daysMerge tag 'u-boot-stm32-20260512' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/30081 - reset: stm32: Fix compilation error - Remove remaining non-existant STM32_RESET flag - configs: stm32mp13: Add SPI-NAND UBI boot support - Support metadata-driven A/B boot for STM32MP25
2026-05-12arm: apple: Switch to board based text envJanne Grunau
The main use case for u-boot on Apple silicon based devices is to provide an EFI based bootloader for operating systems. This uses a generic u-boot image with DTBs passed from an earlier boot loader (m1n1). Use the generic board name "mac" for this purpose. Signed-off-by: Janne Grunau <[email protected]>
2026-05-12board: st: stm32mp25: support dynamic A/B bank bootupDario Binacchi
Enable automatic detection of the active A/B bank by retrieving partition GUIDs from FWU metadata. This ensures the system correctly identifies the bootable partitions even in multi-bank scenarios, falling back to a standard bootable flag scan if the UUIDs are missing. To enable A/B bank bootup on stm32mp25 boards, add the following Kconfig options to the stm32mp25_defconfig: CONFIG_FWU_MULTI_BANK_UPDATE=y CONFIG_FWU_MDATA=y CONFIG_FWU_NUM_BANKS=2 CONFIG_FWU_NUM_IMAGES_PER_BANK=3 CONFIG_CMD_FWU_METADATA=y CONFIG_FWU_MDATA_V2=y Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2026-05-12fwu: add helper to get image GUID by type and bank indexDario Binacchi
Introduce fwu_mdata_get_image_guid() to retrieve a specific image GUID from the FWU metadata based on the bank index and image type GUID. This allows identifying the correct partition in multi-bank (A/B) scenarios, ensuring the correct image is targeted depending on the current bank. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Simon Glass <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2026-05-12lib: uuid: add partition type GUID for extended bootloaderDario Binacchi
The Extended Boot Loader Partition (XBOOTLDR) is a standard defined by the Discoverable Partitions Specification (DPS) to host boot loader resources outside of the EFI System Partition ([1], [2]). Defining this GUID (bc13c2ff-59e6-4262-a352-b275fd6f7172) allows U-Boot to correctly identify and label these partitions using the "xbootldr" shorthand. [1] https://uapi-group.org/specifications/specs/discoverable_partitions_specification/#extended-boot-loader-partition:~:text=UEFI%20Specification.-,Extended%20Boot%20Loader%20Partition,-bc13c2ff%2D59e6%2D4262 [2] https://uapi-group.org/specifications/specs/boot_loader_specification/ Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-05-12configs: stm32mp13: add SPI-NAND UBI boot supportAustin Shirley
The STM32MP13 default environment only handles MMC and serial/USB boot. When TF-A reports BOOT_FLASH_SPINAND the boot_device variable is set to 'spi-nand' but bootcmd_stm32mp never redirects boot_targets to ubifs0, so distro_bootcmd falls through to MMC/USB. This change mirrors the STM32MP15 logic: - Add a BOOT_TARGET_UBIFS entry to BOOT_TARGET_DEVICES so that bootcmd_ubifs0 is defined (ubi part UBI; ubifsmount ubi0:boot). - Add the 'spi-nand' / 'nand' clause to bootcmd_stm32mp so that boot_targets is set to 'ubifs0' when booting from NAND. Signed-off-by: Austin Shirley <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Tom Rini <[email protected]> Cc: [email protected]
2026-05-06Merge tag 'mmc-for-2026.07-rc2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mmc - Enable FPWM bits for tps65941 - Use max-frequency to get clock rate for msm_sdhci - Fix and update for pfuze100
2026-05-06Merge tag 'efi-2026-07-rc2-2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2026-07-rc2-2 CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/29993 UEFI: * initialize variables in efi_dp_from_http() * cmd: eficonfig: adjust struct eficonfig_entry, field key * efi_dt_fixup: use fdtdec_get_bool() for reading boolean no-map property * efi_selftest_memory: check for duplicates first * simplify efi_mem_sort() using list_for_each_entry_safe Others: * lmb: document allocation flags constants
2026-05-06phy: add common PHY properties supportLucien.Jheng
Add a new PHY_COMMON_PROPS library that provides helper functions for PHY drivers to read standardized polarity properties from the device tree node: - phy_get_rx_polarity() / phy_get_tx_polarity() - phy_get_manual_rx_polarity() / phy_get_manual_tx_polarity() The dt-bindings/phy/phy.h header with PHY_POL_NORMAL, PHY_POL_INVERT, and PHY_POL_AUTO constants is provided via dts/upstream/include, which is already in the build include path. Ported from Merge tag 'phy-for-7.0': git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy Link: https://git.kernel.org/linus/e7556b59ba65179612bce3fa56bb53d1b4fb20db Signed-off-by: Lucien.Jheng <[email protected]>
2026-05-06power: regulator: tps65941: Enable FPWM bitsNeha Malcom Francis
Depending on the phase selection (single or multi), the FPWM bits configured forces the regulator to operate in PWM mode. In case of multi-phase selection, the FPWM_MP bits enforce the regulator to also operate in multi-phase. This fixes correct multi-phase operation. While at this, correct incorrect macro alignment as well. Fixes: 065a452ae6a1 ("power: regulator: tps65941: add regulator support") Link: https://www.ti.com/lit/ds/symlink/tps6594-q1.pdf Signed-off-by: Keerthy <[email protected]> Signed-off-by: Takuma Fujiwara <[email protected]> Signed-off-by: Neha Malcom Francis <[email protected]> Reviewed-by: Udit Kumar <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-05-05lmb: allocation flags macro documentationRandolph Sapp
Update the allocation flags inline documentation to follow the kernel object like macro documentation specification. Use active voice for the short descriptions. Signed-off-by: Randolph Sapp <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-05-05cmd: eficonfig: adjust struct eficonfig_entry, field keyHeinrich Schuchardt
The number EFICONFIG_ENTRY_NUM_MAX - 1 must be printable to field key of struct eficonfig_entry. Fixes: 1f0583beeb32 ("eficonfig: set EFICONFIG_ENTRY_NUM_MAX to INT_MAX - 1") Fixes: 23aa0502a4b9 ("eficonfig: increase the number of menu entries") Addresses-Coverity-ID: 583414 - Out-of-bounds write Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-05-05arm64: renesas: Add Cortex-M33 build option to R-Car Gen5Marek Vasut
The R-Car Gen5 SoCs contains Cortex-M33, Cortex-R52 and Cortex-A720AE cores. Add U-Boot build options for the Cortex-M33 core. Since the Cortex-M33 core is a 32bit core, select V8M and ARM64 for RCAR64 accordingly. Select TMU timer on the 32bit core, where it is used instead of the ARMv8 timer. Adjust TMU timer base address to match the address map of the Cortex-M33 core. Disable unused OF_BOARD_SETUP as well as unavailable POSITION_INDEPENDENT configuration options. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Udit Kumar <[email protected]>
2026-05-04board: stmark2: remove old garbageAngelo Dureghello
Remove old erroneous garbage. Signed-off-by: Angelo Dureghello <[email protected]>
2026-05-04board: stmark2: add sd boot commandAngelo Dureghello
Add command to boot from sd. Signed-off-by: Angelo Dureghello <[email protected]>
2026-04-30sunxi: use vendor prefix for $fdtfile on RISC-V tooHeinrich Schuchardt
Once we complete the support for RISC-V Allwinner D1 (sun20i), we will need to prefix $fdtfile with the vendor prefix to match the Linux device-tree directory structure. Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Andre Przywara <[email protected]>
2026-04-30Merge tag 'u-boot-stm32-20260430' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm - arm; stm32mp2: Factorize TAMP_FWU_BOOT_IDX_MASK/OFFSET definition - arm: stm32mp: Drop unnecessary BOARD_EARLY_INIT_F usage - board: stm32mp25: support dynamic A/B bank bootup - board: stm32pm1: Fix board_check_usb_power() - clk: stm32: Add STM32MP23 support - video: stm32: dsi: fix unchecked return values - video: support Rocktech RK050HR345-CT106A panel - Remove non-existent STM32_RESET flag
2026-04-30spi: add support for bits-per-word settingDario Binacchi
Allow dynamic configuration of the SPI word length. This is required for controllers and slaves that need to operate with non-standard word lengths, such as 9-bit wide transfers. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-29Merge tag 'mediatek-for-master-2026-04-29' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-mediatek * MMC fixes for Genio 520/720 (mt8189) * SPI NOR Flash controller fixes * SPI NOR Flash support for Genio 520/720 * PMIC controller fixes * PMIC support for Genio 1200 (mt8195) * Drop CONFIG_IDENT_STRING to be consistent across the platform * Remove empty header on mt7622
2026-04-29Merge branch 'master' of git://source.denx.de/u-boot-usbTom Rini
- Fix UMS and eMMC HW partition selection
2026-04-29configs: mt7622: remove empty header fileWeijie Gao
Remove the empty include/configs/mt7622.h header file as it is not needed. The Kconfig entry that referenced it is also removed. Signed-off-by: Weijie Gao <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-04-29cmd: ums: Switch HW partition before block accessMarek Vasut
An UMS session with eMMC device specifier "ums C mmc dev.part1,dev.part2" exposes the same eMMC HW partition 'part2' twice instead of exposing both HW partitions 'part1' and 'part2'. Fix this by switching the eMMC HW partition before block device read/write access. An eMMC is represented by a single struct blk_desc, with the currently selected HW partition being stored in this struct blk_desc. Each call to part_get_info_by_dev_and_name_or_num() with partition string dev[.partN] does trigger HW partition switch by calling blk_get_device_part_str() -> blk_get_device_part_str() -> get_dev_hwpart() -> get_dev_hwpart() -> blk_dselect_hwpart(). The ums_init() iterates over the device specifier string and calls part_get_info_by_dev_and_name_or_num() in a loop for each dev[.partN] entry used as the partition string. If the device specifier string contains more than one dev[.partN] partition strings for the same dev device, then it is the HW partition described in the last dev[.partN] partition string entry that is accessed for all dev device partition strings in the device specifier string, because that last dev[.partN] partition string entry was the last one that triggered blk_dselect_hwpart() call for that device. To access the expected HW partition for every dev[.partN] partition string entry, it is necessary to call blk_dselect_hwpart() before each block read or write. Store HW partition described for each dev[.partN] partition string in struct ums and use the stored value to make it so. The blk_dselect_hwpart() does test whether the currently selected HW partition is already configured in hardware and does not reconfigure the hardware if that is the case, therefore for the majority of block reads and writes, blk_dselect_hwpart() is a no-op with negligible performance impact. Example reproducer is listed below. The last sector of both eMMC HW BOOT partitions is populated with distinct test pattern and UMS is launched: " => mmc dev 1 1 ; mmc read $loadaddr 0x1fff 1 ; md $loadaddr 4 switch to partitions #1, OK mmc1(part 1) is current device MMC read: dev # 1, block # 8191, count 1 ... 1 blocks read: OK 84000000: 1234abcd 1234abcd 1234abcd 1234abcd ..4...4...4...4. => mmc dev 1 2 ; mmc read $loadaddr 0x1fff 1 ; md $loadaddr 4 switch to partitions #2, OK mmc1(part 2) is current device MMC read: dev # 1, block # 8191, count 1 ... 1 blocks read: OK 84000000: 567890ef 567890ef 567890ef 567890ef ..xV..xV..xV..xV => ums 0 mmc 1.1,1.2 UMS: LUN 0, dev mmc 1, hwpart 1, sector 0x0, count 0x2000 UMS: LUN 1, dev mmc 1, hwpart 2, sector 0x0, count 0x2000 " Read of the two block devices on host without this fix produces identical data present in HW BOOT partition 2: " $ dd if=/dev/sdX of=mmc-a.bin ; dd if=/dev/sdY of=mmc-b.bin $ hexdump -C mmc-a.bin | tail -n 3 | head -n 1 ; \ hexdump -C mmc-b.bin | tail -n 3 | head -n 1 003ffe00 ef 90 78 56 ef 90 78 56 ef 90 78 56 ef 90 78 56 |..xV..xV..xV..xV| 003ffe00 ef 90 78 56 ef 90 78 56 ef 90 78 56 ef 90 78 56 |..xV..xV..xV..xV| " Read of the two block devices on host with this fix produces the expected distinct data from either HW BOOT partition 1 or 2: " $ dd if=/dev/sdX of=mmc-a.bin ; dd if=/dev/sdY of=mmc-b.bin $ hexdump -C mmc-a.bin | tail -n 3 | head -n 1 ; \ hexdump -C mmc-b.bin | tail -n 3 | head -n 1 003ffe00 cd ab 34 12 cd ab 34 12 cd ab 34 12 cd ab 34 12 |..4...4...4...4.| 003ffe00 ef 90 78 56 ef 90 78 56 ef 90 78 56 ef 90 78 56 |..xV..xV..xV..xV| " Reported-by: Christoph Niedermaier <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-27Merge patch series "net: migrate NO_NET out of the networking stack choice"Tom Rini
Quentin Schulz <[email protected]> says: This migrates the net options away from the main Kconfig to net/Kconfig, rename the current NET option to NET_LEGACY to really highlight what it is and hopefully encourage more people to use lwIP, add a new NET menuconfig (but keep NO_NET as an alias to NET=n for now) which then allows us to replace all the "if legacy_stack || lwip_stack" checks with "if net_support" which is easier to read and maintain. The only doubt I have is wrt SYS_RX_ETH_BUFFER which seems to be needed for now even when no network is configured? Likely due to include/net-common.h with PKTBUFSRX? No change in behavior is intended. Only change in defconfig including other defconfigs where NO_NET=y or NET is not set, in which case NO_NET is not set or NET=y should be set in the top defconfig. Similar change required for config fragments. See commit log in patch adding NET menuconfig for details. This was tested based on 70fd0c3bb7c2 ("x86: there is no CONFIG_UBOOT_ROMSIZE_KB_12288"), from within the GitLab CI container trini/u-boot-gitlab-ci-runner:noble-20251013-23Jan2026 and set up similarly as in "build all platforms in a single job" GitLab CI job. #!/usr/bin/env bash set -o pipefail set -eux ARGS="-BvelPEWM --reproducible-builds --step 0" ./tools/buildman/buildman -o ${O} --force-build $ARGS -CE $* ./tools/buildman/buildman -o ${O} $ARGS -Ssd $* O=../build/u-boot/ ../u-boot.sh -b master^..b4/net-kconfig |& tee ../log.txt I can't really decipher the log.txt, but there's no line starting with + which would be an error according to tools/buildman/builder.py help text. Additionally, because I started the script with set -e set and because buildman has an exit code != 0 when it fails to build a board, and I have the summary printed (which is the second buildman call), I believe it means all builds passed. The summary is the following: aarch64: (for 537/537 boards) all +0.0 rodata +0.0 uniphier_v8 : all +1 rodata +1 u-boot: add: 0/0, grow: 1/0 bytes: 1/0 (1) function old new delta data_gz 10640 10641 +1 arm: (for 733/733 boards) all -0.0 rodata -0.0 uniphier_v7 : all -1 rodata -1 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-1 (-1) function old new delta data_gz 11919 11918 -1 opos6uldev : all -3 rodata -3 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-3 (-3) function old new delta data_gz 18778 18775 -3 uniphier_ld4_sld8: all -3 rodata -3 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-3 (-3) function old new delta data_gz 11276 11273 -3 stemmy : all -20 rodata -20 u-boot: add: 0/0, grow: 0/-1 bytes: 0/-20 (-20) function old new delta data_gz 15783 15763 -20 As far as I could tell this data_gz is an automatically generated array when CONFIG_CMD_CONFIG is enabled. It is the compressed .config stored in binary form. Because I'm changing the name of symbols, replacing a menu with a menuconfig, additional text makes it to .config and the "# Networking" section in .config disappears. Here is the diff for the 5 defconfigs listed above, generated with: for f in build/*-m; do diff --unified=0 $f/.config $(dirname $f)/$(basename -a -s '-m' $f)/.config done (-m is the build directory for master, and without the suffix, it's the top commit of this series) """ --- build/opos6uldev-m/.config 2026-04-20 10:53:49.804528526 +0200 +++ build/opos6uldev/.config 2026-04-20 11:03:37.430242767 +0200 @@ -970,4 +969,0 @@ - -# -# Networking -# @@ -975,0 +972 @@ +CONFIG_NET_LEGACY=y --- build/stemmy-m/.config 2026-04-20 11:01:33.653698123 +0200 +++ build/stemmy/.config 2026-04-20 11:04:53.452577311 +0200 @@ -733,4 +732,0 @@ - -# -# Networking -# @@ -738,2 +733,0 @@ -# CONFIG_NET is not set -# CONFIG_NET_LWIP is not set --- build/uniphier_ld4_sld8-m/.config 2026-04-20 11:00:41.605469071 +0200 +++ build/uniphier_ld4_sld8/.config 2026-04-20 11:04:22.226439899 +0200 @@ -997,4 +996,0 @@ - -# -# Networking -# @@ -1002,0 +999 @@ +CONFIG_NET_LEGACY=y --- build/uniphier_v7-m/.config 2026-04-20 10:53:04.019307319 +0200 +++ build/uniphier_v7/.config 2026-04-20 11:03:01.688085486 +0200 @@ -1004,4 +1003,0 @@ - -# -# Networking -# @@ -1009,0 +1006 @@ +CONFIG_NET_LEGACY=y --- build/uniphier_v8-m/.config 2026-04-20 10:43:05.614441175 +0200 +++ build/uniphier_v8/.config 2026-04-20 10:41:03.214852130 +0200 @@ -875,4 +874,0 @@ - -# -# Networking -# @@ -880,0 +877 @@ +CONFIG_NET_LEGACY=y """ This is fine: - Networking menu doesn't exist anymore so "#\n# Networking\n#\n" won't be in .config anymore. - opos6uldev, uniphier_ld4_sld8, uniphier_v7 and uniphier_v8 all have (old) CONFIG_NET enabled, (new) CONFIG_NET will still be set but CONFIG_NET_LEGACY also needs to be defined now to reflect the stack choice (even if default), - stemmy has CONFIG_NO_NET set, which means CONFIG_NET and CONFIG_NET_LWIP are not reachable anymore hence why they don't need to be part of .config, GitLab CI was run on this series (well, not exactly, but it's only changes to the git logs that were made): https://source.denx.de/u-boot/contributors/qschulz/u-boot/-/pipelines/29849 It passes. Link: https://lore.kernel.org/r/[email protected]
2026-04-27simplify NET_LEGACY || NET_LWIP condition with NET conditionQuentin Schulz
Since the move to make NET a menuconfig and NO_NET a synonym of NET=n, when NET is enabled, NET_LEGACY || NET_LWIP is necessarily true, so let's simplify the various checks across the codebase. SPL_NET_LWIP doesn't exist but SPL_NET_LEGACY is an alias for SPL_NET so the proper symbol is still defined in SPL whenever needed. Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-04-27rename NET to NET_LEGACYQuentin Schulz
Highlight that NET really is the legacy networking stack by renaming the option to NET_LEGACY. This requires us to add an SPL_NET_LEGACY alias to SPL_NET as otherwise CONFIG_IS_ENABLED(NET_LEGACY) will not work for SPL. The "depends on !NET_LWIP" for SPL_NET clearly highlights that it is using the legacy networking app so this seems fine to do. This also has the benefit of removing potential confusion on NET being a specific networking stack instead of "any" network stack. Signed-off-by: Quentin Schulz <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-04-27Merge patch series "Add support for DT overlays handoff"Tom Rini
Raymond Mao <[email protected]> says: The series include refactoring on bloblist and fdtdec to support handoff of multiple DT overlays and applying them into the DT base during setup. All changes are aligned to the spec update for supporting DT overlay handoff[1]. Notes for testing: Currently DT overlay is not yet enabled in TF-A, but with the test patches I provided for TF-A and OP-TEE build, importing a DT overlay blob file from QEMU to TF-A reserved memory is supported. Follow below instructions to build and run for test: $ repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml Replace your local qemu_v8.xml with [2], which contains all necessary changes in both TF-A and OP-TEE build. $ repo sync $ cd build $ make toolchains $ make ARM_FIRMWARE_HANDOFF=y all Copy and rename your DT overlay blob as 'qemu_v8.dtb' into out/bin $ make ARM_FIRMWARE_HANDOFF=y run-only [1] Add Transfer Entry for Devicetree Overlay https://github.com/FirmwareHandoff/firmware_handoff/pull/74 [2] https://github.com/raymo200915/optee_manifest/blob/dt_overlay_handoff/qemu_v8.xml Link: https://lore.kernel.org/r/[email protected]
2026-04-27bloblist: add API for applying blobs with specified tagRaymond Mao
Add an API to search for the blobs with specified tag and use the hook function to apply the blob data. Add a helper function to return the inline header size as according to recent spec[1] updates, the actual data can be following an inline header instead of following the TE header immediately. [1] Firmware Handoff spec: https://github.com/FirmwareHandoff/firmware_handoff Signed-off-by: Raymond Mao <[email protected]> Reviewed-by: Tom Rini <[email protected]> Tested-by: Michal Simek <[email protected]>
2026-04-27bloblist: add blob type for DT overlayRaymond Mao
Add blob type for DT overlay according to the update of Firmware Handoff spec[1]. Add an inline header to represent the 'subtype' in a DT overlay blob payload. [1] Add Transfer Entry for Devicetree Overlay https://github.com/FirmwareHandoff/firmware_handoff/pull/74 Signed-off-by: Raymond Mao <[email protected]> Reviewed-by: Tom Rini <[email protected]> Tested-by: Michal Simek <[email protected]>
2026-04-27tee: optee: Export OP-TEE message UID check APISumit Garg
OP-TEE message UID check API can be useful to know whether OP-TEE is enabled on not assuming the corresponding SMC call is properly handled if OP-TEE is not supported. This API can be used by platform code to know OP-TEE presence and on that basis OP-TEE DT node can be added as part of DT fixups for the OP-TEE driver probe to happen for both U-Boot and Linux. Signed-off-by: Sumit Garg <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-27drivers: sysreset: Add sysreset op that can take argumentsVaradarajan Narayanan
Add a 'request_arg' op to struct sysreset_ops to enable sysreset drivers to receive arguments given to the 'reset' command. Process the request_arg() op before the usual request() op. Reviewed-by: Casey Connolly <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Varadarajan Narayanan <[email protected]> Reviewed-by: Tom Rini <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-04-23amd: versal2: Enable PCIe/NVMe support and add NVMe boot targetPranav Sanwal
Enable the AMD Versal Gen 2 DW PCIe host controller and NVMe storage in the virtual platform defconfig: - CONFIG_PCI / CONFIG_CMD_PCI: core PCI stack and pci command - CONFIG_PCIE_DW_AMD: AMD Versal Gen 2 PCIe host driver - CONFIG_NVME_PCI: NVMe-over-PCIe storage driver - CONFIG_CMD_LSBLK: block device listing command - CONFIG_DM_PCA953X: GPIO expander driver for PERST# control Add BOOT_TARGET_DEVICES_NVME to amd_versal2.h so NVMe is included in the distro boot target list when CONFIG_NVME is enabled. Signed-off-by: Pranav Sanwal <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2026-04-22console: add console_flush_stdin()Gregor Herburger
Add a common helper console_flush_stdin() to drain all pending characters from stdin. This consolidates the open-coded while (tstc()) getchar() pattern that appeared in multiple places across the tree. Signed-off-by: Gregor Herburger <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-21board: toradex: add Toradex Verdin iMX95Emanuele Ghidoli
Add support for the Toradex Verdin iMX95. Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95 Link: https://www.toradex.com/products/carrier-board/verdin-development-board-kit Signed-off-by: Emanuele Ghidoli <[email protected]> Co-developed-by: Ernest Van Hoecke <[email protected]> Signed-off-by: Ernest Van Hoecke <[email protected]> Co-developed-by: Francesco Dolcini <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-21common: memsize: add RAM size probe based on alias detectionEmanuele Ghidoli
Add probe_ram_size_by_alias() to detect RAM size by checking whether a write to one address aliases to another address. Compared to get_ram_size(), this function allows the caller to: - limit probing to a small set of required accesses - avoid touching reserved or already used memory regions - handle non-linear alias patterns On the iMX95 SoC, when used with LPDDR5, accesses beyond the end of an 8GB DDR configuration do not alias to the expected linear wrap-around addresses. Instead, the aliased addresses appear to follow a pattern related to the DDRC bank and bank-group addresses mapping. Experimentally, the observed pattern is: Write Read y00000000 -> x0001c000 y00004000 -> x00018000 y00008000 -> x00014000 y0000c000 -> x00010000 y00010000 -> x0000c000 y00014000 -> x00008000 y00018000 -> x00004000 y0001c000 -> x00000000 This helper makes it possible to probe RAM size by explicitly specifying the probed address and the expected alias address for each size check. Signed-off-by: Emanuele Ghidoli <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-04-21board: tqma7: add code for u-boot with splAlexander Feilke
The TQMa7x is a SoM family with a pluggable board connector based on the i.MX7 SoCs. Add support for the SoM and its combination with our MBa7x carrier board. Acked-by: Peng Fan <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-04-21env: add env_set_runtime() helperNora Schiffer
env_set_runtime() is equivalent to env_set(), but does nothing when CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is unset. Signed-off-by: Nora Schiffer <[email protected]> Signed-off-by: Steffen Doster <[email protected]> Signed-off-by: Max Merchel <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-04-21Merge patch series "Linux compat improvements and CCF prep"Tom Rini
Casey Connolly <[email protected]> says: This series implements various improvements to Linux header compatibility, largely in preparation for a full port of Linux CCF but many of these changes would also be helpful when porting other drivers. Beside the basic header/compat stuff there are a few larger patches: Patch 1 adds the "%pOF" format specifier to vsprintf, this behaves the same as it does in Linux printing the name of the ofnode, but notably it expects an ofnode pointer rather than a device_node. Patch 2 adds an option to skip doing a full DM scan pre-relocation. Some platforms like Qualcomm don't actually need devices to be probed prior to relocation, it is also quite slow to scan the entire FDT before caches are up. This option gets us to main loop 30-50% faster. Unfortunately it isn't possible to totally skip DM since U-Boot will panic if it can't find a serial port, but the serial uclass code will bind the serial port itself by reading /chosen/stdout-path, however any dependencies like clocks won't be found so this should only be enabled if the serial driver gracefully handles missing clocks. Patch 3 adds [k]strdup_const(), this works the same as the Linux version saving a small amount of memory by avoiding duplicating strings stored in .rodata, this is particularly useful for CCF. Patch 4 adds 64-bit versions of some 32-bit ofnode utilities functions, making it possible to parse 64-bit arrays. Patch 6 provides a simple implementation of kref, this will be used by CCF. Patch 9 adds devm_krealloc() support to devres, it relies on storing allocation sizes in the devres struct which will add a small overhead. Link: https://lore.kernel.org/r/[email protected]
2026-04-21compat: math64: add abs_diff()Casey Connolly
Add the abs_diff() macro, copied directly from Linux 6.18. Signed-off-by: Casey Connolly <[email protected]>
2026-04-21compat: regulator: add enable/disable macrosCasey Connolly
These just wrap regulator_set_enable() and provide a closer analogue to the Linux API. Signed-off-by: Casey Connolly <[email protected]>
2026-04-21regmap: add regmap_assign_bitsCasey Connolly
This is a simple wrapper around set/clear bits used by drivers in Linux. Add it here so it can be used by Qualcomm CCF clk drivers. Signed-off-by: Casey Connolly <[email protected]>
2026-04-21compat: add linux/regmap.h symlinkCasey Connolly
Add a symlink to the Linux regmap.h path so that drivers ported from Linux don't all need additional changes to include the U-Boot specific path. Signed-off-by: Casey Connolly <[email protected]>
2026-04-21compat: add dev_name()Casey Connolly
This function just wraps udevice->name. Signed-off-by: Casey Connolly <[email protected]>