]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
3 days agoMerge patch series "clk: ti: Cleanup common functions and omap-cm" next
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/
3 days 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>
3 days 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>
3 days 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>
3 days 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 days 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>
5 days 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

5 days 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

5 days 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

5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
7 days 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

8 days 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

8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
8 days 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>
9 days 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
9 days 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>
9 days 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>
9 days 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
9 days 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>
9 days 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>
9 days 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.

10 days 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>
10 days 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>
10 days 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>
10 days 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>
10 days 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>
10 days 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>
10 days 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>
10 days 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>
10 days agoimx93-u-boot: move binman description
Jérémie Dautheribes (Schneider Electric) [Thu, 27 Nov 2025 17:29:19 +0000 (18:29 +0100)] 
imx93-u-boot: move binman description

No functional changes, only cosmetic adjustments to prepare for the next
commit.

Signed-off-by: Jérémie Dautheribes (Schneider Electric) <jeremie.dautheribes@bootlin.com>
10 days agoMerge patch series "test/py: fit: Deduplicate the test"
Tom Rini [Sat, 6 Dec 2025 17:46:15 +0000 (11:46 -0600)] 
Merge patch series "test/py: fit: Deduplicate the test"

This series from Marek Vasut <marek.vasut@mailbox.org> cleans up some of
the FIT pytests we have and then extends mkimage to support including
the TEE in FIT images when using "-f auto" to create the resulting FIT.

Link: https://lore.kernel.org/r/20251125154324.51940-1-marek.vasut@mailbox.org
10 days agomkimage: Add support for bundling TEE in mkimage -f auto
Marek Vasut [Tue, 25 Nov 2025 15:42:57 +0000 (16:42 +0100)] 
mkimage: Add support for bundling TEE in mkimage -f auto

Introduce two new parameters to be used with mkimage -f auto to bundle
TEE image into fitImage, using auto-generated fitImage. Add -z to specify
TEE file name and -Z to specify TEE load and entry point address. This is
meant to be used with systems which boot all of TEE, Linux and its DT from
a single fitImage, all booted by U-Boot.

Example invocation:
"
$ mkimage -E -A arm -C none -e 0xc0008000 -a 0xc0008000 -f auto \
          -d arch/arm/boot/zImage \
          -b arch/arm/boot/dts/st/stm32mp135f-dhcor-dhsbc.dtb \
          -z ../optee_os/out/arm-plat-stm32mp1/core/tee-raw.bin \
  -Z 0xde000000 \
          /path/to/output/fitImage
"

Documentation update and test are also included, the test validates
both positive and negative test cases, where fitImage does not include
TEE and does include TEE blobs.

Acked-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
10 days agotest/py: fit: Deduplicate the test
Marek Vasut [Tue, 25 Nov 2025 15:42:56 +0000 (16:42 +0100)] 
test/py: fit: Deduplicate the test

Introduce generate_and_check_fit_image() and call it with various
parameters to test various configurations of the fitImage. This is
identical to the existing test, expect for the code duplication.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Marek Vasut <marek.vasut@mailbox.org>
10 days agoMerge patch series "fit: allow signing with an OpenSSL engine"
Tom Rini [Sat, 6 Dec 2025 17:44:56 +0000 (11:44 -0600)] 
Merge patch series "fit: allow signing with an OpenSSL engine"

Quentin Schulz <foss+uboot@0leil.net> says:

I have a couple of products whose U-Boot FIT is signed via a proprietary
OpenSSL engine which only expects the name of a "slot" to select the key
to sign data with.

Currently mkimage fit support expects either a key-dir (-k) or a
key-file (-G) as a toggle for signing, however this doesn't apply to our
usecase because we use an OpenSSL engine (so no key-file to provide)
which doesn't mimic a directory layout like key-dir implies. Moreover,
binman really expects private keys (.key extension) to be available in
this key-dir directory, which we of course cannot provide.

This series allows to sign a FIT image with mkimage (and binman) with
an OpenSSL engine, including PKCS11 and custom engines. If a key-dir
needs to be passed (which is typical for PKCS11), one can do so by using
fit,engine-keydir.

Note that the public key (.crt extension) still needs to be available if
one wants to embed it for signature verification (which is probably what
one wants to do :) ). It is probably possible to use the engine for
getting the public key instead of storing it on disk, but this needs to
be added to fdt_add_pubkey and then binman, through a mechanism
different from fit,engine*.

