]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
4 weeks agorockchip: i2c: move ACK comment where it applies
Quentin Schulz [Fri, 7 Nov 2025 11:39:18 +0000 (12:39 +0100)] 
rockchip: i2c: move ACK comment where it applies

The I2C_CON_LASTACK is kind of a misnomer as setting it means sending a
NACK as last byte acknowledge when the controller is in receive mode. It
should therefore be used only when there's no more data to transfer
after this.

Move the comment in the proper if block.

Sync the comment with the Linux kernel's while at it so it's more
explicit.

Fixes: 5deaa530280f ("rockchip: i2c: fix >32 byte reads")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 weeks agorockchip: i2c: fix incorrect STOP flag for the interrupt enable register
Quentin Schulz [Fri, 7 Nov 2025 11:39:17 +0000 (12:39 +0100)] 
rockchip: i2c: fix incorrect STOP flag for the interrupt enable register

I2C_CON_STOP is a flag to be used for the con register, where it is bit
4 to send the STOP condition.

To enable the interrupt the controller sends to tell it's finished
sending the STOP condition, it's the ien register at bit 5.

Let's use the proper offset.

My hunch is that enabling the interrupt is useless as the interrupt
status register is always up-to-date and enabling the interrupt is just
so that the interrupt is available via the GIC. However, U-Boot has no
interrupt support and the logic was working well before this patch. This
is just so people aren't side-tracked when debugging I2C issues on
Rockchip by checking all writes are proper.

Fixes: 3437469985df ("rockchip: Add I2C driver")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 weeks agorockchip: rock5b-rk3588: Add support for Radxa ROCK 5T
FUKAUMI Naoki [Fri, 7 Nov 2025 06:47:16 +0000 (06:47 +0000)] 
rockchip: rock5b-rk3588: Add support for Radxa ROCK 5T

Include the FDT for Radxa ROCK 5T in the FIT, in addition to those for
5B and 5B+, and add board selection code to load the 5T FDT when the
DRAM type is LPDDR5 and ADC channel 5 value is close to 1016.

Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 weeks agorockchip: rock5b-rk3588: Add support for ROCK 5B+
Jonas Karlman [Fri, 1 Aug 2025 17:09:28 +0000 (17:09 +0000)] 
rockchip: rock5b-rk3588: Add support for ROCK 5B+

Include FDTs for both ROCK 5B and 5B+ in the FIT and add board selection
code to load the 5B+ FDT when the DRAM type is LPDDR5 and ADC channel 5
value is close to 4095.

  U-Boot 2025.07 (Jul 14 2025 - 21:28:20 +0000)

  Model: Radxa ROCK 5B+
  SoC:   RK3588
  DRAM:  8 GiB

Features tested on a ROCK 5B+ v1.2:
- SD-card boot
- eMMC boot
- SPI flash boot
- PCIe/NVMe
- Ethernet
- USB/TCPM

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 weeks agorockchip: sdram: Add rockchip_sdram_type() helper
Jonas Karlman [Fri, 1 Aug 2025 17:09:27 +0000 (17:09 +0000)] 
rockchip: sdram: Add rockchip_sdram_type() helper

Add a helper function based on rockchip_sdram_size() that return what
DRAM type is used on current running board.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 weeks agorockchip: Add support for RAM boot from maskrom mode
Jonas Karlman [Sat, 2 Aug 2025 22:07:23 +0000 (22:07 +0000)] 
rockchip: Add support for RAM boot from maskrom mode

The BootROM in Rockchip SoCs will enter maskrom mode when boot firmware
cannot be found in nand/spi/mmc storage.

In maskrom mode the USB OTG port can accept one of two custom commands.

Initially a 0x471 command to load TPL into SRAM. After TPL has been
executed and it has returned back-to-BROM, a 0x472 command to load SPL
into start of DRAM.

Add two binman images that can be used to RAM boot from maskrom mode:
- u-boot-rockchip-usb471.bin that contains TPL to init DRAM.
- u-boot-rockchip-usb472.bin that contains SPL and the normal FIT
  payload with i.e. U-Boot proper, TF-A and FDT.

A config fragment rockchip-ramboot.config can be used to enable building
of these two binman images, e.g.:

  make generic-rk3588_defconfig rockchip-ramboot.config

These binman images can be used with the proprietary rkbin boot_merger
tool to create a special loader image that can be used with tools such
as rkdeveloptool or rockusb tools to RAM boot from maskrom, e.g.:

  Create loader image:
    $ ../rkbin/tools/boot_merger ./RK3588MINIALL.ini

  Boot from maskrom:
    $ rkdeveloptool db u-boot-rockchip-rk3588-loader.bin
   or
    $ rockusb download-boot u-boot-rockchip-rk3588-loader.bin

Another option that does not require use of proprietary tools is using
open source tools such as rkflashtool or rkusbboot that can load the
binman images directly without any need to first create a special loader
image to RAM boot from maskrom, e.g.:

  $ rkflashtool l < u-boot-rockchip-usb471.bin
  $ rkflashtool L < u-boot-rockchip-usb472.bin
 or
  $ rkusbboot u-boot-rockchip-usb471.bin u-boot-rockchip-usb472.bin

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Arnaud Patard <arnaud.patard@collabora.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 weeks agorockchip: Move TEXT_BASE to 8 MiB offset from start of DRAM
Jonas Karlman [Sat, 2 Aug 2025 22:07:22 +0000 (22:07 +0000)] 
rockchip: Move TEXT_BASE to 8 MiB offset from start of DRAM

Drop SoC specific TEXT_BASE and use a common TEXT_BASE for all SoCs.

Move the common TEXT_BASE to 8 MiB offset from start of DRAM to help
support RAM boot from maskrom introduced in next patch.

RAM boot from maskrom mode will expect the FIT payload to be located at
2 MiB offset from start or DRAM.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Arnaud Patard <arnaud.patard@collabora.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 weeks agoboard: theobroma-systems: jaguar_rk3588: explicit UART IOMUX
Quentin Schulz [Wed, 30 Jul 2025 12:46:35 +0000 (14:46 +0200)] 
board: theobroma-systems: jaguar_rk3588: explicit UART IOMUX

When one attempts to build Tiger and Jaguar from the same directory,
because Tiger will set the IOMUX to 2 but Jaguar doesn't reset it,
Jaguar will have IOMUX set to 2 if built after Tiger.

This isn't an issue if in separate directories or building Tiger after
Jaguar because the default if missing from the configuration file is 0.

Let's make it explicit that the iomux is 0 for Jaguar.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 weeks agoboard: theobroma-systems: add instructions for how to use upstream TF-A
Quentin Schulz [Wed, 30 Jul 2025 12:46:34 +0000 (14:46 +0200)] 
board: theobroma-systems: add instructions for how to use upstream TF-A

