]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
27 hours agosandbox: enable FIT_SIGNATURE master
Philippe Reynes [Wed, 15 Apr 2026 15:17:59 +0000 (17:17 +0200)] 
sandbox: enable FIT_SIGNATURE

Since commit d09256283f72 ("FIT: Image pre-load signature
support must select not depends on FIT_SIGNATURE")
FIT_SIGNATURE is disabled on sandbox. But this config
is used on many fit signature tests. So FIT_SIGNATURE should
be enabled on sandbox.

Fixes: d09256283f72 ("FIT: Image pre-load signature support must select not depends on FIT_SIGNATURE")
Signed-off-by: Philippe Reynes <philippe.reynes@softathome.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
29 hours agoMerge branch 'master' of git://source.denx.de/u-boot-usb
Tom Rini [Fri, 17 Apr 2026 16:12:44 +0000 (10:12 -0600)] 
Merge branch 'master' of git://source.denx.de/u-boot-usb

- dwc3 memory leak fixes

29 hours agoMerge tag 'efi-2026-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 17 Apr 2026 16:12:18 +0000 (10:12 -0600)] 
Merge tag 'efi-2026-07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2026-07-rc1

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

Documentation:

* correct title of CONTRIBUTE.rst
* Fix fdt resize argument in fdt_overlays.rst
* api: bootcount: correct bootcount description
* binman: Add Sphinx extension to auto-generate entry and bintool docs
* binman: Remove pre-generated entries.rst and bintools.rst
*  j784s4_evm: Automate BAR address lookup for PCIe Boot

UEFI:

* efi_var_sf: Do not fail on blank SPI Flash
* Allow disabling ANSI console queries via Kconfig
* bootstd: efi: Handle prior-stage FDT in network path
* event: Check return value from event_notify_null()
* event: Introduce EVT_POST_PREBOOT event
* fwu: Move boottime checks to EVT_POST_PREBOOT

31 hours agousb: dwc3: core: fix memory leaks in event buffer cleanup
Gurumoorthy Santhakumar [Thu, 16 Apr 2026 05:55:01 +0000 (11:25 +0530)] 
usb: dwc3: core: fix memory leaks in event buffer cleanup

In dwc3_free_one_event_buffer(), only the DMA buffer (evt->buf) was
being freed via dma_free_coherent(), but the evt structure itself was
never explicitly freed, causing a memory leak.

In dwc3_free_event_buffers(), the ev_buffs pointer array allocated
with memalign() was never freed after iterating and releasing all
individual event buffers, causing another memory leak.

Fix both leaks by freeing the evt struct in
dwc3_free_one_event_buffer() and freeing dwc->ev_buffs in
dwc3_free_event_buffers() after all entries have been released.

Signed-off-by: Gurumoorthy Santhakumar <gurumoorthy.santhakumar@oss.qualcomm.com>
Reviewed-by: Marek Vasut <marek.vasut+usb@mailbox.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
39 hours agodoc: board: ti: j784s4_evm: Automate BAR address lookup for PCIe Boot
Siddharth Vadapalli [Sun, 12 Apr 2026 06:46:17 +0000 (12:16 +0530)] 
doc: board: ti: j784s4_evm: Automate BAR address lookup for PCIe Boot

When the J784S4-EVM is configured for PCIe Boot, the Bootloaders are to
be written to the address specified by particular BARs. The existing
documentation hard-codes the address corresponding to the BAR under the
assumption that the Root-Complex transferring the Bootloaders is also
a J784S4-EVM. The Root-Complex assigns addresses to the BARs depending
on the currently available set of free system addresses. Since the free
system addresses vary with the Root-Complex being used, instead of
hard-coding the BARs, automate the process of identifying the appropriate
BAR in the form of a command to be run by the user on the Root-Complex.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
39 hours agodoc: correct title of CONTRIBUTE.rst
Heinrich Schuchardt [Mon, 13 Apr 2026 06:24:39 +0000 (08:24 +0200)] 
doc: correct title of CONTRIBUTE.rst

The title should be 'Contributing' as this is not the 'Overview' of the
U-Boot project.

The top title should be H1, the other titles H2.

Fixes: 0290cec364f6 ("Add an initial CONTRIBUTE.rst")
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
39 hours agodoc: api: bootcount: correct bootcount description
Michael Opdenacker [Mon, 6 Apr 2026 09:57:18 +0000 (09:57 +0000)] 
doc: api: bootcount: correct bootcount description

The bootcount variable is only incremented
when the upgrade_variable is non-zero,
as implemented in drivers/bootcount/bootcount_env.c

Signed-off-by: Michael Opdenacker <michael.opdenacker@rootcommit.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
39 hours agobootstd: efi: Handle prior-stage FDT in network path
Simon Glass [Sun, 5 Apr 2026 11:34:32 +0000 (05:34 -0600)] 
bootstd: efi: Handle prior-stage FDT in network path

When CONFIG_OF_HAS_PRIOR_STAGE is enabled and fdtfile is not set,
efi_get_distro_fdt_name() returns -EALREADY to indicate the prior-stage
FDT should be used. The block-device EFI path handles this by setting
BOOTFLOWF_USE_PRIOR_FDT, but the network path treats it as an error,
causing the bootflow to stay in 'base' state with a -EALREADY error.

This also means fdt_addr_r is required even when no FDT download is
needed, giving a spurious  -EINVAL error.

Fix this by calling efi_get_distro_fdt_name() before checking
fdt_addr_r, and handling -EALREADY by setting BOOTFLOWF_USE_PRIOR_FDT
to skip the FDT download, matching the block-device behaviour.

THere is no test for this at present, since sandbox does not enable
CONFIG_OF_HAS_PRIOR_STAGE and lacks infra for network-based EFI boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
39 hours agodoc: Fix fdt resize argument in fdt_overlays.rst
Matwey V. Kornilov [Fri, 3 Apr 2026 15:37:33 +0000 (18:37 +0300)] 
doc: Fix fdt resize argument in fdt_overlays.rst

The argument is parsed as hexadecimal number.

Link: https://lists.denx.de/pipermail/u-boot/2026-April/613799.html
Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
39 hours agoefi_loader: Allow disabling ANSI console queries via Kconfig
Michal Simek [Wed, 18 Mar 2026 14:24:52 +0000 (15:24 +0100)] 
efi_loader: Allow disabling ANSI console queries via Kconfig

Commit 4cb724364030 ("efi_loader: Disable ANSI output for tests")
introduced efi_console_set_ansi() to suppress ANSI escape sequences
during unit tests. Extend this mechanism to be configurable via a new
Kconfig option CONFIG_EFI_CONSOLE_DISABLE_ANSI.

When CONFIG_EFI_CONSOLE_DISABLE_ANSI is enabled,
efi_console_set_ansi(false) is called at the start of
efi_setup_console_size(). This prevents query_console_serial() from
sending ANSI escape sequences to the terminal, using default 25x80
dimensions instead. This is useful for platforms where the serial
console cannot handle ANSI queries.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
39 hours agofwu: Move boottime checks to EVT_POST_PREBOOT
Michal Simek [Thu, 2 Apr 2026 15:37:00 +0000 (17:37 +0200)] 
fwu: Move boottime checks to EVT_POST_PREBOOT

Switch fwu_boottime_checks() from EVT_MAIN_LOOP to EVT_POST_PREBOOT
because there is no reason to call FWU so early. FWU triggers EFI
stack initialization before all devices are visible which prevents
the EFI stack from scanning these devices and adding them to EFI
variables.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
39 hours agoevent: Introduce EVT_POST_PREBOOT event
Michal Simek [Thu, 2 Apr 2026 15:36:59 +0000 (17:36 +0200)] 
event: Introduce EVT_POST_PREBOOT event

Add a new EVT_POST_PREBOOT event type which is fired in main_loop()
after the preboot command has been executed.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
39 hours agoevent: Check return value from event_notify_null()
Michal Simek [Thu, 2 Apr 2026 15:36:58 +0000 (17:36 +0200)] 
event: Check return value from event_notify_null()

event_notify_null() returns int but its return value is not
checked in run_main_loop() and in fwu_mdata tests.
Add proper error checking to all unchecked call sites.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
40 hours agoefi_loader: efi_var_sf: Do not fail on blank SPI Flash
Michal Simek [Thu, 19 Mar 2026 07:15:07 +0000 (08:15 +0100)] 
efi_loader: efi_var_sf: Do not fail on blank SPI Flash

When SPI Flash is blank (first boot or erased), efi_var_from_storage()
returns EFI_DEVICE_ERROR because efi_var_restore() fails on invalid
magic/CRC. This prevents the EFI subsystem from initializing.

Check the magic value before attempting to restore variables. If
the magic does not match EFI_VAR_FILE_MAGIC, treat it as an empty
store and return EFI_SUCCESS, matching the behavior of the file-based
efi_var_file.c which deliberately returns EFI_SUCCESS on missing or
corrupted variable files to avoid blocking the boot process.

Similarly, if the magic matches but efi_var_restore() fails (e.g.
corrupted CRC), log the error but still return EFI_SUCCESS.

Suggested-by: John Toomey <john.toomey@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
40 hours agobinman: Remove pre-generated entries.rst and bintools.rst
Simon Glass [Wed, 18 Mar 2026 13:23:57 +0000 (07:23 -0600)] 
binman: Remove pre-generated entries.rst and bintools.rst

These files are now auto-generated by the binman_docs Sphinx extension
during the doc build, so the committed copies and their symlinks in
doc/develop/package/ are no longer needed.

Update binman.rst to reference the Sphinx extension instead of the
manual generation commands.

Signed-off-by: Simon Glass <sjg@chromium.org>
Rebased to apply file deletions cleanly.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
40 hours agobinman: Add Sphinx extension to auto-generate entry and bintool docs
Simon Glass [Wed, 18 Mar 2026 13:23:56 +0000 (07:23 -0600)] 
binman: Add Sphinx extension to auto-generate entry and bintool docs

Currently entries.rst and bintools.rst are generated manually by running
'binman entry-docs' and 'binman bintool-docs', then committed to the
repo. This means the docs can drift out of date when docstrings are
updated but the RST files are not regenerated.

Add a Sphinx extension (binman_docs) that provides two custom
directives:

    .. binman-entry-docs::
    .. binman-bintool-docs::

These parse the etype and btool source files using the ast module to
extract class docstrings, then insert the documentation directly into
the document tree. This avoids the need to import binman modules (which
have dependencies like libfdt that are not available in the ReadTheDocs
build environment) and avoids writing any intermediate files.

Signed-off-by: Simon Glass <sjg@chromium.org>
3 days agomtd: spi-nor-ids: add flags for mx25u12835f
David Lechner [Fri, 3 Apr 2026 20:31:03 +0000 (15:31 -0500)] 
mtd: spi-nor-ids: add flags for mx25u12835f

Add some capability flags for mx25u12835f.

In particular, we are interested in using the lock feature. According to
the datasheet, dual/quad read is also supported.

Signed-off-by: David Lechner <dlechner@baylibre.com>
3 days agospi: Correct dependencies for SPI_FLASH_SST
Tom Rini [Mon, 23 Mar 2026 19:52:59 +0000 (13:52 -0600)] 
spi: Correct dependencies for SPI_FLASH_SST

The SPI_FLASH_SST functionality is a subset of SPI_FLASH_LOCK today, so
express this dependency in Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 days agomtd: spi-nor: Add is25wx128 and is25lx128 chips
Flaviu Nistor [Wed, 18 Mar 2026 20:09:12 +0000 (22:09 +0200)] 
mtd: spi-nor: Add is25wx128 and is25lx128 chips

Add is25wx128 and is25lx128 ISSI chips to
spi-nor id table.
Both chips have a size of 16MB but is25wx128
is the 1.8V version and is25lx128 is the 3v
version.

Signed-off-by: Flaviu Nistor <flaviu.nistor@gmail.com>
3 days agomtd: spi-nor-ids: Add support for IS25WP01GG SPI NOR flash
Chen Huei Lok [Wed, 18 Mar 2026 02:59:05 +0000 (10:59 +0800)] 
mtd: spi-nor-ids: Add support for IS25WP01GG SPI NOR flash

Add a new entry for the IS25WP01GG SPI NOR flash (ID 0x9d7021,
64KB sectors, 2KB page size) with 4K sectors, dual and quad read
support. This flash is used and tested on N5X boards.

Datasheet :
https://www.issi.com/WW/pdf/25LP-WP01GG.pdf

Signed-off-by: Chen Huei Lok <chen.huei.lok@altera.com>
3 days agomtd: spi-nor: Add gd25lx128j chip
Flaviu Nistor [Mon, 9 Mar 2026 19:44:10 +0000 (21:44 +0200)] 
mtd: spi-nor: Add gd25lx128j chip

Add gd25lx128j GIGADEVICE chip to spi-nor id table.

Signed-off-by: Flaviu Nistor <flaviu.nistor@gmail.com>
3 days agomtd: spi-nor: ids: add ISSI IS25LP*J/*MJ/*E and IS25WP*J/*MJ device IDs
Jeffrey Yu [Mon, 23 Feb 2026 20:59:24 +0000 (20:59 +0000)] 
mtd: spi-nor: ids: add ISSI IS25LP*J/*MJ/*E and IS25WP*J/*MJ device IDs

Add JEDEC ID table entries for additional ISSI SPI-NOR devices.

These parts previously not yet supported.
With these entries, U-Boot can match the device by JEDEC ID
and use the existing ISSI SPI-NOR device handling.

Newly added devices include:
  - IS25LP512MJ  (JEDEC 0x9d6020)
    https://www.issi.com/WW/pdf/25LP-WP512MJ.pdf
  - IS25WP512MJ  (JEDEC 0x9d7020)
    https://www.issi.com/WW/pdf/25LP-WP512MJ.pdf
  - IS25LP010E   (JEDEC 0x9d4011)
    https://www.issi.com/WW/pdf/25LP-WP040E-020E-010E-512E-025E.pdf
  - IS25LP020E   (JEDEC 0x9d4012)
    https://www.issi.com/WW/pdf/25LP-WP040E-020E-010E-512E-025E.pdf
  - IS25LP040E   (JEDEC 0x9d4013)
    https://www.issi.com/WW/pdf/25LP-WP040E-020E-010E-512E-025E.pdf
  - IS25LP01GJ   (JEDEC 0x9d6021)
    https://www.issi.com/WW/pdf/25LP-WP01GJ.pdf
  - IS25LP02GG   (JEDEC 0x9d6022)
    https://www.issi.com/WW/pdf/25LP-WP02GG.pdf
  - IS25LP02GJ   (JEDEC 0x9d6022)
    https://www.issi.com/WW/pdf/25LP-WP02GJ.pdf
  - IS25WP01GG   (JEDEC 0x9d7021)
    https://www.issi.com/WW/pdf/25LP-WP01GG.pdf
  - IS25WP01GJ   (JEDEC 0x9d7021)
    https://www.issi.com/WW/pdf/25LP-WP01GJ.pdf
  - IS25WJ128F   (JEDEC 0x9d7118)
    https://www.issi.com/WW/pdf/25WJ128F.pdf
  - IS25WP02GG   (JEDEC 0x9d7022)
    https://www.issi.com/WW/pdf/25LP-WP02GG.pdf
  - IS25WP02GJ   (JEDEC 0x9d7022)
    https://www.issi.com/WW/pdf/25LP-WP02GJ.pdf

Signed-off-by: jeffrey yu <jeyu@issi.com>
[trini: Fix spacing issues]
Signed-off-by: Tom Rini <trini@konsulko.com>
3 days agospi: cadence_xspi: enable automatic platform data allocation
Chen Huei Lok [Mon, 9 Feb 2026 08:10:07 +0000 (16:10 +0800)] 
spi: cadence_xspi: enable automatic platform data allocation

Enable automatic allocation of platform data for the Cadence XSPI
controller by setting .plat_auto.

Without this, dev_get_plat() may return invalid or uninitialized
platform data when multiple XSPI controllers are present, leading
to incorrect IOBASE/SDMABASE/AUXBASE values and causing SPI flash
probe failures.

Setting .plat_auto ensures each controller instance receives a
properly sized cdns_xspi_plat structure, allowing SF probe to work
correctly.

Tested on an Altera Simics platform with multiple XSPI controllers.

Signed-off-by: Chen Huei Lok <chen.huei.lok@altera.com>
3 days agomtd: spi-nor: Add Dosilicon DS25M/Q series support
Ssunk [Sun, 8 Feb 2026 04:17:57 +0000 (12:17 +0800)] 
mtd: spi-nor: Add Dosilicon DS25M/Q series support

Add support for dosilicon ds25m4cb, ds25m4dn, ds25q4cb, ds25q4dn

Datasheets:
ds25m4cb:
https://www.dosilicon.com/resources/SPI%20NOR/DS25M4CB-XXXXX_Rev04.pdf
ds25m4dn:
https://www.dosilicon.com/resources/SPI%20NOR/DS25M4DN-XXXXX_Rev03.pdf
ds25q4cb:
https://www.dosilicon.com/resources/SPI%20NOR/DS25Q4CB-XXXXX_Rev03.pdf
ds25q4dn:
https://www.dosilicon.com/resources/SPI%20NOR/DS25Q4DN-XXXXX_Rev01.pdf

Signed-off-by: Ssunk <ssunkkan@gmail.com>
[trini: Adjust spacing]
Signed-off-by: Tom Rini <trini@konsulko.com>
3 days agomtd: spi: spi-nor-ids: Add support for XMC XM25QH01D
Ssunk [Fri, 6 Feb 2026 16:37:13 +0000 (00:37 +0800)] 
mtd: spi: spi-nor-ids: Add support for XMC XM25QH01D

Add support for XMC XM25QH01D SPI NOR flash.

Datasheet: https://www.xmcwh.com/uploads/958/XM25QH01D_Ver1.0.pdf
Link: https://lore.kernel.org/u-boot/20250827105854.10746-1-ssunkkan@gmail.com/
3 days agomtd: spi-nor: ids: Add support for Puyasemi flash chips
Ssunk [Thu, 5 Feb 2026 15:20:02 +0000 (23:20 +0800)] 
mtd: spi-nor: ids: Add support for Puyasemi flash chips

Add JEDEC IDs for Puyasemi PY25F512HB, PY25F01GHB, PY25F512LC,
and PY25F01GLC flash parts.

Datasheets:
PY25F512HB:
https://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash%20%E8%8A%AF%E7%89%87/PY25F512HB_Datasheet_V1.2.pdf
PY25F01GHB:
https://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25F01GHB_Datasheet_V1.1.pdf
PY25F512LC:
https://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash/PY25F512LC_Datasheet_V1.3.pdf
PY25F01GLC:
https://www.puyasemi.com/download_path/%E6%95%B0%E6%8D%AE%E6%89%8B%E5%86%8C/Flash%20%E8%8A%AF%E7%89%87/PY25F01GLC_Datasheet_V1.0.pdf

Reviewed-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Ssunk <ssunkkan@gmail.com>
4 days agox86: there is no CONFIG_UBOOT_ROMSIZE_KB_12288 902/head
Heinrich Schuchardt [Wed, 25 Feb 2026 15:50:50 +0000 (16:50 +0100)] 
x86: there is no CONFIG_UBOOT_ROMSIZE_KB_12288

Remove the reference to the non-existent symbol. As ROMs typically
come as powers of two there seems no need for this value.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fixes: 64542f4616c4 ("x86: Make ROM_SIZE configurable in Kconfig")
Reviewed-by: Tom Rini <trini@konsulko.com>
4 days agox86/apollolake: don't select non-existent INTEL_PMC
Heinrich Schuchardt [Wed, 25 Feb 2026 06:23:01 +0000 (07:23 +0100)] 
x86/apollolake: don't select non-existent INTEL_PMC

Symbol CONFIG_INTEL_PMC does not exist.
Don't select it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fixes: 1fc541931461 ("x86: apl: Add Kconfig and Makefile")
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 days agoMerge patch series "serial: goldfish: Add debug uart support"
Tom Rini [Tue, 14 Apr 2026 19:25:32 +0000 (13:25 -0600)] 
Merge patch series "serial: goldfish: Add debug uart support"

This series from Daniel Palmer <daniel@0x0f.com> improves debug UART
support on QEMU on M68K by adding debug uart support to the serial
driver.

Link: https://lore.kernel.org/r/20260309105110.672832-1-daniel@0x0f.com
4 days agodoc: board: virt: m68k: Detail how to use debug uart
Daniel Palmer [Mon, 9 Mar 2026 10:51:10 +0000 (19:51 +0900)] 
doc: board: virt: m68k: Detail how to use debug uart

Add a paragraph to explain how to get the address of the goldfish
tty and use it as the debug uart. I think the address is actually
fixed right now but it might change in the future.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
4 days agom68k: m680x0: Initialise the debug uart
Daniel Palmer [Mon, 9 Mar 2026 10:51:09 +0000 (19:51 +0900)] 
m68k: m680x0: Initialise the debug uart

Once the stack is ready we can init the debug uart to help
with debugging so do that.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Acked-by: Angelo Dureghello <angelo@kernel-space.org>
4 days agoserial: goldfish: Add debug uart support
Daniel Palmer [Mon, 9 Mar 2026 10:51:08 +0000 (19:51 +0900)] 
serial: goldfish: Add debug uart support

Add debug support for the goldfish tty so it can be used for
early debugging. This will be really useful when adding support
for relocation to the m68k qemu virt machine.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Reviewed-by: Kuan-Wei Chiu <visitorckw@gmail.com>
Tested-by: Kuan-Wei Chiu <visitorckw@gmail.com>
4 days agoMerge patch series "A few linker-list fixes"
Tom Rini [Tue, 14 Apr 2026 17:04:04 +0000 (11:04 -0600)] 
Merge patch series "A few linker-list fixes"

Simon Glass <sjg@chromium.org> says:

This series includes two patches to fix alignment problems with linker
lists. In certain circumstances these can cause the drivers list to be
non-contiguous, causing crashes, hangs, etc.

Link: https://lore.kernel.org/r/20260321134626.516665-1-sjg@chromium.org
4 days agodm: Fix linker list alignment for ll_entry_get()
Simon Glass [Sat, 21 Mar 2026 13:46:24 +0000 (07:46 -0600)] 
dm: Fix linker list alignment for ll_entry_get()

The extern declaration in ll_entry_get() lacks the __aligned(4)
attribute present in ll_entry_declare(). When the compiler sees an
unaligned extern reference to a linker list entry in the same
compilation unit as its definition, it may increase the section
alignment beyond the expected struct size. This causes gaps in the
linker list array, which the alignment checker reports as failures.

For example, sandbox_dir is both defined and referenced via
DM_DRIVER_GET() in sandboxfs.c. The compiler applies 32-byte
alignment to its section instead of the 4-byte alignment from the
definition, creating an 8-byte gap before it in the driver list.

Add __aligned(4) to the extern declaration in ll_entry_get() to
match ll_entry_declare()

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 days agolinker_lists: Fix end-marker alignment to prevent padding
Simon Glass [Sat, 21 Mar 2026 13:46:23 +0000 (07:46 -0600)] 
linker_lists: Fix end-marker alignment to prevent padding

Change the alignment of end markers in ll_entry_end() and ll_end_decl()
from __aligned(4) and __aligned(CONFIG_LINKER_LIST_ALIGN) respectively
to __aligned(1).

The linker places zero-size end markers at aligned boundaries based on
what follows them. When the next list's start marker has a high alignment
requirement (e.g., 32 bytes), padding gets inserted before the end
marker. This causes the byte span (end - start) to not be an exact
multiple of the struct size.

The compiler optimises pointer subtraction (end - start) using
magic-number multiplication for division. This optimisation only produces
correct results when the byte span is an exact multiple of the struct
size. With padding, the result is garbage (e.g., -858993444 instead of
15).

By using __aligned(1), the end marker is placed immediately after the
last entry with no padding, ensuring (end - start) equals exactly
(n * sizeof) where n is the number of entries. This makes
ll_entry_count() and direct pointer arithmetic work correctly.

Fixes: 0b2fa98aa5e5 ("linker_lists: Fix alignment issue")
Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 days agoboard: toradex: fix tdx-cfg-block prompt buffer overflow
Ngo Luong Thanh Tra [Sat, 28 Mar 2026 06:01:32 +0000 (13:01 +0700)] 
board: toradex: fix tdx-cfg-block prompt buffer overflow

Replace unbounded sprintf() with snprintf() using sizeof(message)
as the bound for all prompt string assignments in
get_cfgblock_interactive(), get_cfgblock_carrier_interactive(),
do_cfgblock_carrier_create() and do_cfgblock_create(). The
previous calls had no size limit and could overflow the
CONFIG_SYS_CBSIZE-sized stack buffer if SYS_CBSIZE was configured
smaller than the longest prompt string (71 bytes).

Fixes: 8b6dc5d3943c ("toradex: tdx-cfg-block: Cleanup interactive cfg block creation")
Signed-off-by: Ngo Luong Thanh Tra <S4210155@student.rmit.edu.au>
To: u-boot@lists.denx.de

4 days agoboard: samsung: fix set_board_info() board_name buffer overflow
Ngo Luong Thanh Tra [Sat, 28 Mar 2026 06:01:31 +0000 (13:01 +0700)] 
board: samsung: fix set_board_info() board_name buffer overflow

Replace unbounded sprintf() with snprintf() using sizeof(info) as
the bound when constructing the board_name string from bdname and
bdtype. The previous call had no size limit and could overflow the
64-byte stack buffer if the concatenated string exceeded 63 bytes.

Fixes: c9c36bf56e4c ("samsung: misc: use board specific functions to set env board info")
Signed-off-by: Ngo Luong Thanh Tra <S4210155@student.rmit.edu.au>
To: u-boot@lists.denx.de

4 days agoconfig_distro_bootcmd: do not scan boot partitions if distro_bootpart is defined
Hugo Villeneuve [Fri, 27 Mar 2026 15:16:07 +0000 (11:16 -0400)] 
config_distro_bootcmd: do not scan boot partitions if distro_bootpart is defined

For some projects, designing the active bootable partition is done by
setting distro_bootpart in the environment instead of changing the bootable
flag on the active partition.

This patch makes it possible to support both models by scanning boot
partitions only if distro_bootpart is not defined in the environment.

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
4 days agoboard: nanopi2: fix bd_update_env() cmdline buffer overflow
Ngo Luong Thanh Tra [Sat, 28 Mar 2026 05:15:48 +0000 (12:15 +0700)] 
board: nanopi2: fix bd_update_env() cmdline buffer overflow

Replace unbounded strcpy()/sprintf() calls with snprintf() and
check the return value against remaining buffer capacity at each
append step. The previous size guard did not account for
subsequent dpi suffix, remaining bootargs tail, and bootdev
token appends, allowing overflow when those later writes exceed
the remaining space.

Fixes: d1611086e005 ("arm: add support for SoC s5p4418 (cpu) / nanopi2 board")
To: u-boot@lists.denx.de

Signed-off-by: Ngo Luong Thanh Tra <S4210155@student.rmit.edu.au>
Tested-by: Stefan Bosch <stefan_b@posteo.net>
4 days agoarm: Add ARMv8-M aarch32 support
Marek Vasut [Sun, 29 Mar 2026 23:14:12 +0000 (01:14 +0200)] 
arm: Add ARMv8-M aarch32 support

Add configuration for ARMv8-M aarch32 core, which are currently
Cortex-M23/M33 cores. These cores are treated similar to ARMv7-M
cores, except the code has to be compiled with matching compiler
-march=armv8-m.main flag . These cores have no MMU, they have MPU,
which is currently not configured.

Unlike ARMv7-M, these cores have 512 interrupt vectors. While the
SYS_ARM_ARCH should be set to 8, it is set to 7 because all of the
initialization code is built from arch/arm/cpu/armv7m and not armv8.
Furthermore, CONFIG_ARM64 must be disabled, although DTs for devices
using these cores do come from arch/arm64/boot/dts.

To avoid excess duplication in Makefiles, introduce one new Kconfig
symbol, CPU_V7M_V8M. The CPU_V7M_V8M cover both ARMv7-M and ARMv8-M
cores.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Udit Kumar <u-kumar1@ti.com>
5 days agortc: rv3028: fix PORF flag not being cleared
Javier Viguera [Tue, 10 Mar 2026 12:20:07 +0000 (13:20 +0100)] 
rtc: rv3028: fix PORF flag not being cleared

The current code sets RV3028_STATUS_PORF instead of clearing it, so the
flag remains asserted. Use dm_i2c_reg_clrset() to clear the bit.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
8 days agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Thu, 9 Apr 2026 22:34:38 +0000 (16:34 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

Assorted fixes and tweaks, HUSH parser, preboot env variable, SMC
command enablement, s_init and 32bit/64bit code clean up, DBSC and APMU
remoteproc clean ups, UFS dev_phys_to_bus() remap support and SCIF R-Car
Gen5 support.

9 days agotools: u_boot_pylib: ensure all Python modules are installed
Paul HENRYS [Tue, 31 Mar 2026 08:06:36 +0000 (10:06 +0200)] 
tools: u_boot_pylib: ensure all Python modules are installed

Add setuptools package configuration to pyproject.toml so that
u_boot_pylib is installed as a proper Python package without changing
the existing flat directory structure and making sure all modules are
installed.

Signed-off-by: Paul HENRYS <paul.henrys_ext@softathome.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
9 days agoMerge tag 'fsl-qoriq-for-2026.07-rc1' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 9 Apr 2026 15:41:48 +0000 (09:41 -0600)] 
Merge tag 'fsl-qoriq-for-2026.07-rc1' of https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq

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

- Add env variables to assist boot for various LS boards
- Add gpio scmi driver
- Fix setting the function for scmi pinctrl
- Use standard device tree pin muxing format for scmi pinctrl
- Fix protocol version fetch for non-CCF platforms in scmi clk

9 days agols1043a: add env variables to assist boot
Chunguang Li [Thu, 2 Apr 2026 03:51:30 +0000 (11:51 +0800)] 
ls1043a: add env variables to assist boot

Add LS1043ARDB-specific variables to assist the boot process,
and update the related common and LS1043AQDS settings accordingly.

Signed-off-by: Chunguang Li <chunguang.li_2@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
9 days agolx2160ardb: add env variables to assist boot
Chunguang Li [Thu, 2 Apr 2026 03:51:32 +0000 (11:51 +0800)] 
lx2160ardb: add env variables to assist boot

Update the console baudrate to 115200 as default.
Also add env variables to assist boot process.

Signed-off-by: Chunguang Li <chunguang.li_2@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
9 days agols1046a: add env variables to assist boot
Chunguang Li [Thu, 2 Apr 2026 03:51:31 +0000 (11:51 +0800)] 
ls1046a: add env variables to assist boot

Add LS1046ARDB-specific variables to assist the boot flow,
and update the related common and other LS1046A board settings
accordingly.

Signed-off-by: Chunguang Li <chunguang.li_2@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
9 days agols1028ardb: add env variables to assist boot
Chunguang Li [Thu, 2 Apr 2026 03:51:29 +0000 (11:51 +0800)] 
ls1028ardb: add env variables to assist boot

Add image, extra_bootargs, othbootargs and console_dbg to assist boot.

Signed-off-by: Chunguang Li <chunguang.li_2@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
9 days agodrivers: net: fsl-mc: add the nowait option when applying the DPL
Ioana Ciornei [Wed, 1 Apr 2026 15:04:45 +0000 (18:04 +0300)] 
drivers: net: fsl-mc: add the nowait option when applying the DPL

The process through which the MC firmware parses the DPL and initializes
all the requested DPAA2 objects is a complex one which can take quite a
bit of time. For the those circumstances in which a fast boot is
required on DPAA2 based SoCs, add the 'nowait' optional parameter for
the fsl_mc [lazy]apply dpl command.

When this option is used, the Linux kernel fsl-mc bus must wait for
the firmware to finish parsing the DPL before proceeding with probing
all the DPAA2 objects.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
9 days agodrivers: net: fsl-mc: cleanup the fsl_mc command help text
Ioana Ciornei [Wed, 1 Apr 2026 15:04:44 +0000 (18:04 +0300)] 
drivers: net: fsl-mc: cleanup the fsl_mc command help text

All the parameters that can be currently passed to the fsl_mc command
are positional arguments which are mandatory. This is not perfectly
clear when reading the help text because of the use of square brackets.

Fix this by changing the square brackets, which are commonly used for
optional parameters, with < .. >.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
9 days agodrivers: net: fsl-mc: remove unused parameter from the wait_for_mc() function
Ioana Ciornei [Wed, 1 Apr 2026 15:04:43 +0000 (18:04 +0300)] 
drivers: net: fsl-mc: remove unused parameter from the wait_for_mc() function

The first parameter of the wait_for_mc() function - booting_mc - is not
used. Remove it.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
9 days agopinctrl: scmi: Use standard device tree pin muxing format
Dan Carpenter [Thu, 26 Mar 2026 12:08:25 +0000 (15:08 +0300)] 
pinctrl: scmi: Use standard device tree pin muxing format

In the original code, I wrote a custom pin muxing parser but the
upstream device trees wouldn't accept something like that so it would
have complicated mergine the device tree files.

Use the standard device tree format with function and groups:

pinmux1: pinmux1 {
function = "f_gpio1";
groups = "grp_1", "grp_3";
};

Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Acked-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
9 days agofirmware: scmi: Fix setting the function
Dan Carpenter [Thu, 26 Mar 2026 12:08:17 +0000 (15:08 +0300)] 
firmware: scmi: Fix setting the function

Set BIT(10) when the function needs to be set, otherwise the setting is
ignored.

Fixes: 0cb160f1b629 ("scmi: pinctrl: add pinctrl driver for SCMI")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
9 days agogpio: scmi: Add gpio_scmi driver
Dan Carpenter [Tue, 24 Mar 2026 11:16:56 +0000 (14:16 +0300)] 
gpio: scmi: Add gpio_scmi driver

This provides GPIO support over SCMI.  It is built on top of the
pinctrl-scmi driver.  A typical device tree entry might look like
this:

    gpio1 {
        compatible = "scmi-pinctrl-gpio";
        gpio-controller;
        #gpio-cells = <2>;
        ngpios = <10>;
        gpio-ranges = <&scmi_pinctrl 0 8 4>,
                      <&scmi_pinctrl 4 12 1>,
                      <&scmi_pinctrl 5 15 1>,
                      <&scmi_pinctrl 6 17 4>;
        pinctrl-names = "default";
        pinctrl-0 = <&i2c2_pins>;
    };

In this GPIO driver the one thing which is different is that in the
gpio-ranges the first numbers which represent how the pins are exposed
to the users have to start at zero and it can't have gaps.

Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
9 days agoclk: scmi: Fix protocol version fetch for non-CCF platforms
Kamlesh Gurudasani [Mon, 23 Mar 2026 11:29:27 +0000 (16:59 +0530)] 
clk: scmi: Fix protocol version fetch for non-CCF platforms

The SCMI clock protocol version was only being fetched when CLK_CCF
was enabled. On non-CCF platforms, the probe function returned early
without fetching the version, leaving priv->version as 0.

This caused issues because code paths like scmi_clk_gate() and
scmi_clk_get_permissions() depend on priv->version to determine
which protocol message format to use, even in non-CCF mode.

Fix this by moving the scmi_generic_protocol_version() call before
the CLK_CCF check, ensuring the version is fetched for both CCF and
non-CCF platforms.

Tested on am62lx_evm.

Fixes: ae7e0330ce22 ("clk: scmi: add compatibility with clock protocol 2.0")
Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
10 days agoufs: Remap CPU to bus addresses using dev_phys_to_bus()
Marek Vasut [Sun, 15 Mar 2026 23:58:26 +0000 (00:58 +0100)] 
ufs: Remap CPU to bus addresses using dev_phys_to_bus()

Use dev_phys_to_bus() to convert CPU addresses of DMA descriptors
into bus addresses of DMA descriptors. This is necessary on hardware
which does not have 1:1 mapping between CPU and memory addressed by
the DMA. This has no impact on other hardware which does not need
this conversion.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 days agoserial: sh: Handle HSCIF on all 64-bit R-Car SoC
Marek Vasut [Sun, 15 Mar 2026 23:55:33 +0000 (00:55 +0100)] 
serial: sh: Handle HSCIF on all 64-bit R-Car SoC

The HSCIF variant present on Renesas R-Car Gen5 SoC is compatible
with the HSCIF variant present on Renesas R-Car Gen4 SoC. Enable
HSSRR register programming for HSCIF present on all 64-bit R-Car
SoCs, which covers R-Car Gen3, Gen4 and newly also Gen5.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 days agoremoteproc: renesas: apmu: Fix typo in Kconfig symbol help text
Marek Vasut [Mon, 16 Mar 2026 00:31:33 +0000 (01:31 +0100)] 
remoteproc: renesas: apmu: Fix typo in Kconfig symbol help text

Fix typo in Kconfig symbol help text, change incorrect A52 to correct R52.
No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Peng Fan <peng.fan@nxp.com>
10 days agoram: renesas: dbsc: Use macro in renesas_dbsc5_board_config channel count
Marek Vasut [Tue, 17 Mar 2026 00:33:54 +0000 (01:33 +0100)] 
ram: renesas: dbsc: Use macro in renesas_dbsc5_board_config channel count

Use DRAM_CH_CNT macro in renesas_dbsc5_board_config channel count.
The macro is defined in the same file a few lines above. This way,
the maximum channel count in the structure and the macro can not
diverge.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 days agoarm64: renesas: Separate 64bit only code
Marek Vasut [Sun, 15 Mar 2026 23:52:33 +0000 (00:52 +0100)] 
arm64: renesas: Separate 64bit only code

Conditionally compile code that is only compatible with 64bit ARMv8
on 64bit R-Car Gen3/4/5 SoCs. Protect such code with CONFIG_ARM64.
This split is implemented in preparation for build of Cortex-M33
version of R-Car Gen5 U-Boot for its RSIPM core.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 days agoarm64: renesas: Make R-Car board code 32-bit ARMv8-M compatible
Marek Vasut [Wed, 25 Mar 2026 01:18:28 +0000 (02:18 +0100)] 
arm64: renesas: Make R-Car board code 32-bit ARMv8-M compatible

The 64-bit R-Car board code is currently unbuildable on 32-bit ARM
cores. Skip DRAM initialization bits to make the code compatible with
these cores, because those cores do not use the DRAM, they only use
SRAM.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 days agoarm64: renesas: Enable SMC command on all R-Car 64-bit systems
Marek Vasut [Sun, 5 Apr 2026 03:53:03 +0000 (05:53 +0200)] 
arm64: renesas: Enable SMC command on all R-Car 64-bit systems

Enable the 'smc' command on all R-Car 64-bit systems. This command is
useful for interacting with EL3 firmware, testing interaction with the
PSCI provider or OPTEE-OS.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 days agoarm: renesas: Use stock lowlevel_init function and remove s_init
Marek Vasut [Sun, 15 Mar 2026 23:51:01 +0000 (00:51 +0100)] 
arm: renesas: Use stock lowlevel_init function and remove s_init

Replace s_init() early initialization at the end of lowlevel_init
by invoking the same code in mach_cpu_init(). The mach_cpu_init()
is called a bit later, but as the code initializes timer and no
code uses timer until mach_cpu_init(), this does not pose a problem.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 days agoarm: renesas: Enable preboot environment variable on all R-Car systems
Marek Vasut [Sun, 5 Apr 2026 03:51:40 +0000 (05:51 +0200)] 
arm: renesas: Enable preboot environment variable on all R-Car systems

Enable the 'preboot' variable on all R-Car systems. This variable can
optionally be set and contain a script which is executed before the
autoboot timeout starts. This can be used to run critical scripts or
similar tasks. By default, the "preboot" variable is empty.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 days agoarm: renesas: Enable modern HUSH parser on all R-Car systems
Marek Vasut [Sun, 15 Mar 2026 23:51:35 +0000 (00:51 +0100)] 
arm: renesas: Enable modern HUSH parser on all R-Car systems

Enable modern HUSH parser on all Renesas R-Car systems. This replaces
the old HUSH parser and includes matching updates to the command line
parser. No functional change expected.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
10 days agoMerge patch series "env: scsi: support SCSI env without partition UUID"
Tom Rini [Wed, 8 Apr 2026 17:07:19 +0000 (11:07 -0600)] 
Merge patch series "env: scsi: support SCSI env without partition UUID"

David Lechner <dlechner@baylibre.com> says:

This is a series adding support for reading U-Boot env directly from
SCSI devices that do not have a partition table, similar to how we can
already do this for MMC devices.

The motivation behind this is that MediaTek's BSP is already using the
same disk images for both MMC and UFS devices, so we need to be able to
read the env from SCSI devices without requiring a partition UUID.

The series starts with cleaning up a few oddities we noticed in the
existing code. Then some refactoring so that the env code manages
calling scsi_scan() so that we don't have to duplicate that for the
new code path. Then finally, the last few patches add and document the
new functionality.

Link: https://lore.kernel.org/r/20260326-env-scsi-hw-part-support-v1-0-55c9dd07a2cb@baylibre.com
10 days agoenv: scsi: document requirements for ENV_IS_IN_SCSI
David Lechner [Thu, 26 Mar 2026 22:59:28 +0000 (17:59 -0500)] 
env: scsi: document requirements for ENV_IS_IN_SCSI

Expand the Kconfig help for ENV_IS_IN_SCSI to explain the other
required config options when this option is enabled.

Signed-off-by: David Lechner <dlechner@baylibre.com>
10 days agoenv: scsi: add CONFIG_ENV_SCSI_HW_PARTITION
David Lechner [Thu, 26 Mar 2026 22:59:27 +0000 (17:59 -0500)] 
env: scsi: add CONFIG_ENV_SCSI_HW_PARTITION

Add CONFIG_ENV_SCSI_HW_PARTITION and supporting code to allow loading
the environment directly from a SCSI device without a partition table.
Some platforms store the environment directly on the SCSI device without
a way to look it up by partition UUID.

Signed-off-by: David Lechner <dlechner@baylibre.com>
10 days agoscsi: move scsi_scan() call out of scsi_get_blk_by_uuid()
David Lechner [Thu, 26 Mar 2026 22:59:26 +0000 (17:59 -0500)] 
scsi: move scsi_scan() call out of scsi_get_blk_by_uuid()

Move scsi_scan() call out of scsi_get_blk_by_uuid().

The only caller, env_scsi_get_part(), should be managing this call since
it may also want to use different ways to get the partition information
in the future.

Signed-off-by: David Lechner <dlechner@baylibre.com>
10 days agoscsi: document return values of public functions
David Lechner [Thu, 26 Mar 2026 22:59:25 +0000 (17:59 -0500)] 
scsi: document return values of public functions

Add Return: documentation for some public functions in scsi.h that were
missing it.

Signed-off-by: David Lechner <dlechner@baylibre.com>
10 days agoscsi: return ENODEV in scsi_get_blk_by_uuid()
David Lechner [Thu, 26 Mar 2026 22:59:24 +0000 (17:59 -0500)] 
scsi: return ENODEV in scsi_get_blk_by_uuid()

Change scsi_get_blk_by_uuid() to return -ENODEV instead of -1 on error.
Other scsi_* functions return an error code rather than -1.

1 is EPERM, which doesn't make sense here. So we use ENODEV instead. The
only caller only checks for !success, so changing the value has no
effect on the caller.

Signed-off-by: David Lechner <dlechner@baylibre.com>
10 days agoenv: scsi: rename ENV_SCSI_PART_UUID
David Lechner [Thu, 26 Mar 2026 22:59:23 +0000 (17:59 -0500)] 
env: scsi: rename ENV_SCSI_PART_UUID

Rename SCSI_ENV_PART_UUID to ENV_SCSI_PART_UUID. All other environment-
related config names are of the form ENV_<name>, so this is more
consistent.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
10 days agocmd/scsi: drop scsi reset command
David Lechner [Thu, 26 Mar 2026 20:39:52 +0000 (15:39 -0500)] 
cmd/scsi: drop scsi reset command

Since commit b630f8b3aefc ("scsi: Forceably finish migration to DM_SCSI")
the "scsi reset" command has no possibility of actually resetting any
SCSI controller. Drop the command to avoid confusion that the command is
actually resetting the SCSI controller.

Signed-off-by: David Lechner <dlechner@baylibre.com>
11 days agodm: Respect dma-ranges size
Marek Vasut [Sun, 15 Mar 2026 23:57:23 +0000 (00:57 +0100)] 
dm: Respect dma-ranges size

Rework dev_phys_to_bus() and dev_bus_to_phys() to respect the size
of the area specified in dma-ranges DT property. The area outside
of ranges is remapped 1:1, while the area in the ranges is remapped
according to the description in the dma-ranges property.

Adjust the test to test the area within the remapped range, not area
outside the remapped range, which was incorrect.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Markus Schneider-Pargmann <msp@baylibre.com>
11 days agohikey960: Drop unnecessary BOARD_EARLY_INIT_F usage
Tom Rini [Wed, 25 Mar 2026 19:00:33 +0000 (13:00 -0600)] 
hikey960: Drop unnecessary BOARD_EARLY_INIT_F usage

This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a
do-nothing board_early_init_f function. Change to not enabling the
option and so not needing an empty function.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agospl: Remove unused CONFIG_SPL_FRAMEWORK_BOARD_INIT_F option
Tom Rini [Wed, 25 Mar 2026 19:00:20 +0000 (13:00 -0600)] 
spl: Remove unused CONFIG_SPL_FRAMEWORK_BOARD_INIT_F option

The option CONFIG_SPL_FRAMEWORK_BOARD_INIT_F enables a simple
board_init_f function in SPL. This however is never enabled, so remove
this function and option.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agoarm: Remove redundant "xPL_SYS_MALLOC_F default y" entries
Tom Rini [Wed, 25 Mar 2026 19:00:19 +0000 (13:00 -0600)] 
arm: Remove redundant "xPL_SYS_MALLOC_F default y" entries

The symbol SPL_SYS_MALLOC_F defaults to y when visible and
TPL_SYS_MALLOC_F defaults to y when visible and SPL_SYS_MALLOC_F is
enabled. Remove the places from Kconfig files that had unneccsary
"default y" for these options.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agoboard: ti: am62dx: Separate resource management config from am62ax
Paresh Bhagat [Wed, 25 Mar 2026 07:08:04 +0000 (12:38 +0530)] 
board: ti: am62dx: Separate resource management config from am62ax

AM62d currently shares resource management configuration files with
AM62a. However, AM62a resource management needs to be modified for DMA
resource sharing scheme for CPSW3G Ethernet functionality to support
multi-core traffic handling.

Add separate AM62d-specific resource management configuration files to
decouple from the AM62a changes and maintain proper resource allocation
for AM62d.

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
11 days agoUpdate my email address
Sean Anderson [Tue, 7 Apr 2026 16:40:10 +0000 (12:40 -0400)] 
Update my email address

Soon I will no longer be working at SECO. Update the mailmap to redirect
to my linux.dev address which I still have access to.

Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Reviewed-by: Sean Anderson <sean.anderson@seco.com>
11 days agoMerge tag 'mediatek-for-master-2026-04-07' of https://source.denx.de/u-boot/custodian...
Tom Rini [Tue, 7 Apr 2026 19:51:37 +0000 (13:51 -0600)] 
Merge tag 'mediatek-for-master-2026-04-07' of https://source.denx.de/u-boot/custodians/u-boot-mediatek

This is the first wave of MediaTek changes for this merge window. We
also expect to be sending another decent-sized pull request later for
the backlog of patches that are currently waiting on dependencies or
need little more time for review.

* Fixes for cargo-culted issues in mach-mediatek init.c files.
* Some consistency cleanups of recently added Genio boards (510/700/1200).
* Some pinctrl improvements to support newer MediaTek SOCs (mt8189 compatible).
* New devicetree and config for Genio 520/720 EVK boards (can boot to eMMC or SD).
* New CPU-specific functions to read vendor-specific CPU info at runtime.

11 days agodoc: release cycle: fix 2026.04 stats link
David Lechner [Tue, 7 Apr 2026 19:13:25 +0000 (14:13 -0500)] 
doc: release cycle: fix 2026.04 stats link

Fix the link to the 2026.04 stats page. It was likely copied from the
2026.01 line below and not updated.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
11 days agoarm: mediatek: mt8189: print specific CPU information
David Lechner [Mon, 30 Mar 2026 20:23:19 +0000 (15:23 -0500)] 
arm: mediatek: mt8189: print specific CPU information

Modify the print_cpuinfo() function to print a more specific CPU name
when possible.

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260330-mtk-mt8189-cpu-type-v1-2-4059c3b52761@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
11 days agoarm: mediatek: add SIP platform bininfo lookups
David Lechner [Mon, 30 Mar 2026 20:23:18 +0000 (15:23 -0500)] 
arm: mediatek: add SIP platform bininfo lookups

Add a couple of functions to look up the segment and part name using SIP
calls. These will be used to print more accurate CPU information in
print_cpuinfo().

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260330-mtk-mt8189-cpu-type-v1-1-4059c3b52761@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
11 days agosandbox: Adjust how OS-interface files are built 923/head
Simon Glass [Tue, 24 Mar 2026 19:45:20 +0000 (13:45 -0600)] 
sandbox: Adjust how OS-interface files are built

The current mechanism uses a completely separate build rule for each
file which must be built with system headers. This is tricky to
maintain.

Add a foreach template in the sandbox cpu Makefile which generates the
custom compile rules from a CFLAGS_USE_SYSHDRS list. This keeps the
rules data-driven without needing changes to the common
scripts/Makefile.lib, which could affect other architectures.

Move initjmp.o into the template since it uses the same pattern. Add
sdl.o to the list too, with an override for its command since it also
needs -fshort-wchar removed and -fno-lto added.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 days agoarm: mach-sc5xx: Align header paths with SYS_SOC convention
Philip Molloy [Tue, 24 Mar 2026 10:09:44 +0000 (10:09 +0000)] 
arm: mach-sc5xx: Align header paths with SYS_SOC convention

Define CONFIG_SYS_SOC in the mach-sc5xx Kconfig. Follow the standard
U-Boot include path convention by moving the SC5xx SoC headers from
arch/arm/include/asm/arch-adi/sc5xx/ to the conventional
arch/arm/include/asm/arch-sc5xx/ location. Update includes from
<asm/arch-adi/sc5xx/*.h> to <asm/arch/*.h> across mach-sc5xx and board
files.

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
11 days agoglobal: Correct duplicate U_BOOT_DRIVER entry names
Tom Rini [Mon, 23 Mar 2026 22:55:37 +0000 (16:55 -0600)] 
global: Correct duplicate U_BOOT_DRIVER entry names

The U_BOOT_DRIVER macro creates a list of drivers used at link time, and
all entries here must be unique. This in turn means that all entries in
the code should also be unique in order to not lead to build failures
later with unexpected build combinations. Typically, the problem we have
here is when a driver is obviously based on another driver and didn't
update this particular field and so while the name field reflects
something unique the linker entry itself is not. In a few places this
provides a more suitable string name as well, however.

Reviewed-by: Marek Vasut <marek.vasut+usb@mailbox.org>
Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com> # Tegra
Reviewed-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agotpl: Correct dependencies for TPL_OF_CONTROL
Tom Rini [Mon, 23 Mar 2026 19:53:13 +0000 (13:53 -0600)] 
tpl: Correct dependencies for TPL_OF_CONTROL

The TPL_OF_CONTROL option can only select TPL_OF_LIBFDT functionality if
we also have enabled TPL_LIBGENERIC_SUPPORT, so express this dependency
in Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agoserial: omap: Fix "unused" warnings with SERIAL_PRESENT=n and OF_REAL=y
Tom Rini [Mon, 23 Mar 2026 19:53:06 +0000 (13:53 -0600)] 
serial: omap: Fix "unused" warnings with SERIAL_PRESENT=n and OF_REAL=y

The definition of our ID table (and of_to_plat function) is guarded with
OF_REAL however the U_BOOT_DRIVER that would in turn use the table is
guarded with SERIAL_PRESENT. To avoid a potential warning we must also
guard both with SERIAL_PRESENT.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agoserial: ns16550: Fix an "unused" warning with SERIAL_PRESENT=n and OF_REAL=y
Tom Rini [Mon, 23 Mar 2026 19:53:04 +0000 (13:53 -0600)] 
serial: ns16550: Fix an "unused" warning with SERIAL_PRESENT=n and OF_REAL=y

The definition of our ID table is guarded with OF_REAL however the
U_BOOT_DRIVER that would in turn use the table is guarded with
SERIAL_PRESENT. To avoid a potential warning we must also guard the
ID table with SERIAL_PRESENT.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agoinput: Correct dependencies for CROS_EC_KEYB
Tom Rini [Mon, 23 Mar 2026 19:52:56 +0000 (13:52 -0600)] 
input: Correct dependencies for CROS_EC_KEYB

The CROS_EC_KEYB functionality can only work with CROS_EC enabled, so
express this dependency in Kconfig, for all build phases.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agospl: env: Correct dependencies for SPL_SAVEENV and MMC
Tom Rini [Mon, 23 Mar 2026 19:52:55 +0000 (13:52 -0600)] 
spl: env: Correct dependencies for SPL_SAVEENV and MMC

The SPL_SAVEENV functionality, when working with an MMC device, can only
work with SPL_MMC_WRITE enabled. This however only works with SPL_MMC
also being enabled. Update the dependencies to show that if we have
enabled SPL_ENV_IS_IN_MMC then we select SPL_MMC_WRITE and make
SPL_ENV_IS_IN_MMC depends on SPL_MMC.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agow1: Correct dependencies for CMD_W1
Tom Rini [Mon, 23 Mar 2026 19:52:51 +0000 (13:52 -0600)] 
w1: Correct dependencies for CMD_W1

The CMD_W1 functionality can only work with both W1 and W1_EEPROM
enabled, so express this dependency in Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agocmd: Correct dependencies for CMD_BOOTD
Tom Rini [Mon, 23 Mar 2026 19:52:49 +0000 (13:52 -0600)] 
cmd: Correct dependencies for CMD_BOOTD

The CMD_BOOTD functionality can only work with CMD_BOOTM enabled, so
express this dependency in Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agolmb: boot: Update dependencies within BOOT_DEFAULTS_CMDS
Tom Rini [Mon, 23 Mar 2026 19:52:47 +0000 (13:52 -0600)] 
lmb: boot: Update dependencies within BOOT_DEFAULTS_CMDS

The CMD_BOOT[IZ] symbols have a dependency on LMB, correctly,
currently. Make sure that in BOOT_DEFAULTS_CMDS we only select these
commands if LMB is enabled.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agolmb: Rework the LMB_ARCH_MEM_MAP symbol
Tom Rini [Mon, 23 Mar 2026 19:52:45 +0000 (13:52 -0600)] 
lmb: Rework the LMB_ARCH_MEM_MAP symbol

This symbol should not be enabled by the user directly but rather
selected when implemented in a given platform. This converts all of the
current users of this feature and hides the symbol.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agodts: Disallow OF_UPSTREAM for sandbox
Tom Rini [Mon, 23 Mar 2026 19:52:44 +0000 (13:52 -0600)] 
dts: Disallow OF_UPSTREAM for sandbox

Our sandbox platform are not appropriate for OF_UPSTREAM, reflect this in
Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agoenv: remote: Disallow CMD_SAVEENV
Tom Rini [Mon, 23 Mar 2026 19:51:06 +0000 (13:51 -0600)] 
env: remote: Disallow CMD_SAVEENV

Looking at how the saveenv portion of this driver was implemented, it
does not appear that it could actually result in changes being saved on
the remote end. Update Kconfig to disallow CMD_SAVEENV for
ENV_IS_IN_REMOTE and then remove the relevant code.

Signed-off-by: Tom Rini <trini@konsulko.com>
11 days agoenv: Make more use of the ENV_SAVE_PTR macro
Tom Rini [Mon, 23 Mar 2026 19:51:05 +0000 (13:51 -0600)] 
env: Make more use of the ENV_SAVE_PTR macro

With commit 82b2f4135719 ("env_internal.h: add alternative ENV_SAVE_PTR
macro") we introduced the ENV_SAVE_PTR macro but as explained in the
commit message, left full conversion for a later time. This commit
makes more progress on that front by doing the remaining easy
conversions to the new macro.

Signed-off-by: Tom Rini <trini@konsulko.com>
Changes in v2:
- Reduce the number of conversions, some didn't work as expected once
  CMD_SAVEENV was actually disabled.
- Finish converting UBI

Cc Rasmus Villemoes <rasmus.villemoes@prevas.dk>

11 days agoconfigs: mt8189: enable GPIO support
David Lechner [Mon, 16 Mar 2026 21:55:16 +0000 (16:55 -0500)] 
configs: mt8189: enable GPIO support

Enable GPIO support for mt8189-based boards. This is needed for U-Boot
to be able to use the SD card slot on the board (for the CD pin).

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260316-mtk-ext-mmc-boot-v1-3-1aae51a44705@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
11 days agoarm: dts: add U-Boot overrides for Genio 520 and 720 SD card
David Lechner [Mon, 16 Mar 2026 21:55:15 +0000 (16:55 -0500)] 
arm: dts: add U-Boot overrides for Genio 520 and 720 SD card

Add U-Boot-specific device tree overrides for the Genio 520 and 720 EVK
boards. These are needed to enable SD card support in U-Boot due to
current driver limitations. It is expected that these files will remain
after eventually converting these to CONFIG_OF_UPSTREAM, so we use
separate .u-boot.dtsi files for this.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260316-mtk-ext-mmc-boot-v1-2-1aae51a44705@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>