One issue though is that since binman resolves key paths absolutely and
that I don't believe an OpenSSL engine would happen to have the exact
same key_id value than a local absolute path, fit,encrypt and
fit,engine cannot cohabit. An issue for the next person who wants
an OpenSSL engine AND encrypt the same FIT image, I don't.

Note that LibreSSL supports neither engines nor providers as far as I
could tell (engine support has been explicitly removed).

Note that OpenSSL engines have been deprecated since 3.0 (Q3-2021),
however note that OpenSSL 3.5 still seems to support engines (git grep)
and is EOL end of Q1 2030.

If anyone has an idea on how to test PKCS11 with SOftHSMv2 with id=
passed in fit,engine-keydir, I'm all ears.

I'm also wondering if the explanation around fit,engine-keydir aren't
too much. After all, they are passed verbatim to mkimage as -k argument
and the special cases are all specific to mkimage and not binman.

Link: https://lore.kernel.org/r/20251121-binman-engine-v3-0-b80180aaa783@cherry.de
10 days agotools: binman: fit: add tests for signing with an OpenSSL engine
Quentin Schulz [Fri, 21 Nov 2025 17:15:00 +0000 (18:15 +0100)] 
tools: binman: fit: add tests for signing with an OpenSSL engine

This adds a test that signs a FIT and verifies the signature with
fit_check_sign.

OpenSSL engines are typically for signing with external HW so it's not
that straight-forward to simulate.

For a simple RSA OpenSSL engine, a dummy engine with a hardcoded RSA
4096 private key is made available. It can be selected by setting the
OpenSSL engine argument to dummy-rsa-engine. This can only be done if
the engine is detected by OpenSSL, which works by setting the
OPENSSL_ENGINES environment variable. I have no clue if dummy-rsa-engine
is properly implementing what is expected from an RSA engine, but it
seems to be enough for testing.

For a simple PKCS11 engine, SoftHSMv2 is used, which allows to do PKCS11
without specific hardware. The keypairs and tokens are generated on the
fly. The "prod" token is generated with a different PIN (1234 instead of
1111) to also test MKIMAGE_SIGN_PIN env variable while we're at it.

Binman will not mess with the local SoftHSMv2 setup as it will only use
tokens from a per-test temporary directory enforced via the temporary
configuration file set via SOFTHSM2_CONF env variable in the tests. The
files created in the input dir should NOT be named the same as it is
shared between all tests in the same process (which is all tests when
running binman with -P 1 or with -T).

Once signed, it's checked with fit_check_sign with the associated
certificate.

Finally, a new softhsm2_util bintool is added so that we can initialize
the token and import keypairs. On Debian, the package also brings
libsofthsm2 which is required for OpenSSL to interact with SoftHSMv2. It
is not the only package required though, as it also needs p11-kit and
libengine-pkcs11-openssl (the latter bringing the former). We can detect
if it's properly installed by running openssl engine dynamic -c pkcs11.
If that fails, we simply skip the test.
The package is installed in the CI container by default.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
10 days agotools: binman: fit: add support for OpenSSL engines
Quentin Schulz [Fri, 21 Nov 2025 17:14:59 +0000 (18:14 +0100)] 
tools: binman: fit: add support for OpenSSL engines

This adds support for using an OpenSSL engine for signing a FIT image.
To use it, one should set the fit,engine property at the FIT node level
with the engine to use. This will in turn call mkimage with the -N
option.

The -k argument to mkimage can be specified via fit,engine-keydir. If
not specified, -k is not passed to mkimage. This property is especially
useful for pkcs11 engine to specify slots, token label, etc...

As far as I could tell, mkimage encrypts and signs a FIT in one go, thus
the -k argument applies to both signing and encrypting. Considering we
reuse the -k argument for two different meanings (info to pass to the
engine when using an engine otherwise the directory where keys are
stored), we cannot reasonably encrypt using local keys and signing with
an engine, hence the enforced check. I believe it should be possible to
support encrypting and signing with the same engine (using different
key pairs of course, via different key-name-hint likely), but this is
left for the next person to implement.
This is why the property is named fit,engine and not fit,sign-engine.
Ditto for fit,engine-keydir.