Upstream TF-A has support for RK3588 since v2.12 so let's document how
to use upstream TF-A instead of the prebuilt binary blob from Rockchip
if one wants to do that.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 weeks agoboard: theobroma-systems: update instructions for newer Rockchip rkbin
Quentin Schulz [Wed, 30 Jul 2025 12:46:33 +0000 (14:46 +0200)] 
board: theobroma-systems: update instructions for newer Rockchip rkbin

The instructions are regularly out of date because the generated or
prebuilt binaries are updated and the filename doesn't match our
instructions anymore.

Additionally, since commit 55a95caaef15 ("tools: ddrbin_tool: add
ddrbin_tool.py and update to v1.21 20241211") end of October 2024,
ddrbin_tool doesn't exist anymore and has been replaced by
ddrbin_tool.py python script (which currently isn't an executable) so
let's update these instructions as well.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
4 weeks agoMerge patch series "clk: ti: Cleanup common functions and omap-cm"
Tom Rini [Fri, 12 Dec 2025 21:19:41 +0000 (15:19 -0600)] 
Merge patch series "clk: ti: Cleanup common functions and omap-cm"

Markus Schneider-Pargmann (TI.com) <msp@baylibre.com> says:

This series cleans up the direct dependency of ARCH_OMAP2PLUS to compile
ti/clk.c which holds common functions for other clock drivers. It creates its
own config symbols for these common functions and for the omap-cm driver as
well.

The omap-cm driver config symbol is added as default enabled.

Link: https://lore.kernel.org/r/20251128-topic-am33-clk-regmap-dep-v2026-01-v2-0-451b4f4e7e85@baylibre.com/
4 weeks agoclk: ti: omap4-cm: Add Kconfig symbol
Markus Schneider-Pargmann (TI.com) [Fri, 28 Nov 2025 20:22:19 +0000 (21:22 +0100)] 
clk: ti: omap4-cm: Add Kconfig symbol

Add a Kconfig symbol for this stub driver to avoid clock dependencies on
an architecture symbol. Enable it by default.

Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agoclk: ti: Split common omap2plus functions into new symbol
Markus Schneider-Pargmann (TI.com) [Fri, 28 Nov 2025 20:22:18 +0000 (21:22 +0100)] 
clk: ti: Split common omap2plus functions into new symbol

Create a new symbol for the common clock functions used by some of the
omap2plus clock drivers. These drivers now select this new symbol when
they need the functions. Note these common functions are not
ARCH_OMAP2PLUS specific.

Note that the common functions are using regmap, so select it here.

Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
4 weeks agopower: domain: Add ti-omap-prm stub
Markus Schneider-Pargmann (TI.com) [Fri, 28 Nov 2025 14:31:06 +0000 (15:31 +0100)] 
power: domain: Add ti-omap-prm stub

Upstream DT uses simple-pm-bus instead of simple-bus. simple-pm-bus
requires power domain support. On am33xx, PRM manages power domains but
all domains are enabled at boot. Add stub driver with custom of_xlate
that expects no argumetns to allow simple-pm-bus and dependent devices
to probe.

Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
4 weeks agosimple-pm-bus: Make clocks optional
Markus Schneider-Pargmann (TI.com) [Fri, 28 Nov 2025 10:21:21 +0000 (11:21 +0100)] 
simple-pm-bus: Make clocks optional

simple-pm-bus binding requires either power-domains or clocks, not both.
Allow clk_get_bulk() to return -ENOENT.

When no clocks are present, bulk->count is set to 0, which works
correctly with clk_enable_bulk() and other clk functions used in this
driver.

Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
4 weeks agofs: fat: Perform sanity checks on getsize in get_fatent()
Tom Rini [Tue, 9 Dec 2025 21:23:01 +0000 (15:23 -0600)] 
fs: fat: Perform sanity checks on getsize in get_fatent()

We do not perform a check on the value of getsize in get_fatent to
ensure that it will fit within the allocated buffer. For safety sake,
add a check now and if the value exceeds FATBUFBLOCKS use that value
instead. While not currently actively exploitable, it was in the past so
adding this check is worthwhile.

This addresses CVE-2025-24857 and was originally reported by Harvey
Phillips of Amazon Element55.

Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoMerge tag 'efi-2026-01-rc5' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 12 Dec 2025 14:48:50 +0000 (08:48 -0600)] 
Merge tag 'efi-2026-01-rc5' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2026-01-rc5

CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/28738

Documentation:

* Fix typos in the TI K3 board documentation.
* Describe the TI J742S2.

UEFI:

* Add EFI_PARTITION_INFO_PROTOCOL_GUID translation in the UUID library.

4 weeks agoRevert "clk: Return value calculated by ERR_PTR"
Tom Rini [Fri, 12 Dec 2025 01:19:06 +0000 (19:19 -0600)] 
Revert "clk: Return value calculated by ERR_PTR"

While this change was intended to fix a mistake in the code, of calling
the ERR_PTR macro but not making use of the result, it seems that
functionally platforms depend on the loop not existing here. The TI K3
families of platforms for example were broken by this commit.

This reverts commit fe780310cfa8bf5a093894b5cd7fe85c6b02fd91.

Reported-by: Nishanth Menon <nm@ti.com>
Reviewed-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agodoc: board: ti: k3: Fix a couple small typos
Andrew Davis [Mon, 8 Dec 2025 19:16:23 +0000 (13:16 -0600)] 
doc: board: ti: k3: Fix a couple small typos

s/Uenv.txt/uEnv.txt
s/then/than

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
4 weeks agodoc: board: ti: Add J742S2 support
Udit Kumar [Sun, 7 Dec 2025 13:22:30 +0000 (18:52 +0530)] 
doc: board: ti: Add J742S2 support

J742S2 SOC is derivative of J784S4, most of build infra of j784s4 is used
to build u-boot for J742S2 EVM board.

Add guide users on how to build for that board.

Signed-off-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
4 weeks agolib: uuid: add EFI_PARTITION_INFO_PROTOCOL_GUID translation
Heinrich Schuchardt [Sun, 7 Dec 2025 11:18:45 +0000 (12:18 +0100)] 
lib: uuid: add EFI_PARTITION_INFO_PROTOCOL_GUID translation

Add support for translating the EFI_PARTITION_INFO_PROTOCOL_GUID
to a text.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
4 weeks agoboard: libre-computer: use common Amlogic EFI capsule support
Ferass El Hafidi [Thu, 11 Dec 2025 15:37:01 +0000 (15:37 +0000)] 
board: libre-computer: use common Amlogic EFI capsule support

Remove the board-specific capsule support code, as we now support EFI
capsules across multiple Amlogic boards without the need for that.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Link: https://patch.msgid.link/20251211-meson-capsule-v4-2-59f126ba4115@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agoarm: meson: add support for EFI capsule updates
Ferass El Hafidi [Thu, 11 Dec 2025 15:37:00 +0000 (15:37 +0000)] 
arm: meson: add support for EFI capsule updates

Previously, few Amlogic devices supported EFI capsule updates.
Generally only the Libre Computer ones with SPI flash supported it,
thanks to board-specific code.

This commit commonises capsule update support across supported
Amlogic boards.  Similar to Qualcomm's support for it, the dfu string
and firmware name is automatically generated at runtime depending on
which device we are booted from.  Right now this supports flashing to
the eMMC/SD and SPI flash.

As usual, the capsule UUID is automatically generated.  You can get it
by enabling CONFIG_CMD_EFIDEBUG and running:

=> efidebug capsule esrt
========================================
ESRT: fw_resource_count=1
ESRT: fw_resource_count_max=1
ESRT: fw_resource_version=1
[entry 0]==============================
ESRT: fw_class=796180D4-AAB2-50F1-B16A-53DFF9CA89B2
ESRT: fw_type=unknown
ESRT: fw_version=0
ESRT: lowest_supported_fw_version=0
ESRT: capsule_flags=0
ESRT: last_attempt_version=0
ESRT: last_attempt_status=success
========================================

Reviewed-by: Evgeny Bachinin <EABachinin@salutedevices.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Link: https://patch.msgid.link/20251211-meson-capsule-v4-1-59f126ba4115@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agommc: meson_gx_mmc: reduce maximum frequency
Nick Xie [Tue, 9 Dec 2025 05:57:50 +0000 (13:57 +0800)] 
mmc: meson_gx_mmc: reduce maximum frequency

Reduce the maximum frequency to 40MHz to be compatible with
more eMMC. And the Amlogic vendor U-Boot also use the maximum
frequency of 40MHz.

Signed-off-by: Nick Xie <nick@khadas.com>
Link: https://patch.msgid.link/20251209055750.43594-1-nick@khadas.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agoMerge tag 'mmc-next-2025-12-11' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Thu, 11 Dec 2025 14:12:49 +0000 (08:12 -0600)] 
Merge tag 'mmc-next-2025-12-11' of https://source.denx.de/u-boot/custodians/u-boot-mmc into next

CI: https://source.denx.de/u-boot/custodians/u-boot-mmc/-/pipelines/28729

- mmc: assign f_max to 0 when max-frequency property not exist
- Improvements and minor fixes for Cadence SDHCI driver

4 weeks agoMerge tag 'fsl-qoriq-next-2025-12-11' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 11 Dec 2025 14:11:52 +0000 (08:11 -0600)] 
Merge tag 'fsl-qoriq-next-2025-12-11' of https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq into next