The public key (with .crt extension) is still required if it needs to be
embedded in the SPL DTB for example. We could probably support
retrieving the public key from an engine, but this is a change to make
to fdt_add_pubkey.c.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
10 days agotools: binman: mkimage: add support for passing the engine
Quentin Schulz [Fri, 21 Nov 2025 17:14:58 +0000 (18:14 +0100)] 
tools: binman: mkimage: add support for passing the engine

mkimage has support for OpenSSL engines but binman currently doesn't for
direct callers of mkimage (e.g. the fit etype). This prepares for adding
support for OpenSSL engines for signing elements of a FIT image, which
will done in the next commit.

Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
10 days agofit: support signing with only an engine_id
Quentin Schulz [Fri, 21 Nov 2025 17:14:57 +0000 (18:14 +0100)] 
fit: support signing with only an engine_id

Currently, when one wants to use an OpenSSL engine to sign a FIT image,
one needs to pass a keydir (via -k) to mkimage which will then be
prepended to the value of the key-name-hint before being passed as
key_id argument to the OpenSSL Engine API, or pass a keyfile (via -G) to
mkimage.

My OpenSSL engine only has "slots" which are not mapped like
directories, so using keydir is not proper, though I could simply have
-k '' I guess but this won't work currently with binman anyway.

Additionally, passing a keyfile (-G) when using an engine doesn't make
sense as the key is stored in the engine.

Let simply allow FIT images be signed if both keydir and keyfile are
missing but an engine is to be used.

The keyname member is already filled by looking at key-name-hint
property in the FIT and passed to the engine, which is exactly what is
needed here.

Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
10 days agoconfigs: phycore_am64x_a53_defconfig: Drop eMMC HS400 mode
Dominik Haller [Thu, 20 Nov 2025 21:26:17 +0000 (13:26 -0800)] 
configs: phycore_am64x_a53_defconfig: Drop eMMC HS400 mode

Remove the unsupported MMC_HS400 mode and select MMC_HS200 instead to avoid
confusion.

Signed-off-by: Dominik Haller <d.haller@phytec.de>
10 days agoarm: mach-k3: j722s: Fix eMMC boot functionality broken by Ethernet boot 838/head
Chintan Vankar [Thu, 4 Dec 2025 12:21:27 +0000 (17:51 +0530)] 
arm: mach-k3: j722s: Fix eMMC boot functionality broken by Ethernet boot

While adding CPSW device support to enable Ethernet boot for J722S,
dev-data and clk-data for eMMC was removed by mistake, which leads to eMMC
boot failure. Update the dev-data and clk-data to fix that.

Fixes: a02009f3a816 ("arm: mach-k3: j722s: Update SoC autogenerated data to enable Ethernet boot")
Reported-by: Michael Walle <mwalle@kernel.org>
Signed-off-by: Chintan Vankar <c-vankar@ti.com>
Tested-by: Michael Walle <mwalle@kernel.org>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
10 days agoupdate GCC version check after Kbuild bump
Brian Sune [Tue, 2 Dec 2025 04:10:29 +0000 (12:10 +0800)] 
update GCC version check after Kbuild bump

ARM GCC tool check is not up to date,
while issues are reported such as file truncated linker errors.
Using ARM official cross tools shows that 10.0.1 is a safe
version to support latest kbuild bump properly.

Signed-off-by: Brian Sune <briansune@gmail.com>
10 days agoMAINTAINERS: update my email address
Linus Walleij [Fri, 5 Dec 2025 16:01:38 +0000 (17:01 +0100)] 
MAINTAINERS: update my email address

I am moving over to using my email address at kernel.org.
Change this in all the affected MAINTAINERS files.

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Linus Walleij <linusw@kernel.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
10 days agoMerge tag 'efi-2026-01-rc4' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Sat, 6 Dec 2025 14:13:37 +0000 (08:13 -0600)] 
Merge tag 'efi-2026-01-rc4' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2026-01-rc4

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

Documentation:

* Correct and add missing pytest hook script environment variable names
* board: verdin-am62p: Fix boot log output
* Add a page for downloading the U-Boot logo with and without text

UEFI:

* Fix a memory leak when retrieving device paths from boot vars

10 days agodoc: board: verdin-am62p: Fix boot log output
Francesco Dolcini [Fri, 5 Dec 2025 08:27:28 +0000 (09:27 +0100)] 
doc: board: verdin-am62p: Fix boot log output

Fix boot log output not being rendered correctly, fix
it doing the same as done in verdin-am62.rst.

Fixes: b8c43968b801 ("board: toradex: add verdin am62p support")
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
10 days agoefi_loader: Fix a memory leak when retrieving device paths from boot vars
Ilias Apalodimas [Thu, 27 Nov 2025 12:19:06 +0000 (14:19 +0200)] 
efi_loader: Fix a memory leak when retrieving device paths from boot vars

get_dp_device() is used to derive the device path from a boot variable.
However, if the last efi_get_variable_int() call fails, we return an
error without freeing 'buf'.

There's no need to call efi_get_variable_int() for variables we don't
know the size since we have the efi_get_var() wrapper.

Replace that in the two instances we use it. The first one will also
fix the memory leak.
A nice sideeffect is that the code size is also reduced, since we are
re-using functions instead of open coding them

$~ bloat-o-meter u-boot u-boot.new
add/remove: 0/0 grow/shrink: 1/2 up/down: 6/-196 (-190)
Function                                     old     new   delta
version_string                                70      76      +6
efi_launch_capsules                         2288    2196     -92
get_dp_device                                244     140    -104
Total: Before=1222331, After=1222141, chg -0.02%

Fixes: c74cd8bd08d1 ("efi_loader: capsule: add capsule_on_disk support")
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
10 days agodoc: pytest: add missing hook script env vars
David Lechner [Mon, 24 Nov 2025 22:44:07 +0000 (16:44 -0600)] 
doc: pytest: add missing hook script env vars

Add the _EXTRA variants of U_BOOT_BUILD_DIR and U_BOOT_RESULT_DIR to the
list of environment variables set for hook scripts.