CI: https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq/-/pipelines/28727

- Stop disabling device tree relocation for ls1012afrdm and ls1043a
- Address error handling in ls1088a board setup
- Remove offline cores from cooling device maps

4 weeks agoMerge tag 'u-boot-dfu-next-20251211' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 11 Dec 2025 13:52:55 +0000 (07:52 -0600)] 
Merge tag 'u-boot-dfu-next-20251211' of https://source.denx.de/u-boot/custodians/u-boot-dfu into next

u-boot-dfu-next-20251211:

CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/28724

Android:
* Fix 8-byte alignment for newer versions of libfdt

4 weeks agommc: sdhci-cadence6: Add DLL master control and improve tuning reliability
Tanmay Kathpalia [Wed, 3 Dec 2025 12:21:39 +0000 (04:21 -0800)] 
mmc: sdhci-cadence6: Add DLL master control and improve tuning reliability

- Add support for configuring the PHY DLL master control register for all
  SD/eMMC timing modes (DS, HS, SDR, DDR, HS200, HS400) by extending the
  PHY configuration arrays and writing the value during PHY adjustment.
- Fix tuning reliability by toggling the DLL reset before and after
  updating the PHY_DLL_SLAVE_CTRL_REG_ADDR register.

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Balsundar Ponnusamy <balsundar.ponnusamy@altera.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agommc: sdhci-cadence6: socfpga: Fix DT property naming convention
Tanmay Kathpalia [Wed, 3 Dec 2025 12:21:38 +0000 (04:21 -0800)] 
mmc: sdhci-cadence6: socfpga: Fix DT property naming convention

1. Replace underscores with hyphens in device tree property names to
follow the standard DT naming convention. This affects all
"lpbk_ctrl" properties which are now correctly named "lpbk-ctrl".

Changes:
- cdns,phy-gate-lpbk_ctrl-delay-* → cdns,phy-gate-lpbk-ctrl-delay-*
- cdns,ctrl-hrs10-lpbk_ctrl-delay-* → cdns,ctrl-hrs10-lpbk-ctrl-delay-*

2. Fix typo: semmc → emmc in eMMC SDR PHY property name

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Balsundar Ponnusamy <balsundar.ponnusamy@altera.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agommc: sdhci-cadence: Enable software tuning for both SD and eMMC interfaces
Tanmay Kathpalia [Wed, 3 Dec 2025 12:21:37 +0000 (04:21 -0800)] 
mmc: sdhci-cadence: Enable software tuning for both SD and eMMC interfaces

Remove interface type restrictions in sdhci_cdns_execute_tuning() to
enable software tuning for both SD and eMMC devices. The previous
assumption that SD timing should be handled by SDHCI core is incorrect
based on the actual function assignment logic.

The execute_tuning function is assigned based on MMC_SUPPORTS_TUNING
config, which is enabled by both MMC_UHS_SUPPORT and MMC_HS200_SUPPORT.

Changes:
Remove IS_MMC() check that restricted tuning to eMMC only
Remove opcode validation limited to MMC_CMD_SEND_TUNING_BLOCK_HS200

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Balsundar Ponnusamy <balsundar.ponnusamy@altera.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agommc: sdhci-cadence: Use hardware version field for Cadence SDHCI controller
Tanmay Kathpalia [Wed, 3 Dec 2025 12:21:36 +0000 (04:21 -0800)] 
mmc: sdhci-cadence: Use hardware version field for Cadence SDHCI controller

Replace device tree compatible string checks with hardware version field
detection to determine SDHCI controller capabilities. This approach is
more robust and aligns with standard SDHCI specification practices.
Controllers with SDHCI version 4.2 and above will automatically use the
enhanced PHY adjustment, and tuning v6-specific procedures.

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Balsundar Ponnusamy <balsundar.ponnusamy@altera.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agommc: sdhci: Add SDHCI_SPEC_400, _410, and _420 version defines
Tanmay Kathpalia [Wed, 3 Dec 2025 12:21:35 +0000 (04:21 -0800)] 
mmc: sdhci: Add SDHCI_SPEC_400, _410, and _420 version defines

Add SDHCI_SPEC_400, SDHCI_SPEC_410, and SDHCI_SPEC_420 macros to sdhci.h
to support newer SDHCI specification versions. These defines are required
for compatibility with controllers implementing SDHCI 4.0 and above.

Reference:
https://lore.kernel.org/all/1535617305-16952-2-git-send-email-zhang.chunyan@linaro.org/

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Balsundar Ponnusamy <balsundar.ponnusamy@altera.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agommc: sdhci-cadence: Set controller and PHY speed modes for SD and eMMC cards
Tanmay Kathpalia [Wed, 3 Dec 2025 12:21:34 +0000 (04:21 -0800)] 
mmc: sdhci-cadence: Set controller and PHY speed modes for SD and eMMC cards

Replace the legacy clock frequency-based timing mode selection with
proper MMC timing mode constants.

Changes to sdhci-cadence.c:
- Add sdhci_cdns_get_hrs06_mode() helper function for mode selection
- Replace clock frequency logic with mmc->selected_mode switch statement
- Use proper MMC timing constants (MMC_HS, UHS_SDR104, etc.)
- Add SD card specific handling with standard SDHCI control register setup

Changes to sdhci-cadence6.c:
- Add SD high speed PHY and control configuration arrays
- Update sdhci_cdns6_phy_adj() to use timing modes instead of HRS06 modes
- Support both SD and eMMC timing modes with appropriate PHY settings

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Balsundar Ponnusamy <balsundar.ponnusamy@altera.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agommc: sdhci-cadence: Use max-frequency property from device tree
Tanmay Kathpalia [Wed, 3 Dec 2025 12:21:33 +0000 (04:21 -0800)] 
mmc: sdhci-cadence: Use max-frequency property from device tree

When f_max parameter is 0 in sdhci_setup_cfg(), the function defaults
to using the maximum frequency from host controller capabilities register
instead of the max-frequency property parsed from device tree.

The max-frequency property from device tree is parsed by mmc_of_parse()
and stored in plat->cfg.f_max, but sdhci_setup_cfg() was being called
with f_max=0, causing it to ignore the device tree value and use the
host capabilities register value instead.

Fix this by passing plat->cfg.f_max to sdhci_setup_cfg() to ensure
the device tree specified maximum frequency is respected over the
hardware default.

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Balsundar Ponnusamy <balsundar.ponnusamy@altera.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agommc: mmc-uclass: Use max-frequency from device tree with default handling
Tanmay Kathpalia [Wed, 3 Dec 2025 12:21:32 +0000 (04:21 -0800)] 
mmc: mmc-uclass: Use max-frequency from device tree with default handling

When the max-frequency property is not specified in the device tree,
the function now explicitly defaults to 0 instead of leaving cfg->f_max
uninitialized. This allows sdhci_setup_cfg() to properly detect the
absence of a device tree specified frequency and fall back to using
the host controller's maximum base clock frequency from the capabilities
register.

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agommc: sdhci-cadence: Add reset control support
Tanmay Kathpalia [Wed, 3 Dec 2025 12:21:31 +0000 (04:21 -0800)] 
mmc: sdhci-cadence: Add reset control support

Add reset control functionality to the SDHCI Cadence driver to properly
handle hardware reset sequences during probe. This ensures the controller
is in a known state before initialization.

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Balsundar Ponnusamy <balsundar.ponnusamy@altera.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agoarmv8/fsl-layerscape: fdt: Remove offline cores from cooling device maps
Anthony Pighin (Nokia) [Wed, 3 Dec 2025 16:25:39 +0000 (16:25 +0000)] 
armv8/fsl-layerscape: fdt: Remove offline cores from cooling device maps

Some processor families use a generic device tree, and rely on u-boot
fixups to massage that for lower core count personalities (i.e. NXP
LX2* family). For example, the LX2160A device tree will be used and
then modified to offline non-existent cores when running on an 8-core
LX2080A.

However, the cooling maps still contain references to the non-existent
core phandles, resulting in:

    OF: /thermal-zones/cluster6-7-thermal/cooling-maps/map0:
        could not find phandle 15

Rebuild the cooling maps as non-existent cores are deleted.

Signed-off-by: Anthony Pighin <anthony.pighin@nokia.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agodoc: board: amlogic: add u-boot-spl documentation
Ferass El Hafidi [Wed, 26 Nov 2025 12:17:12 +0000 (12:17 +0000)] 
doc: board: amlogic: add u-boot-spl documentation

Add building and usage instructions for SPL.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Link: https://patch.msgid.link/20251126-spl-gx-v5-10-6cbffb2451ca@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agospl: meson: set SPL max size for GX SoCs
Ferass El Hafidi [Wed, 26 Nov 2025 12:17:11 +0000 (12:17 +0000)] 
spl: meson: set SPL max size for GX SoCs

Enforce the max size for U-Boot SPL at the Kconfig level, to prevent the
build system from producing an image too large for the bootROM to load.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251126-spl-gx-v5-9-6cbffb2451ca@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agoboard: amlogic: add kconfig fragments for SPL
Ferass El Hafidi [Wed, 26 Nov 2025 12:17:10 +0000 (12:17 +0000)] 
board: amlogic: add kconfig fragments for SPL

Add kconfig fragments for building SPL binaries for:
 · ODROID-C2
 · Videostrong KII Pro
 · Libre Computer LePotato (1 GB and 2 GB variants)

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Link: https://patch.msgid.link/20251126-spl-gx-v5-8-6cbffb2451ca@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agoarm: dts: meson-gx-u-boot: add binman configuration for U-Boot SPL
Ferass El Hafidi [Wed, 26 Nov 2025 12:17:09 +0000 (12:17 +0000)] 
arm: dts: meson-gx-u-boot: add binman configuration for U-Boot SPL

Add binman configuration to meson-gx-u-boot.dtsi to automate building
bootable images using amlimage.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Link: https://patch.msgid.link/20251126-spl-gx-v5-7-6cbffb2451ca@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agoarm: dts: meson: add meson-gxbb-u-boot.dtsi
Ferass El Hafidi [Wed, 26 Nov 2025 12:17:08 +0000 (12:17 +0000)] 
arm: dts: meson: add meson-gxbb-u-boot.dtsi

Add a common GXBB DTSI, similar to the meson-gxl-u-boot.dtsi file,
which GXBB devicetrees can include.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251126-spl-gx-v5-6-6cbffb2451ca@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agoarm: meson: spl: add support for SPL DRAM init
Ferass El Hafidi [Wed, 26 Nov 2025 12:17:07 +0000 (12:17 +0000)] 
arm: meson: spl: add support for SPL DRAM init