These were added in commit 8f2a9fa7d6e7 ("test: Support testing with two
board-builds") but were not documented.

Signed-off-by: David Lechner <dlechner@baylibre.com>
10 days agodoc: pytest: fix hook script environment variable names
David Lechner [Mon, 24 Nov 2025 22:44:06 +0000 (16:44 -0600)] 
doc: pytest: fix hook script environment variable names

Fix the names of environment variables set for hook scripts. These
have a U_BOOT_ prefix, not UBOOT_.

Signed-off-by: David Lechner <dlechner@baylibre.com>
10 days agodoc: add a page for downloading the U-Boot logo
Heinrich Schuchardt [Sat, 22 Nov 2025 22:17:38 +0000 (23:17 +0100)] 
doc: add a page for downloading the U-Boot logo

Add a page showing the logo with and without text.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
10 days agotools/logos: Add U-Boot logo with text 'U-Boot'
Heinrich Schuchardt [Sat, 22 Nov 2025 22:17:37 +0000 (23:17 +0100)] 
tools/logos: Add U-Boot logo with text 'U-Boot'

The logo with the text 'U-Boot' has been used in multiple presentations.
Up to now it was only available from my upload to wikimedia.org.
Make it available in our repository.

Link: https://upload.wikimedia.org/wikipedia/commons/9/9e/U-Boot_Logo.svg
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
10 days agoMerge patch series "clk: Return value calculated by ERR_PTR"
Tom Rini [Fri, 5 Dec 2025 23:03:36 +0000 (17:03 -0600)] 
Merge patch series "clk: Return value calculated by ERR_PTR"

Andrew Goodbody <andrew.goodbody@linaro.org> says:

Smatch reported an error where a value calculated by ERR_PTR was not
used. Fixing this to return the generated value led to a test failure
which meant updating the sandbox clock code so that it would still cause
the tests to pass with the above correction.
Debugging this problem led to a SIGSEGV which is addressed in 1/3.
Possible memory leaks noticed are addressed in 3/3.

Link: https://lore.kernel.org/r/20251121-clk_uclass_fix-v2-0-74f4ea10e194@linaro.org
10 days agoclk: Prevent memory leak on error
Andrew Goodbody [Fri, 21 Nov 2025 17:34:33 +0000 (17:34 +0000)] 
clk: Prevent memory leak on error

In clk_set_default_rates() memory is allocated to store the clock rates
that are read. Direct returns fail to free this memory leading to a
memory leak so instead use 'goto fail;' which will then perform the free
before exiting the function.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
10 days agoclk: Return value calculated by ERR_PTR
Andrew Goodbody [Fri, 21 Nov 2025 17:34:32 +0000 (17:34 +0000)] 
clk: Return value calculated by ERR_PTR

In clk_set_default_get_by_id ret is passed to ERR_PTR but nothing is
done with the value that this calculates which is obviously not the
intention of the code. This is confirmed by the code around where this
function is called.
Instead return the value from ERR_PTR.

Then fixup the sandbox code so that the test dm_test_clk does not fail
as it relied on the broken behaviour.

Finally disable part of the test that does not work correctly with
CLK_AUTO_ID

This issue found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
10 days agoclk: Prevent SIGSEGV on debug
Andrew Goodbody [Fri, 21 Nov 2025 17:34:31 +0000 (17:34 +0000)] 
clk: Prevent SIGSEGV on debug

If LOG_DEBUG is defined and a NULL clk is passed to clk_enable or
clk_disable then an attempt is made to dereference NULL in the debug
statement. Guard against this.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
10 days agoreboot-mode: Correct macro name from U_BOOT_DEVICE to U_BOOT_DRVINFO
Cibil Pankiras [Thu, 20 Nov 2025 13:32:00 +0000 (14:32 +0100)] 
reboot-mode: Correct macro name from U_BOOT_DEVICE to U_BOOT_DRVINFO

The macro U_BOOT_DEVICE has been renamed to U_BOOT_DRVINFO.
This patch updates the reference in reboot-mode-gpio.h.

Signed-off-by: Cibil Pankiras <cibil.pankiras@egym.com>
10 days agoboot: Check noffset before use
Marek Vasut [Thu, 20 Nov 2025 04:15:30 +0000 (05:15 +0100)] 
boot: Check noffset before use

If noffset is negative, do not pass it to fit_get_name() and then further to
libfdt, this will crash sandbox with SIGSEGV because libfdt can not handle
negative node offsets without full tree check, which U-Boot inhibits to keep
size lower.

Instead, always check noffset before use, and if the return value indicates
failure, exit right away.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
10 days agoconfigs: am64x, am65x: add CONFIG_DA8XX_GPIO
Anshul Dalal [Thu, 20 Nov 2025 09:31:27 +0000 (15:01 +0530)] 
configs: am64x, am65x: add CONFIG_DA8XX_GPIO

The DA8xx GPIO driver was not being built as part of the A53 U-Boot
image on AM64x and AM65x. This meant only i2c GPIO expanders were
accessible to the users from the U-Boot prompt.

This patch fixes it by setting CONFIG_DA8XX_GPIO.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
10 days agoboard: ti: CAT24C256WI-GT3 require min. 5ms delay (tWR) between write/read
Marian Cingel [Sat, 8 Nov 2025 23:23:25 +0000 (23:23 +0000)] 
board: ti: CAT24C256WI-GT3 require min. 5ms delay (tWR) between write/read

Otherwise the custom-cape eeprom (at address 57) reports NACK which
results into "i2c_write: error waiting for data ACK (status=0x116)" and
terminates further scanning.

Signed-off-by: Marian Cingel <cingel.marian@gmail.com>
10 days agoautoboot: Fix inconsistent countdown output
Sam Protsenko [Mon, 27 Oct 2025 00:24:58 +0000 (19:24 -0500)] 
autoboot: Fix inconsistent countdown output

Commit 5f70be08b015 ("Fix autoboot countdown printing wrong") introduces
inconsistency in how the countdown is displayed. For example, in case
when BOOTDELAY=5, the next output is observed during the boot:

    Hit any key to stop autoboot:  5
    Hit any key to stop autoboot: 4
    Hit any key to stop autoboot: 3

That happens due to different printf format (%2d vs %1d). Moreover, the
mentioned commit fails to handle the case when the user is holding some
key before the countdown is shown. E.g. if BOOTDELAY=101, the next
malformed output is being produced:

    Hit any key to stop autoboot: 1 0

That's because the fast path code wasn't modified accordingly, and still
tries to erase the number using '\b\b\b' format.

Fix both issues by introducing a dedicated routine for printing the
whole countdown line.

Fixes: 5f70be08b015 ("Fix autoboot countdown printing wrong")
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Acked-by: David Zang <davidzangcs@gmail.com>
10 days agoexamples: Fix checking id parameter in thread_start
Francois Berder [Sat, 22 Nov 2025 20:45:02 +0000 (21:45 +0100)] 
examples: Fix checking id parameter in thread_start

lthreads is of size MAX_THREADS, hence id must be lower than
MAX_THREADS to avoid any potential buffer overflow in
thread_start function.

Signed-off-by: Francois Berder <fberder@outlook.fr>
10 days agofs/erofs: Fix realloc error handling
Francois Berder [Tue, 11 Nov 2025 12:49:30 +0000 (13:49 +0100)] 
fs/erofs: Fix realloc error handling

If realloc failed, raw was not freed and thus memory
was leaked.

Signed-off-by: Francois Berder <fberder@outlook.fr>
10 days agofirmware: ti_sci: Fix memory leaks in devm_ti_sci_get_of_resource
Francois Berder [Tue, 11 Nov 2025 10:30:19 +0000 (11:30 +0100)] 
firmware: ti_sci: Fix memory leaks in devm_ti_sci_get_of_resource

- Fix temp memory leak
- Free memory during error handling

Signed-off-by: Francois Berder <fberder@outlook.fr>
10 days agoclk: ti: Tighten some TI clock driver dependencies
Tom Rini [Mon, 6 Oct 2025 15:38:59 +0000 (09:38 -0600)] 
clk: ti: Tighten some TI clock driver dependencies

Attempting to build with "allyesconfig" means that we try and build all
available options for the sandbox platforms. Doing so exposes that the
drivers under drivers/clk/ti/ can only be compiled or linked on
ARCH_OMAP2PLUS platforms as some drivers require platform specific
headers while other drivers depend on these first drivers to link.
Express those requirements in Kconfig as well.

Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agomtd: Tighten some driver dependencies
Tom Rini [Fri, 26 Sep 2025 15:31:40 +0000 (09:31 -0600)] 
mtd: Tighten some driver dependencies

The ALTERA_QSPI driver conflicts with the regular FLASH_CFI_DRIVER as
both implement the same high level functionality and so use the same
global namespace. In a similar fashion, all NAND drivers are mutually
exclusive due to namespace collisions. For the remaining drivers which
did not already have some architecture specific dependency, add them.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agoMerge patch series "led: remove unused legacy LED code"
Tom Rini [Fri, 5 Dec 2025 19:38:32 +0000 (13:38 -0600)] 
Merge patch series "led: remove unused legacy LED code"

Quentin Schulz <quentin.schulz@cherry.de> says:

Only the Siemens corvus board seems to be using these two status LEDs
from the legacy LED API.

Since we're trying to get rid of the last users of the legacy LED API,
let's migrate Corvus to the modern LED API instead, which uses DM. For
Corvus's case, it also uses DM_GPIO (already enabled in defconfig).

Since there was no use for the green status_led (not compiled in), it
simply is removed without migrating it to the modern API. If need be, we
can always add a new gpio-led in the FDT.

Note that I do not own a Siemens Corvus board so it's a bit of a shot in
the dark whether it'll work on the first try, only build tested.

The red LED should be on whenever reaching U-Boot proper CLI, if not we
have an issue.

The LED should be controllable with the led command from U-Boot proper
CLI.

Link: https://lore.kernel.org/r/20251119-corvus-led-red-green-v1-0-ce86b8d59dfc@cherry.de
11 days agoled: remove support for red LED in legacy API
Quentin Schulz [Wed, 19 Nov 2025 17:01:15 +0000 (18:01 +0100)] 
led: remove support for red LED in legacy API

To the exception of red_led_on in the arm-specific assembly code, all
code interacting with the red status LED was guarded by the
CONFIG_LED_STATUS_RED symbol, which is enabled in none of the upstream
defconfigs.

Since the last board which overrode the weak red_led_on function got
migrated to the new LED mechanism, there's also no user of the
arm-specific assembly code anymore, therefore it can be removed along
the other unreachable code sections.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
11 days agocorvus: migrate red LED to the modern API
Quentin Schulz [Wed, 19 Nov 2025 17:01:14 +0000 (18:01 +0100)] 
corvus: migrate red LED to the modern API

red_led_on is either called from the legacy LED shell command (which is
disabled for corvus) or from arm-specific assembly code right before
jumping into board_init_r() in U-Boot proper.

Let's migrate to use the more modern LED subsystem by migrating to DM.

The default-state is set to on to mimic red_led_on() from the
arm-specific assembly code as a missing default-state FDT property
currently means the LED is not probed except if explicitly done via the
led shell command. Note though that this is running much later in the
boot process, once DM is started.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Heiko Schocher <hs@nabladev.com>