Supports both GXBB and GXL SoCs.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Link: https://patch.msgid.link/20251126-spl-gx-v5-5-6cbffb2451ca@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agoarm: meson: initial u-boot SPL support for GX SoCs
Ferass El Hafidi [Wed, 26 Nov 2025 12:17:06 +0000 (12:17 +0000)] 
arm: meson: initial u-boot SPL support for GX SoCs

Add initial boilerplate for U-Boot SPL support on Amlogic.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Link: https://patch.msgid.link/20251126-spl-gx-v5-4-6cbffb2451ca@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agoserial: serial_meson: add minimal non-DM driver
Ferass El Hafidi [Wed, 26 Nov 2025 12:17:05 +0000 (12:17 +0000)] 
serial: serial_meson: add minimal non-DM driver

It is very limited and minimal, only implements putc/puts.
This minimal driver is intended to be used in SPL, and other
size-constrained situations.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Link: https://patch.msgid.link/20251126-spl-gx-v5-3-6cbffb2451ca@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agommc: meson_gx_mmc: add minimal non-DM driver
Ferass El Hafidi [Wed, 26 Nov 2025 12:17:04 +0000 (12:17 +0000)] 
mmc: meson_gx_mmc: add minimal non-DM driver

Add a minimal non-DM MMC driver for use in size-constrained
environments.

Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20251126-spl-gx-v5-2-6cbffb2451ca@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agotools: mkimage: Add Amlogic Boot Image type
Jonas Karlman [Wed, 26 Nov 2025 12:17:03 +0000 (12:17 +0000)] 
tools: mkimage: Add Amlogic Boot Image type

Add support for creating an Amlogic Boot Image that pass CHK in BL1 on
Amlogic AArch64 SoCs.

Images can optionally be signed for secure boot scenario, however
creation of signed images has not been implemented.

Example of how to use it:
  # Create an amlogic boot image
  tools/mkimage -T amlimage -n gxbb -d u-boot-spl.bin u-boot-amlogic.bin

  # List boot image header information
  tools/mkimage -l u-boot-amlogic.bin

  # Extract amlogic boot image payload
  tools/dumpimage -T amlimage -o bl2-payload.bin u-boot-amlogic.bin

Or with binman using something like:
  binman {
u-boot-amlogic {
filename = "u-boot-amlogic.bin";
pad-byte = <0xff>;

mkimage {
filename = "bl2.bin";
args = "-n", "gxbb", "-T", "amlimage";

u-boot-spl {
};
};
};
  };

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
[Ferass: check digest type in _print_header, version in _verify_image]
Signed-off-by: Ferass El Hafidi <funderscore@postmarketos.org>
Link: https://patch.msgid.link/20251126-spl-gx-v5-1-6cbffb2451ca@postmarketos.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
4 weeks agoboard: freescale: Fix error handling in ls1088a board setup
Francois Berder [Sat, 22 Nov 2025 12:26:07 +0000 (13:26 +0100)] 
board: freescale: Fix error handling in ls1088a board setup

 - Add missing checks after calloc
 - Fix memory leak when handling calloc failure

Signed-off-by: Francois Berder <fberder@outlook.fr>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agols1043a: Stop disabling device tree relocation
Tom Rini [Wed, 19 Nov 2025 14:55:30 +0000 (08:55 -0600)] 
ls1043a: Stop disabling device tree relocation

Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS.

Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agols1012afrdm: Stop disabling device tree relocation
Tom Rini [Wed, 19 Nov 2025 14:55:28 +0000 (08:55 -0600)] 
ls1012afrdm: Stop disabling device tree relocation

Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS.

Signed-off-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
4 weeks agobinman: blob_dtb: improve error message when SPL is not found
Jérémie Dautheribes [Fri, 28 Nov 2025 11:03:04 +0000 (12:03 +0100)] 
binman: blob_dtb: improve error message when SPL is not found

When using binman with the '-a spl-dtb=y' flag, if the SPL blob is not
found, binman throws a cryptic error message:
binman: 'NoneType' object has no attribute 'startswith'

Let's improve the error message to explicitly state which SPL blob is
missing.
This is particularly useful when binman is used as a standalone tool
outside the U-Boot source tree.

Signed-off-by: Jérémie Dautheribes <jeremie.dautheribes@bootlin.com>
[trini: Add '# pragma: no cover' because coverage doesn't seem to like
the documentation about this error]
Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoarch: arm: dts: k3-am642-phyboard-electra: Drop bootph properties
Wadim Egorov [Thu, 27 Nov 2025 14:04:28 +0000 (15:04 +0100)] 
arch: arm: dts: k3-am642-phyboard-electra: Drop bootph properties

Remove bootph properties no longer needed. These are now handled
in upstream Linux device trees.

While at it, drop the vtt-supply which is a leftover from the
very initial prototype of this board.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
4 weeks agoarch: arm: dts: k3-am625-phyboard-lyra: Drop bootph properties
Wadim Egorov [Thu, 27 Nov 2025 14:04:27 +0000 (15:04 +0100)] 
arch: arm: dts: k3-am625-phyboard-lyra: Drop bootph properties

Remove bootph properties no longer needed. These are now handled
in upstream Linux device trees.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
4 weeks agoconfigs: am335x_hs_evm_spi_defconfig: Remove duplicate symbols
Markus Schneider-Pargmann (TI.com) [Wed, 26 Nov 2025 20:25:56 +0000 (21:25 +0100)] 
configs: am335x_hs_evm_spi_defconfig: Remove duplicate symbols

Remove symbols already present in the included file.

Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agofs/jffs2: Make depend on !64BIT
Tom Rini [Wed, 12 Nov 2025 21:19:42 +0000 (15:19 -0600)] 
fs/jffs2: Make depend on !64BIT

Building this code on 64bit platforms leads to warnings (and so errors
in CI). Rather than rework the code, as this is a deprecated filesystem,
don't try and disallow building on 64bit hosts.

Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agotools: use setuptools 78.1.1
Heinrich Schuchardt [Tue, 9 Dec 2025 22:32:38 +0000 (23:32 +0100)] 
tools: use setuptools 78.1.1

CVE-2025-47273 describes a path traversal vulnerability.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agotest: dm: fdtdec: Validate FDT size in unit test
Adriana Nicolae [Tue, 9 Dec 2025 15:55:38 +0000 (07:55 -0800)] 
test: dm: fdtdec: Validate FDT size in unit test

The current FDT decoding tests calculate the memory required
for FDT manipulation by directly adding a fixed margin to
fdt_totalsize(gd->fdt_blob). The static analyzer flagged
"gd->fdt_blob->totalsize" as a tainted value being passed
to fdt_open_into().

Ensure the size is validated by checking that the total size
is within a reasonable maximum FDT limit for unit tests.

Signed-off-by: Adriana Nicolae <adriana@arista.com>
4 weeks agoconfigs: am43xx: Migrate to CONFIG_SYS_MEM_TOP_HIDE from CFG_PRAM
Beleswar Padhi [Tue, 9 Dec 2025 05:50:43 +0000 (11:20 +0530)] 
configs: am43xx: Migrate to CONFIG_SYS_MEM_TOP_HIDE from CFG_PRAM

The TI AM43xx HS boards have been using CFG_PRAM to hide the top 64MB
firewalled DRAM memory from U-Boot. However, CFG_PRAM only prevents
U-Boot from relocating into that memory, but it is still open for access
for any other usage.

Therefore, migrate into using CONFIG_SYS_MEM_TOP_HIDE which reduces the
ram size itself ensuring that memory is not visible to U-Boot at all
(either for reloc, or general usage).

Signed-off-by: Beleswar Padhi <b-padhi@ti.com>
4 weeks agoMakefile: use --output-target instead of --target
Heinrich Schuchardt [Mon, 8 Dec 2025 20:47:38 +0000 (21:47 +0100)] 
Makefile: use --output-target instead of --target

The objcopy man-page teaches:

    --target=bfdname
      Use bfdname as the object format for
      both the input and the output file

This implies for --target=efi-app-x86_64 that the input file would have
to be an EFI app.

Objcopy in binutils 2.45 checks this more strictly than previous versions
and refuses to accept an ELF file as input with --target=efi-app-x86_64.

Replace --target by --output-target for building sandbox and x86 EFI
binaries.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agoMerge tag 'u-boot-stm32-20251209' of https://source.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Wed, 10 Dec 2025 15:05:27 +0000 (09:05 -0600)] 
Merge tag 'u-boot-stm32-20251209' of https://source.denx.de/u-boot/custodians/u-boot-stm

CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/28704

_ Add 1 GiB DRAM support for STM32MP13x DHCOR SoM
_ Fix 512 MiB DRAM support for STM32MP13x DHCOR SoM
_ Fix handling OPTEE in middle of the DRAM
_ Add missing debug UART build for STM32MP1 DHSOM

4 weeks agoARM: stm32: Add missing build of debug UART init code on DH STM32MP1 DHSOM
Marek Vasut [Tue, 18 Nov 2025 23:17:23 +0000 (00:17 +0100)] 
ARM: stm32: Add missing build of debug UART init code on DH STM32MP1 DHSOM

Commit c37a6684818d ("stm32mp: fix compilation issue with DEBUG_UART")
split the debug UART initialization code into two files, but failed to
update other non-ST boards. This did not lead to noticeable breakage
until debug UART is enabled, which is not the default. Update the
Makefile accordingly to allow debug UART to work.

Fixes: c37a6684818d ("stm32mp: fix compilation issue with DEBUG_UART")
Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
4 weeks agoARM: dts: stm32: Add 1 GiB DRAM settings for DH STM32MP13xx DHCOR SoM
Marek Vasut [Tue, 18 Nov 2025 23:19:36 +0000 (00:19 +0100)] 
ARM: dts: stm32: Add 1 GiB DRAM settings for DH STM32MP13xx DHCOR SoM

Add DRAM settings for 1 GiB variant of DH STM32MP13xx DHCOR SoM
and support for SoM DRAM coding HW straps decoding and automatic
DRAM configuration selection. Enable CONFIG_BOARD_EARLY_INIT_F on
all STM32MP1 DHSOM, as it is required for the HW straps decoding.

Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
4 weeks agoARM: dts: stm32: Fix 512 MiB DRAM settings for DH STM32MP13xx DHCOR SoM
Marek Vasut [Tue, 18 Nov 2025 23:19:17 +0000 (00:19 +0100)] 
ARM: dts: stm32: Fix 512 MiB DRAM settings for DH STM32MP13xx DHCOR SoM

Update DRAM chip type and density comment for 512 MiB DRAM settings for
DH STM32MP13xx DHCOR DHSBC to match the chip on the SoM. No functional
change.

Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
4 weeks agostm32mp: Fix handling of OPTEE in the middle of DRAM
Marek Vasut [Tue, 18 Nov 2025 23:17:14 +0000 (00:17 +0100)] 
stm32mp: Fix handling of OPTEE in the middle of DRAM

STM32MP13xx may have OPTEE-OS at 0xdd000000 even on systems with 1 GiB
of DRAM at 0xc0000000, which is not the end of DRAM anymore. This puts
the OPTEE-OS in the middle of DRAM. Currently, the code sets RAM top to
0xdd000000 and prevents the DRAM range past OPTEE at 0xe0000000..0xffffffff
from being set as cacheable and from being usable. The code also sets the
area over OPTEE as invalid region in MMU tables, which is not correct.

Adjust the code such, that it only ever sets RAM top just before OPTEE
in case the OPTEE is really at the end of DRAM, mainly to be backward
compatible. Furthermore, adjust the MMU table configuration such, that
the regions over the OPTEE are simply skipped and not reconfigured, and
the regions between end of OPTEE and RAM top are set as cacheable, if
any actually exist.

Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Tested-by: Patrice Chotard <patrice.chotard@foss.st.com>
4 weeks agoMerge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into...
Tom Rini [Mon, 8 Dec 2025 21:10:53 +0000 (15:10 -0600)] 
Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into next

CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/28674

- riscv: Implement private GCC library
- mpfs: Add MPFS CPU Implementation
- andes: Stop disabling device tree relocation and some minor fixes
- sifive: Stop disabling device tree relocation
- starfive: Cleanup size types and typos

4 weeks agoMerge tag 'v2026.01-rc4' into next
Tom Rini [Mon, 8 Dec 2025 19:17:27 +0000 (13:17 -0600)] 
Merge tag 'v2026.01-rc4' into next

Prepare v2026.01-rc4

4 weeks agoPrepare v2026.01-rc4 v2026.01-rc4
Tom Rini [Mon, 8 Dec 2025 18:54:47 +0000 (12:54 -0600)] 
Prepare v2026.01-rc4

Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoMAINTAINERS: update my email address
Yao Zi [Mon, 8 Dec 2025 18:17:08 +0000 (18:17 +0000)] 
MAINTAINERS: update my email address

My old mail address, ziyao@disroot.org, has stopped working. Switch to
my new address, me@ziyao.cc, and map it in .mailmap.

Signed-off-by: Yao Zi <me@ziyao.cc>
4 weeks agoarm64: versal: Fix LTO for mini_ospi/mini_qspi
Pranav Tilak [Mon, 8 Dec 2025 13:54:24 +0000 (14:54 +0100)] 
arm64: versal: Fix LTO for mini_ospi/mini_qspi

With LTO enabled, mini U-Boot was hanging during reloc_fdt().
The initial stack pointer was placed too low, and the FDT memcpy
destination was carved only 4KB above it. This left insufficient
margin, causing the FDT copy to overwrite the live early stack
and corrupt execution before relocation.

To fix this, increase the malloc heap from 8KB to 12KB and raise the
initial stack pointer by 4KB. Together these adjustments increase
the separation between the early stack and the FDT region during
the pre-relocation phase, eliminating the overlap and fixing the
hang on mini builds (QSPI/OSPI).

Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
4 weeks agoomap3_evm: Take over maintainership
Tom Rini [Sun, 7 Dec 2025 14:50:28 +0000 (08:50 -0600)] 
omap3_evm: Take over maintainership

After talking with Derald, take over the maintainership role for this
platform.

Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agodoc: Update urllib3 version for building
Tom Rini [Sat, 6 Dec 2025 16:50:34 +0000 (10:50 -0600)] 
doc: Update urllib3 version for building

The GitHub dependabot tool has reported two "high" priority bugs,
CVE-2025-66418 and CVE-2025-66471, with this package. Update to the
patched version.

Reported-by: GitHub dependabot
Acked-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoconfigs: Resync with savedefconfig
Tom Rini [Mon, 8 Dec 2025 14:37:35 +0000 (08:37 -0600)] 
configs: Resync with savedefconfig

Resync all defconfig files using qconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoconfigs: starfive: enable wget https
E Shattow [Wed, 12 Nov 2025 00:54:42 +0000 (16:54 -0800)] 
configs: starfive: enable wget https

Enable WGET_HTTPS (no CA verification; also enables dependency MBEDTLS_LIB)

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
4 weeks agotest: provide unit tests for the RISC-V private GCC library
Heinrich Schuchardt [Mon, 1 Dec 2025 17:49:04 +0000 (18:49 +0100)] 
test: provide unit tests for the RISC-V private GCC library

Add unit tests for the functions for counting leading and trailing zero
bits.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
4 weeks agoRISC-V: implement private GCC library
Heinrich Schuchardt [Mon, 1 Dec 2025 17:49:03 +0000 (18:49 +0100)] 
RISC-V: implement private GCC library

The following functions are provided:

Count leading zero bits

* int __clzsi2 (unsigned int a)
* int __clzdi2 (unsigned long a)
* int __clzti2 (unsigned long long a)

Count trailing zero bits

* int __ctzsi2 (unsigned int a)
* int __ctzdi2 (unsigned long a)
* int __ctzti2 (unsigned long long a)

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
4 weeks agosifive-unleashed: Stop disabling device tree relocation
Tom Rini [Wed, 19 Nov 2025 14:55:36 +0000 (08:55 -0600)] 
sifive-unleashed: Stop disabling device tree relocation

Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS.

Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoae350: Stop disabling device tree relocation
Tom Rini [Wed, 19 Nov 2025 14:55:19 +0000 (08:55 -0600)] 
ae350: Stop disabling device tree relocation

Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
4 weeks agoriscv: mpfs: move SoC level options to the CPU Kconfig
Conor Dooley [Wed, 19 Nov 2025 12:38:43 +0000 (12:38 +0000)] 
riscv: mpfs: move SoC level options to the CPU Kconfig

There are multiple boards that use the PolarFire SoC, so extract
the Kconfig sections that are determined at a CPU level from the board
Kconfigs now that we have a CPU Kconfig.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
4 weeks agoriscv: create a custom CPU implementation for PolarFire SoC
Conor Dooley [Wed, 19 Nov 2025 12:38:42 +0000 (12:38 +0000)] 
riscv: create a custom CPU implementation for PolarFire SoC

PolarFire SoC needs a custom implementation of top_of_ram(), so stop
using the generic CPU & create a custom CPU instead.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
4 weeks agoram: starfive: fix typo for unsupported DDR size
E Shattow [Thu, 30 Oct 2025 06:23:34 +0000 (23:23 -0700)] 
ram: starfive: fix typo for unsupported DDR size

Fix typo for "unsupport" size and improve description to Unknown DDR size.

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 weeks agoram: starfive: use SZ_8G for 8GB memory size
E Shattow [Thu, 30 Oct 2025 06:23:33 +0000 (23:23 -0700)] 
ram: starfive: use SZ_8G for 8GB memory size

Replace numeric literal with SZ_8G consistent with other uses of types
from linux/types.h

Signed-off-by: E Shattow <e@freeshell.de>
Acked-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
4 weeks agoram: starfive: drop references to 16GB memory size
E Shattow [Thu, 30 Oct 2025 06:23:32 +0000 (23:23 -0700)] 
ram: starfive: drop references to 16GB memory size

16GB memory size is not addressable on StarFive JH-7110 SoC because the
DRAM uncached alias begins at +8GB offset from start of DRAM. The logic
for 16GB memory size is a fall-through to the default for an unknown size.
Let's drop this unnecessary 16GB memory size and rely on the case default.

Signed-off-by: E Shattow <e@freeshell.de>
4 weeks agofalcon: support booting linux from MMC/Parallel Flash
Randolph [Wed, 29 Oct 2025 08:23:28 +0000 (16:23 +0800)] 
falcon: support booting linux from MMC/Parallel Flash

To support booting Linux from MMC, the file name should be
set up correctly. To support booting Linux from Parallel Flash,
the SPL_LOAD_FIT_ADDRESS should point to the Parallel Flash.

Signed-off-by: Randolph <randolph@andestech.com>
4 weeks agoconfigs: Change default baud rate to 115200
Che-Wei Chuang [Wed, 29 Oct 2025 08:19:55 +0000 (16:19 +0800)] 
configs: Change default baud rate to 115200

Updated DTS and configuration files to set the default baud rate from 38400 to 115200.

Signed-off-by: Che-Wei Chuang <cnoize@andestech.com>
4 weeks agoriscv: cpu: Beautify the warning message
Leo Yu-Chi Liang [Wed, 29 Oct 2025 07:58:39 +0000 (15:58 +0800)] 
riscv: cpu: Beautify the warning message

Add '\n' to the end of the warning message.

Besides, if we enable console record utility,
missing the '\n' causes the console_record_readline
fail to recognize the end of string.

Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
5 weeks agoMerge patch series "Azure: Rework world build to directly use the container"
Tom Rini [Sun, 7 Dec 2025 14:10:24 +0000 (08:10 -0600)] 
Merge patch series "Azure: Rework world build to directly use the container"

This series from Tom Rini <trini@konsulko.com> makes some of our Azure
jobs easier to follow by removing the abstraction of calling docker from
the job we're running and instead following normal Azure Pipelines
conventions.

Link: https://lore.kernel.org/r/20251126234959.3909571-1-trini@konsulko.com
5 weeks agoAzure: Rework binman testsuite job to directly use the container
Tom Rini [Wed, 26 Nov 2025 23:49:59 +0000 (17:49 -0600)] 
Azure: Rework binman testsuite job to directly use the container

Similar to the changes made for the world build job, rework the binman
testsuite job as well. There's no functional changes, but makes our CI
clearer to others familiar with Azure pipelines.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoAzure: Rework world build to directly use the container
Tom Rini [Wed, 26 Nov 2025 23:49:58 +0000 (17:49 -0600)] 
Azure: Rework world build to directly use the container

While we had problems historically using buildman inside of a container
when invoked directly via Azure, rather than calling docker in our
script, that is no longer the case. We can make the job a bit easier to
understand by running it more normally. The challenge here is that our
container normally runs with an unprivileged user that we have populated
tools for and Azure creates and uses a new unprivileged user. Copy what
we need over to the new user.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoMerge patch series "board: phytec: phytec_som_detection: Add missing assignment"
Tom Rini [Sun, 7 Dec 2025 14:07:36 +0000 (08:07 -0600)] 
Merge patch series "board: phytec: phytec_som_detection: Add missing assignment"

This series from Daniel Schultz <d.schultz@phytec.de> lays the
groundwork for the phyFLEX SOMs from phytec.

Link: https://lore.kernel.org/r/20251124082506.3376876-1-d.schultz@phytec.de
5 weeks agoboard: phytec: phytec_som_detection: Add support for phyFLEX
Daniel Schultz [Mon, 24 Nov 2025 08:25:06 +0000 (00:25 -0800)] 
board: phytec: phytec_som_detection: Add support for phyFLEX

phyFLEX are SoMs based on the FPSC standard.

Add additional "SOM types" for the phyFLEX modules base on the
FPSC Gamma specification. These modules come in four different
variants; prototypes (PT), standard product (SP), KSP (KP) and
KSM (KM).

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Reviewed-by: Teresa Remmet <t.remmet@phytec.de>
Tested-by: Dominik Haller <d.haller@phytec.de>
5 weeks agoboard: phytec: phytec_som_detection: Add missing assignment
Daniel Schultz [Mon, 24 Nov 2025 08:25:05 +0000 (00:25 -0800)] 
board: phytec: phytec_som_detection: Add missing assignment

Assign the return value of snprintf (total length) to a variable to
properly check if the string has the correct length.

Currently, this variable is always zero and the length check after
snprintf will always fail.

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
5 weeks agoMerge tag 'u-boot-imx-next-20251206' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Sun, 7 Dec 2025 14:05:09 +0000 (08:05 -0600)] 
Merge tag 'u-boot-imx-next-20251206' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next

CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/28658

- Fix the i.MX9 USB instance number for revision B0.
- Add nxp-imx9image etype for binman node.
- Use default for SYS_MALLOC_F_LEN for apalis-imx8 and colibri-imx8x.
- Switch phycore-imx93 to standard boot.
- Update the nitrogen6x maintainer.

5 weeks agoboard: phytec: phycore-imx93: env: Add required uuu variables
Primoz Fiser [Fri, 5 Dec 2025 11:10:44 +0000 (12:10 +0100)] 
board: phytec: phycore-imx93: env: Add required uuu variables

Add variable 'emmc_dev' and 'sd_dev' required for NXP uuu flash scripts.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
5 weeks agoboard: phytec: phycore-imx93: Set boot_targets dynamically
Primoz Fiser [Fri, 5 Dec 2025 11:10:43 +0000 (12:10 +0100)] 
board: phytec: phycore-imx93: Set boot_targets dynamically

Set boot_targets environment variable dynamically, so that when booting
from SD-card, boot binaries are also preferably fetched from the SD-card
by default. If the user decides to set their own boot_targets, we should
not overwrite them.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 weeks agoboard: phytec: phycore-imx93: Switch to standard boot
Primoz Fiser [Fri, 5 Dec 2025 11:10:42 +0000 (12:10 +0100)] 
board: phytec: phycore-imx93: Switch to standard boot

Enable standard boot for the phyCORE-i.MX93 board and use it as a new
default. Add required standard boot variables to the environment, while
removing old boot scripts and now unnecessary environment variables.
Adjust variables according to the requirements of PHYTEC ampliphy-boot
distro-boot. Last but not least, order environment vars by alphabet and
run 'make savedefconfig' to resync defconfig.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
5 weeks agonitrogen6x: change maintainer
Simon Gaynor [Thu, 4 Dec 2025 21:29:21 +0000 (13:29 -0800)] 
nitrogen6x: change maintainer

Simon Gaynor shall be the new maintainer

Signed-off-by: Simon Gaynor <simon.gaynor@ezurio.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 weeks agoconfigs: colibri-imx8x: use default for SYS_MALLOC_F_LEN
Max Krummenacher [Thu, 4 Dec 2025 16:41:29 +0000 (17:41 +0100)] 
configs: colibri-imx8x: use default for SYS_MALLOC_F_LEN

Drop setting an explicit value for SYS_MALLOC_F_LEN. This increases
the available space to 0x10000.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
5 weeks agoconfigs: apalis-imx8: use default for SYS_MALLOC_F_LEN
Max Krummenacher [Thu, 4 Dec 2025 16:41:28 +0000 (17:41 +0100)] 
configs: apalis-imx8: use default for SYS_MALLOC_F_LEN

Drop setting an explicit value for SYS_MALLOC_F_LEN. This increases
the available space to 0x10000.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
5 weeks agoimx9: scmi: soc: USB instance number change for silicon revision B0
Fedor Ross [Mon, 1 Dec 2025 16:08:06 +0000 (17:08 +0100)] 
imx9: scmi: soc: USB instance number change for silicon revision B0

For silicon revision A1, the USB instance number for USB1 is 3 and for
USB2 it is 4. This changed for revision B0 where the USB instance number
for USB1 is 0 and for USB2 it is 1, which is the intended instance
number. Select the correct numbering according to the selected SoC
(IMX95) and its revision.

This patch is based on the information provided by:
"AN14750 Migration Guide from i.MX 95 A1 to B0; Rev. 1.0" .

Reviewed-by: Alice Guo <alice.guo@nxp.com>
Signed-off-by: Fedor Ross <fedor.ross@ifm.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
5 weeks agoimx93-u-boot: use nxp-imx9image etype for binman node
Jérémie Dautheribes (Schneider Electric) [Thu, 27 Nov 2025 17:29:20 +0000 (18:29 +0100)] 
imx93-u-boot: use nxp-imx9image etype for binman node

Similar to the imx95, use the nxp-imx9image etype for the binman node to
facilitate further modifications.

Signed-off-by: Jérémie Dautheribes (Schneider Electric) <jeremie.dautheribes@bootlin.com>