]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
8 days agopower: domain: scmi: Allow failure in getting power domain attribute 1006/head
Ye Li [Tue, 9 Jun 2026 03:54:32 +0000 (11:54 +0800)] 
power: domain: scmi: Allow failure in getting power domain attribute

When one power domain fails to get attribute, continue getting attribute
for remaining power domains, not return probe failure. So other power
domains are still functional.
It is possible that one power domain is assigned to other agent or this
power domain is disabled by HW fuse, so platform returns denied or other
error.

Signed-off-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agocrypto: fsl: Hide CAAM_64BIT symbol behind FSL_CAAM
Marek Vasut [Sun, 21 Jun 2026 02:40:23 +0000 (04:40 +0200)] 
crypto: fsl: Hide CAAM_64BIT symbol behind FSL_CAAM

Make CAAM_64BIT selectable only in case FSL_CAAM is selected,
otherwise CAAM_64BIT shows up in configs of unrelated platforms.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agogpio: mpc8xxx: add set_flags/get_flags ops
Vincent Jardin [Thu, 2 Jul 2026 15:09:49 +0000 (17:09 +0200)] 
gpio: mpc8xxx: add set_flags/get_flags ops

mpc8xxx_gpio_open_drain_on() / _off() helpers can program GPODR
(open-drain enable) on QorIQ silicon, but they are not called.

The open-drain capability is therefore unreachable from the GPIO uclass.

Adding a set_flags op for the GPIOD_OPEN_DRAIN, plus a get_flags for the
reports of state by reading GPDIR and GPODR back.

For existing callers, it is unchanged: direction_input,
direction_output, get_value, set_value and get_function still drive
the same registers as before. The new ops only become observable when
a caller explicitly asks for the GPIOD_OPEN_DRAIN flag (or queries
flags via the uclass).

Signed-off-by: Vincent Jardin <vjardin@free.fr>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
8 days agols1028ardb: Move environment variables to .env file
Aristo Chen [Wed, 1 Jul 2026 06:21:25 +0000 (06:21 +0000)] 
ls1028ardb: Move environment variables to .env file

Move the bulk of the board environment from CFG_EXTRA_ENV_SETTINGS in
ls1028ardb.h to board/nxp/ls1028a/ls1028ardb.env. Because the board
directory is shared with ls1028aqds, the file is selected through
CONFIG_ENV_SOURCE_FILE rather than the SYS_BOARD default.

The distro_bootcmd machinery cannot be expressed in a .env file. The
BOOTENV macro expands to environment text with embedded NUL separators,
and the board overrides three distro variables (boot_scripts,
boot_a_script and scan_dev_for_boot_part) that must follow BOOTENV to
take effect. BOOTENV and those three overrides therefore remain in
CFG_EXTRA_ENV_SETTINGS, which is concatenated after the .env text, while
every other variable moves to the .env file.

The resulting default environment is functionally unchanged for both the
ls1028ardb_tfa and ls1028ardb_tfa_SECURE_BOOT defconfigs. This was
verified with an order aware comparison of the default environment before
and after the change. The only difference is that three accidental double
spaces in xspi_bootcmd, sd_bootcmd and emmc_bootcmd collapse to single
spaces, because the preprocessor normalises whitespace in the now
unquoted text, which does not affect command parsing.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
10 days agoMerge patch series "bootdev: few fixes for automatic boot"
Tom Rini [Fri, 3 Jul 2026 16:14:32 +0000 (10:14 -0600)] 
Merge patch series "bootdev: few fixes for automatic boot"

dmukhin@ford.com <dmukhin@ford.com> says:

This series addresses few findings in bootdev code.

Patch 1 fix for automatic boots in case higher-priority bootdevs fail
        to be hunted.

Patch 2 adds unit test for patch 1.

Link: https://lore.kernel.org/r/20260623220630.2828767-1-dmukhin@ford.com
10 days agotest: bootdev: scan with a broken high-priority device
Denis Mukhin [Tue, 23 Jun 2026 22:06:30 +0000 (15:06 -0700)] 
test: bootdev: scan with a broken high-priority device

Add bootdev_hunt_fallthrough() test to verify that 'bootflow scan -l'
falls back to a lower-priority bootdev when a higher-priority hunter
fails.

Introduce a simple 'sandbox-bootdev' device for the test. The new
bootdev can be configured to produce an error at the hunting stage.

Introduce new host_set_flags_by_label() API and a flags field to
'host_sb_plat' to simulate a bootdev hunter failure for the test.

Adjust boot{dev,flow} tests which depend on bootdev hunters.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
10 days agobootdev: scan boot devices at each priority level
Denis Mukhin [Tue, 23 Jun 2026 22:06:29 +0000 (15:06 -0700)] 
bootdev: scan boot devices at each priority level

Currently, default 'bootflow scan -lb' will stop booting the board if
any of higher-priority bootdevs fail to be hunted even if there are
bootdevs of lower priority.

For example, if the board has both NVMe (priority 4) and USB MSD devices
(priority 5), and if NVMe bootdev hunt fails (in the event of a bad NVMe
firmware update), USB (which may be a recovery bootdev) is never hunted
automatically, leaving the board at the U-Boot prompt (user intervention
is needed, e.g. something like 'bootflow scan usb' to hunt USB).

Fix bootdev_next_prio() to scan bootdevs at the lower priority level by
not exiting the scan loop early.

Keep the existing logging verbosity unchanged and rely on the failing
subsystem to provide a suitable diagnostic message.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
10 days agoMerge patch series "bootm: fix flush_cache() with IH_TYPE_KERNEL_NOLOAD"
Tom Rini [Fri, 3 Jul 2026 16:13:14 +0000 (10:13 -0600)] 
Merge patch series "bootm: fix flush_cache() with IH_TYPE_KERNEL_NOLOAD"

This patch series from Nora Schiffer <nora.schiffer@ew.tq-group.com>
addresses a few issues with correctly handling IH_TYPE_KERNEL_NOLOAD in
a few cases.

Link: https://lore.kernel.org/r/20260622111933.1488593-1-nora.schiffer@ew.tq-group.com
10 days agobootm: allow omitting entry point for IH_TYPE_KERNEL_NOLOAD
Nora Schiffer [Mon, 22 Jun 2026 11:19:33 +0000 (13:19 +0200)] 
bootm: allow omitting entry point for IH_TYPE_KERNEL_NOLOAD

For IH_TYPE_KERNEL_NOLOAD, the entry point is given relative to the
image start, making 0 a valid default, and for IH_OS_EFI, it is ignored
altogether, so it may be preferable to omit it.

Signed-off-by: Nora Schiffer <nora.schiffer@ew.tq-group.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
10 days agobootm: warn about load address for IH_TYPE_KERNEL_NOLOAD in FIT
Nora Schiffer [Mon, 22 Jun 2026 11:19:32 +0000 (13:19 +0200)] 
bootm: warn about load address for IH_TYPE_KERNEL_NOLOAD in FIT

The load address is ignored for IH_TYPE_KERNEL_NOLOAD. Instead of
failing the boot when none is set, it makes more sense to warn when it
*is* set.

Signed-off-by: Nora Schiffer <nora.schiffer@ew.tq-group.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
10 days agobootm: fix flush_cache() with IH_TYPE_KERNEL_NOLOAD
Nora Schiffer [Mon, 22 Jun 2026 11:19:31 +0000 (13:19 +0200)] 
bootm: fix flush_cache() with IH_TYPE_KERNEL_NOLOAD

`flush_start` must be set after `load` has been assigned.

Fixes: 69544c4fd8b1 ("bootm: Support kernel_noload with compression")
Signed-off-by: Nora Schiffer <nora.schiffer@ew.tq-group.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
10 days agoMerge patch series "TI: AM64-EVM/SK: Enable MAIN UART1 for SYSFW tracing"
Tom Rini [Fri, 3 Jul 2026 16:10:34 +0000 (10:10 -0600)] 
Merge patch series "TI: AM64-EVM/SK: Enable MAIN UART1 for SYSFW tracing"

Vishal Mahaveer <vishalm@ti.com> says:

Collecting SYSFW traces from DMSC firmware is broken on the current
codebase. These changes enables MAIN_UART1 for collecting SYSFW traces
when the trace option is enabled in the boardcfg.

Link: https://lore.kernel.org/r/20260605193829.395161-1-vishalm@ti.com
10 days agoarm: dts: k3-am642-evm/sk: enable MAIN UART1 for SYSFW logs
Vishal Mahaveer [Fri, 5 Jun 2026 19:38:29 +0000 (14:38 -0500)] 
arm: dts: k3-am642-evm/sk: enable MAIN UART1 for SYSFW logs

Enable MAIN UART1 in the R5 SPL device tree to collect system SYSFW
debug traces during early boot.

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
10 days agoarm: mach-k3: am642: Update MAIN UART1 serial alias from 3 to 1
Vishal Mahaveer [Fri, 5 Jun 2026 19:38:28 +0000 (14:38 -0500)] 
arm: mach-k3: am642: Update MAIN UART1 serial alias from 3 to 1

The upstream device tree changed the serial alias for MAIN UART1 from
serial3 to serial1. Update the board initialization code to match this
change by modifying the UCLASS_SERIAL sequence number lookup.

This ensures proper pin control configuration for the UART used by
system firmware (SYSFW).

Signed-off-by: Vishal Mahaveer <vishalm@ti.com>
Fixes: d2edabfa8de5 ("arm: mach-k3: am642: Load SYSFW binary and config from boot media")
Reviewed-by: Bryan Brattlof <bb@ti.com>
12 days agomtd: spi-nor: Add gd55lb02gf chips
Vincent Jardin [Wed, 20 May 2026 15:00:21 +0000 (17:00 +0200)] 
mtd: spi-nor: Add gd55lb02gf chips

Add the GigaDevice GD55LB02GF (256 Mo) similar to gd55lb02ge with
the same read path flags.

SPI_NOR_HAS_LOCK and SPI_NOR_HAS_TB do not match this chip's
status register layout: the GD55LB02GF uses a 5-bit block protect
field BP0..BP4 plus a CMP bit in SR2 for direction (see datasheet
"Status Register Block Protection").

The generic stm-lock helpers drive only BP0..BP2 and assume SR1
bit 5 is TB, but on this part SR1 bit 5 is BP3.
Enabling either flag would leave BP3..BP4 unmanaged or corrupt
BP3 on every lock op.
A proper support needs a vendor specific lock callback, it is out
of scope for this table update.

Signed-off-by: Vincent Jardin <vjardin@free.fr>
Suggested-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Reviewed-by: Takahiro Kuwano <takahiro.kuwano@infineon.com>
12 days agobootm: move OS index bound check into the legacy path
Aristo Chen [Fri, 19 Jun 2026 14:45:51 +0000 (14:45 +0000)] 
bootm: move OS index bound check into the legacy path

Commit 103b1e7ce8cc ("bootm: bound-check OS index in
bootm_os_get_boot_func()") added a range check to the shared accessor so
an out-of-range OS id can no longer drive an out-of-bounds read of
boot_os[]. That accessor is reached by every image format, but only a
legacy uImage can deliver an unchecked value. bootm_find_os() takes the
raw 8-bit ih_os byte straight from image_get_os() for legacy images,
whereas the FIT path reaches the accessor only after fit_image_load()
has rejected any image whose os is not one of the supported types, and
the Android path hardcodes IH_OS_LINUX. The check can therefore never
fail for FIT, where it only adds confusion and code.

Move the test to the legacy branch of bootm_find_os(), rejecting an
out-of-range OS where the untrusted byte enters. This keeps the FIT path
clear and lets the check be compiled out when CONFIG_LEGACY_IMAGE_FORMAT
is disabled. A valid OS id that has no handler is still reported by the
existing NULL return path in bootm_run_states().

Suggested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
12 days agoMAINTAINERS: Remove merge garbage
Tom Rini [Wed, 1 Jul 2026 17:17:06 +0000 (11:17 -0600)] 
MAINTAINERS: Remove merge garbage

When I merged the changes in commit 0d8e33717d7e ("Merge patch series
"arm: aspeed: add initial AST2700 SoC support"") I didn't fully remove
the before/after changes. Finish this merge now.

Reported-by: Yao Zi <me@ziyao.cc>
Signed-off-by: Tom Rini <trini@konsulko.com>
13 days agoMerge tag 'u-boot-pci-next-20260701' of https://source.denx.de/u-boot/custodians...
Tom Rini [Wed, 1 Jul 2026 14:39:53 +0000 (08:39 -0600)] 
Merge tag 'u-boot-pci-next-20260701' of https://source.denx.de/u-boot/custodians/u-boot-ufs into next

- Add myself as PCI core maintainer
- Use dev_read/dev_remap APIs

13 days agopci: layerscape: ep: Use dev APIs
Peng Fan [Tue, 26 May 2026 08:09:13 +0000 (16:09 +0800)] 
pci: layerscape: ep: Use dev APIs

Convert the Layerscape PCIe endpoint driver to use device and ofnode-based
APIs instead of legacy FDT interfaces.

Replace devfdt_get_addr_index_ptr(), fdt_get_named_resource(),
fdtdec_get_bool(), and fdtdec_get_int() with their modern counterparts such
as dev_read_addr_index_ptr(), dev_read_resource_byname(),
dev_read_bool(), and dev_read_s32_default().

Also remove the dependency on gd->fdt_blob and global data access.

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260526-devfdt-pci-v1-5-ed7f31d73938@nxp.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
13 days agopci: imx: Use dev_read_addr_index_ptr()
Peng Fan [Tue, 26 May 2026 08:09:12 +0000 (16:09 +0800)] 
pci: imx: Use dev_read_addr_index_ptr()

Use dev_read_addr_index_ptr() which support both live device tree and flat
DT backends, avoiding direct dependency on devfdt_* helpers.

No functional changes

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260526-devfdt-pci-v1-4-ed7f31d73938@nxp.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
13 days agopci: dw_mvebu: Use dev_read_addr_x APIs
Peng Fan [Tue, 26 May 2026 08:09:11 +0000 (16:09 +0800)] 
pci: dw_mvebu: Use dev_read_addr_x APIs

Use dev_read_addr_x APIs which support both live device tree and flat DT
backends, avoiding direct dependency on devfdt_* helpers.

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
Link: https://patch.msgid.link/20260526-devfdt-pci-v1-3-ed7f31d73938@nxp.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
13 days agopci: mpc85xx: Simplfy code with dev_remap_addr()
Peng Fan [Tue, 26 May 2026 08:09:10 +0000 (16:09 +0800)] 
pci: mpc85xx: Simplfy code with dev_remap_addr()

devfdt_get_addr_ptr() + map_physmem() could be simplifed with
devfdt_remap_addr(). But to avoid direct dependency on devfdt_* helpers,
use dev_remap_addr().

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
Link: https://patch.msgid.link/20260526-devfdt-pci-v1-2-ed7f31d73938@nxp.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
13 days agopci: rcar: Use dev_read_addr_index()
Peng Fan [Tue, 26 May 2026 08:09:09 +0000 (16:09 +0800)] 
pci: rcar: Use dev_read_addr_index()

Use dev_read_addr_index() which supports both live device tree and flat DT
backends, avoiding direct dependency on devfdt_* helpers.

While at here, correct the return value check.

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260526-devfdt-pci-v1-1-ed7f31d73938@nxp.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
13 days agoMAINTAINERS: Add myself as core PCI maintainer
Neil Armstrong [Tue, 19 May 2026 16:08:35 +0000 (18:08 +0200)] 
MAINTAINERS: Add myself as core PCI maintainer

Adding an entry for the PCI subsystem and add myself to the list
of maintainers to review patches and maintain the PCI subsystem core
along the ongoing work of the PCI platform maintainers.

Acked-by: Tom Rini <trini@konsulko.com>
Link: https://patch.msgid.link/20260519-u-boot-pci-nvme-maintainer-v1-2-363593cbbfdc@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
13 days agorockchip: sdram: Fix initialization of DRAM banks
Jonas Karlman [Sat, 27 Jun 2026 20:24:09 +0000 (20:24 +0000)] 
rockchip: sdram: Fix initialization of DRAM banks

The commit 55a342176984 ("common: Add an option to relocate on ram top")
changed so that dram_init_banksize() is called before gd->ram_top has
been initialized. This change broke Rockchip DRAM banks configuration
due to gd->ram_top now being 0 when dram_init_banksize() is called.

This makes first DRAM bank size calculation overflow and end up with

  DRAM bank   = 0x0000000000000000
  -> start    = 0x0000000000200000
  -> size     = 0xffffffffffe00000

instead of the expected (for 2 GiB)

  DRAM bank   = 0x0000000000000000
  -> start    = 0x0000000000200000
  -> size     = 0x000000007fe00000

or (for 4 GiB)

  DRAM bank   = 0x0000000000000000
  -> start    = 0x0000000000200000
  -> size     = 0x00000000f7e00000

on e.g. RK3399 boards.

Change to not depend on gd->ram_top having to be pre-calculated before
dram_init_banksize() is called, also move the related method
board_get_usable_ram_top() closer to more easily get an overview of
their interdependence, to restore working DRAM bank initialization.

Fixes: 55a342176984 ("common: Add an option to relocate on ram top")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reported-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Tested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> # on Radxa ROCK
13 days agoMakefile.lib: remove stale migrate_xxx logic from fdtgrep logic
Rasmus Villemoes [Wed, 17 Jun 2026 13:12:04 +0000 (15:12 +0200)] 
Makefile.lib: remove stale migrate_xxx logic from fdtgrep logic

Commit 6d04828b452 ("dm: Remove pre-schema tag support") removed the
definitions of these migrate_xxx variables, but left behind their use
in the fdtgrep rule, which now makes that somewhat hard to understand.

Signed-off-by: Rasmus Villemoes <rv@rasmusvillemoes.dk>
Reviewed-by: Simon Glass <sjg@chromium.org>
13 days agoMAINTAINERS: Replace Cortina with N:
Marek Vasut [Wed, 17 Jun 2026 02:38:04 +0000 (04:38 +0200)] 
MAINTAINERS: Replace Cortina with N:

Use N: to match on all cortina files, drop the large list of
entries which represent the same set of relevant files and miss a
few in the process.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agoMerge tag 'u-boot-dfu-next-20260629' of https://source.denx.de/u-boot/custodians...
Tom Rini [Tue, 30 Jun 2026 15:27:19 +0000 (09:27 -0600)] 
Merge tag 'u-boot-dfu-next-20260629' of https://source.denx.de/u-boot/custodians/u-boot-dfu into next

u-boot-dfu-next-20260629:

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

Fastboot:
- Add support for CMD_FASTBOOT_ABORT_KEYED
- Enable CMD_FASTBOOT_ABORT_KEYED for qualcomm phones

USB Gadget:
- f_mass_storage: Disable eps during disconnect
- f_sdp: Fix spl load failure error handling

2 weeks agoMerge patch series "arm: aspeed: add initial AST2700 SoC support"
Tom Rini [Mon, 29 Jun 2026 19:44:52 +0000 (13:44 -0600)] 
Merge patch series "arm: aspeed: add initial AST2700 SoC support"

Ryan Chen <ryan_chen@aspeedtech.com> says:

AST2700 is the 8th generation of Integrated Remote Management
Processor introduced by ASPEED Technology Inc. It is a Board
Management Controller (BMC) SoC family with a dual-die architecture:
SoC0 ("CPU" die with four ARM Cortex-A35 application cores) and
SoC1 ("IO" die with peripherals) each SoC have its own SCU PLLs,
clock dividers and reset domains.

Link: https://lore.kernel.org/r/20260612-ast2700_clk-v4-0-9bea29cfdc39@aspeedtech.com
2 weeks agotreewide: Staticize and constify acpi ops
Marek Vasut [Fri, 12 Jun 2026 02:05:38 +0000 (04:05 +0200)] 
treewide: Staticize and constify acpi ops

Set the acpi_ops structure as static const where applicable. The
The structure is not accessible from outside of drivers and is not
going to be modified at runtime. The structure may be unused in a
couple of drivers depending on their configuration, mark those
sites with __maybe_unused .

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 weeks agocros_ec: Convert dm_cros_ec_get_ops into an inline function and constify dm_cros_ec_ops
Marek Vasut [Fri, 12 Jun 2026 01:59:06 +0000 (03:59 +0200)] 
cros_ec: Convert dm_cros_ec_get_ops into an inline function and constify dm_cros_ec_ops

Convert dm_cros_ec_get_ops into an inline function to improve compiler
code coverage, and constify struct dm_cros_ec_ops in a few places.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2 weeks agoenv: Avoid mixing of environment and driver prints on env load
Alexander Koch [Thu, 11 Jun 2026 22:48:34 +0000 (00:48 +0200)] 
env: Avoid mixing of environment and driver prints on env load

The current environment loading code prints a partial string
"Loading Environment from %s..." and then triggers env driver
loading function. That env driver loading function may trigger
further prints, either from the env driver itself or from any
other driver that gets probed at that time. The result is a
print which mixed environment loading code prints and driver
code prints, as follows:

"
       Environment code print        _________________________
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv                          vv
Loading Environment from SPIFlash... SF: Detected w25q128jw... OK
                                     ^^^^^^^^^^^^^^^^^^^^^^
                                        Driver code print
"

Adjust the environment loading code print such, that it places
CR at the end of the line. This way, when the driver code prints
something, it overwrites the previous "Loading Environment from %s"
output and the result is not mixed. Furthermore, in case the env
was loaded correctly, print the "Loading Environment from %s ... OK"
in full again. This either overwrites the "Loading Environment from"
message and appends the print with "OK", or, it prints the line in
full after all the driver code prints.

This is not ideal, but it is the best we can do with only CR and
without ANSI control sequences. The result looks as follows:

"
SF: Detected w25q128jw with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Loading Environment from SPIFlash... OK
"

Signed-off-by: Alexander Koch <akoch@initse.com>
Signed-off-by: Marek Vasut <marex@nabladev.com>
2 weeks agortc: mcfrtc: fix leap year calculation using wrong variable
Naveen Kumar Chaudhary [Wed, 10 Jun 2026 17:08:40 +0000 (22:38 +0530)] 
rtc: mcfrtc: fix leap year calculation using wrong variable

The leap year check in rtc_set() passes the loop variable 'i' (month
index, always 1 when the condition is true) to isleap() instead of the
actual year. Since isleap(1) is always false, February 29th is never
accounted for when computing the day count, resulting in the RTC being
set one day behind for any date after February in a leap year.

Pass tmp->tm_year to isleap() so the leap day is correctly included.

Fixes: 8e585f02f82 ("Added M5329AFEE and M5329BFEE Platforms")
Signed-off-by: Naveen Kumar Chaudhary <naveen.osdev@gmail.com>
2 weeks agoram: aspeed: add SDRAM controller driver for AST2700
Ryan Chen [Fri, 12 Jun 2026 09:43:13 +0000 (17:43 +0800)] 
ram: aspeed: add SDRAM controller driver for AST2700

Add a SDRAM controller driver for the AST2700, derived from the
existing AST2700 controller code used by the Ibex SPL but adapted
to run from ARM U-Boot proper on the Cortex-A35 cores.

The DDR4/DDR5 controller and its DesignWare PHY are programmed by
the Ibex SPL before ARM U-Boot proper takes over. This driver
reads back the configuration left by the SPL, probes the
controller, and exposes ram_info (base and size, with the VGA
carve-out subtracted) via UCLASS_RAM so that dram_init() can
populate gd->ram_size.

The PHY firmware-load entry points (dwc_ddrphy_phyinit_userCustom_*)
are kept compiled but call a __weak fmc_hdr_get_prebuilt() stub
when ARM U-Boot proper is the caller; the real implementation is
provided by the Ibex SPL via the same fmc_hdr.h descriptor format
(here added for the ARM build).

Adds the supporting register-layout headers under
arch/arm/include/asm/arch-aspeed/:
  - sdram.h:   SDRAM controller and DWC PHY register definitions
  - scu.h:     SCU bits referenced by the SDRAM driver
  - fmc_hdr.h: prebuilt-blob descriptor (binary-compatible with
               arch/riscv/include/asm/arch-ast2700/fmc_hdr.h used
               by the Ibex SPL)

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2 weeks agoreset: ast2700: add reset driver support
Ryan Chen [Fri, 12 Jun 2026 09:43:12 +0000 (17:43 +0800)] 
reset: ast2700: add reset driver support

Add reset controller driver for the dual-die AST2700 SoC. The
controller manages module-level reset signals via the modrst
register block at offset 0x200 within each SCU.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2 weeks agoclk: ast2700: add clock driver support
Ryan Chen [Fri, 12 Jun 2026 09:43:11 +0000 (17:43 +0800)] 
clk: ast2700: add clock driver support

Add clock controller driver for the dual-die AST2700 SoC. The chip
has two SCUs (SoC0/CPU at 0x12c02000, SoC1/IO at 0x14c02000), each
with its own PLLs (HPLL/APLL/DPLL/MPLL), clock dividers and clock
gate controls. This commit registers two UCLASS_CLK drivers
matching "aspeed,ast2700-scu0" and "aspeed,ast2700-scu1".

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2 weeks agoarm: dts: aspeed: Add initial AST27xx SoC device tree
Ryan Chen [Fri, 12 Jun 2026 09:43:10 +0000 (17:43 +0800)] 
arm: dts: aspeed: Add initial AST27xx SoC device tree

Add initial device tree support for the ASPEED AST27xx family, the
8th-generation Baseboard Management Controller (BMC) SoCs.

AST27xx SOC Family
 - https://www.aspeedtech.com/server_ast2700/
 - https://www.aspeedtech.com/server_ast2720/
 - https://www.aspeedtech.com/server_ast2750/

The AST27xx features a dual-SoC architecture consisting of two ties,
referred to as SoC0 and SoC1 - interconnected through an internal
property bus. Both SoCs share the same address decoding scheme,
while each maintains independent clock and reset domains.

- SoC0 (CPU die): contains a dual-core Cortex-A35 cluster and two
  Cortex-M4 cores, along with high-speed peripherals.
- SoC1 (I/O die): includes the BootMCU (responsible for system
  boot) and its own clock/reset domains low-speed peripherals.

The device tree describes the SoC0 and SoC1 domains and their peripheral
layouts.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2 weeks agoarm: aspeed: add ASPEED AST2700 SoC family support
Ryan Chen [Fri, 12 Jun 2026 09:43:09 +0000 (17:43 +0800)] 
arm: aspeed: add ASPEED AST2700 SoC family support

Add initial support for the ASPEED AST2700, an arm64 (Cortex-A35)
Baseboard Management Controller (BMC) SoC. AST2700 is Aspeed's 8th
generation BMC and uses a dual-die architecture: SoC0 (the "CPU"
die) hosts the four Cortex-A35 cores and its own SCU at 0x12c02000,
while SoC1 (the "IO" die) hosts the peripherals and its own SCU at
0x14c02000.

This commit adds:
  - ASPEED_AST2700 Kconfig option and the ast2700 mach subdir
    (mach Makefile, ast2700/Kconfig, board/aspeed/evb_ast2700/*)
  - arm64 MMU map covering the SoC device window and the DRAM
    region at 0x4_0000_0000 (up to 8 GiB)
  - lowlevel_init.S for early CPU bring-up
  - cpu-info: print SoC ID (AST2700/2720/2750 A0/A1/A2 variants)
    and reset cause (cold reset, EXT reset, WDT reset)
  - board_common: dram_init via UCLASS_RAM, AHBC timeout init
  - platform: env_get_location() that selects SPI/eMMC based on
    the IO-die HW strap; arch_misc_init() that exposes
    ${boot_device} and ${verify} to the boot script
  - SCU0/SCU1 register layout header (scu_ast2700.h)
  - configs/evb-ast2700_defconfig and include/configs/evb_ast2700.h
    for the AST2700 EVB board

The defconfig depends on ast2700-evb.dts, which is introduced in
a subsequent patch; this commit must be applied with the
remaining series for evb-ast2700_defconfig to build.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2 weeks agospi: aspeed: add AST2700 support
Ryan Chen [Fri, 12 Jun 2026 09:43:08 +0000 (17:43 +0800)] 
spi: aspeed: add AST2700 support

AST2700 is a 64-bit SoC whose flash AHB windows are decoded above
the 32-bit address space, so rework AHB addresses to uintptr_t and
decoded window sizes to size_t.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2 weeks agoMerge tag 'u-boot-imx-next-20260627' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Sun, 28 Jun 2026 14:27:59 +0000 (08:27 -0600)] 
Merge tag 'u-boot-imx-next-20260627' 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/30547

- Move environment variables to .env file on imx7ul-evk/imx6ull-evk/mx6-sabre
- imx ipuv3 improvements.
- Initial support for aquila imx95
- Add support for OPTEE on i.MX93
- Allow users to inhibit i.MX trip point setup
- Add support for imx93_frdm 2CS 2GB DRAM support
- Add optee binary to i.MX9 platform types
- Enable booting Image.gz on imx8m-evk/imx9-evk

2 weeks agoimx9: Add v2x_status and ele_info commands
Ye Li [Fri, 26 Jun 2026 11:11:53 +0000 (19:11 +0800)] 
imx9: Add v2x_status and ele_info commands

Add v2x_status and ele_info commands to print useful information
for development and debug purpose.

Signed-off-by: Ye Li <ye.li@nxp.com>
2 weeks agomisc: ele_api: Add V2X Get State API
Ye Li [Fri, 26 Jun 2026 11:11:52 +0000 (19:11 +0800)] 
misc: ele_api: Add V2X Get State API

Add V2X Get State API to return V2X states for debug purpose

Signed-off-by: Ye Li <ye.li@nxp.com>
2 weeks agoimx952_evk: Correct CONFIG_DEFAULT_FDT_FILE
Peng Fan [Fri, 19 Jun 2026 16:06:08 +0000 (00:06 +0800)] 
imx952_evk: Correct CONFIG_DEFAULT_FDT_FILE

The device tree is not stored under freescale directory when booting
Linux, so drop vendor name.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx95/952/94_evk/: enable booting Image.gz
Peng Fan [Fri, 19 Jun 2026 16:06:07 +0000 (00:06 +0800)] 
imx95/952/94_evk/: enable booting Image.gz

Add support for booting compressed kernel Image.gz by defining
kernel_comp_addr_r and kernel_comp_size in the default environment.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx93_evk/qsb/frdm: enable booting Image.gz and avoid extra memcpy
Peng Fan [Fri, 19 Jun 2026 16:06:06 +0000 (00:06 +0800)] 
imx93_evk/qsb/frdm: enable booting Image.gz and avoid extra memcpy

Add support for booting compressed kernel Image.gz by defining
kernel_comp_addr_r and kernel_comp_size in the default environment.

While at here, set ip_dyn to yes to allow dhcp work properly.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx8mm/n_evk: enable booting Image.gz and avoid extra memcpy
Peng Fan [Fri, 19 Jun 2026 16:06:05 +0000 (00:06 +0800)] 
imx8mm/n_evk: enable booting Image.gz and avoid extra memcpy

Add support for booting compressed kernel Image.gz by defining
kernel_comp_addr_r and kernel_comp_size in the default environment.

Set kernel_comp_addr_r to a high memory region to provide a dedicated
decompression buffer, avoiding overlap between compressed
input and decompressed output.

Also adjust CONFIG_SYS_LOAD_ADDR from 0x40480000 to 0x40400000.

With TEXT_OFFSET=0, the kernel is relocated directly to loadaddr, so
separating decompression and execution regions is required to guarantee
safe decompression without additional copying.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx8mq_evk: enable booting Image.gz and avoid extra memcpy
Peng Fan [Fri, 19 Jun 2026 16:06:04 +0000 (00:06 +0800)] 
imx8mq_evk: enable booting Image.gz and avoid extra memcpy

Add support for booting compressed kernel Image.gz by defining
kernel_comp_addr_r and kernel_comp_size in the default environment.

Set kernel_comp_addr_r to a high memory region to provide a dedicated
decompression buffer, avoiding overlap between compressed
input and decompressed output.

Also adjust CONFIG_SYS_LOAD_ADDR from 0x40480000 to 0x40400000.

With TEXT_OFFSET=0, the kernel is relocated directly to loadaddr, so
separating decompression and execution regions is required to guarantee
safe decompression without additional copying.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx8mp_evk: enable booting Image.gz and avoid extra memcpy
Peng Fan [Fri, 19 Jun 2026 16:06:03 +0000 (00:06 +0800)] 
imx8mp_evk: enable booting Image.gz and avoid extra memcpy

Add support for booting compressed kernel Image.gz by defining
kernel_comp_addr_r and kernel_comp_size in the default environment.

Set kernel_comp_addr_r to a high memory region (0x80000000) to provide
a dedicated decompression buffer, avoiding overlap between compressed
input and decompressed output.

Also adjust CONFIG_SYS_LOAD_ADDR from 0x40480000 to 0x40600000.

With TEXT_OFFSET=0, the kernel is relocated directly to loadaddr, so
separating decompression and execution regions is required to guarantee
safe decompression without additional copying.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx: kontron-sl-mx8mm: Enable the watchdog at boot
Frieder Schrempf [Thu, 18 Jun 2026 06:13:24 +0000 (08:13 +0200)] 
imx: kontron-sl-mx8mm: Enable the watchdog at boot

We want the watchdog to be enabled at boot by default so it can
handle emergency situations in any case.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoclk: imx6q: use clk_divider_table instead of fixed factor for pll5 divs
Brian Ruley [Tue, 16 Jun 2026 12:51:41 +0000 (15:51 +0300)] 
clk: imx6q: use clk_divider_table instead of fixed factor for pll5 divs

Now that non-linear clk divider tables are supported, replace the fixed
factor implementation with the proper divider, which allows more fine
control over clock rates.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
2 weeks agoclk: clk-divider: add clk_register_divider_table()
Brian Ruley [Tue, 16 Jun 2026 12:51:40 +0000 (15:51 +0300)] 
clk: clk-divider: add clk_register_divider_table()

The existing clk_register_divider() only supports linear or
power-of-two divider mappings. Some hardware (e.g. i.MX6 PLL5
post_div and video_div) uses non-linear register-value-to-divisor
mappings that require a lookup table.

Add clk_register_divider_table() which accepts a clk_div_table,
and reimplement clk_register_divider() as a wrapper passing
table=NULL.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
2 weeks agovideo: imx: ipuv3: enable ipu clk before writing registers in CCF
Brian Ruley [Tue, 16 Jun 2026 12:51:39 +0000 (15:51 +0300)] 
video: imx: ipuv3: enable ipu clk before writing registers in CCF

Obviously, the clock has to be enabled if writing to it's registers.
This was missed because the board I tested on had enabled the clocks in
early init.

Also, remove the completely useless "ipu_clk_enabled" struct member and
use the accurate usecount / enabled_count instead.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
2 weeks agoclk: imx6q: configure ldb clock selectors
Brian Ruley [Tue, 16 Jun 2026 12:51:38 +0000 (15:51 +0300)] 
clk: imx6q: configure ldb clock selectors

A hardware bug prevents LDB clock selectors from being configured later
on non-plus i.MX6QD variants, so let's set the desired configuration in
the probe before we register them. We also have to make the necessary
clock functions available in XPL builds.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
2 weeks agoimx6: clock: allow different clock sources for ldb
Brian Ruley [Tue, 16 Jun 2026 12:51:37 +0000 (15:51 +0300)] 
imx6: clock: allow different clock sources for ldb

The LDB clock sources don't have to be the same, so allow DI1 clock to
be configured separately.

Unlikely to be significant, but the reason will become apparent in the
following commit.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
2 weeks agoclk: imx6q: add missing pll bypasses
Brian Ruley [Tue, 16 Jun 2026 12:51:36 +0000 (15:51 +0300)] 
clk: imx6q: add missing pll bypasses

After reset, all PLLs are bypassed by default so unbypass them so that
dependent clocks can function correctly.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
2 weeks agoclk: imx6q: guard video clocks behind config
Brian Ruley [Tue, 16 Jun 2026 12:51:35 +0000 (15:51 +0300)] 
clk: imx6q: guard video clocks behind config

Do not touch the video clocks unless explicitly required by the
configuration. This avoids the issue of the binary size increase on SPL
builds that do not enable video. For those that do, they should increase
the size limit to fit the new code and data.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
2 weeks agoclk: imx6q: cosmetic: keep pll definitions together
Brian Ruley [Tue, 16 Jun 2026 12:51:34 +0000 (15:51 +0300)] 
clk: imx6q: cosmetic: keep pll definitions together

Make it easier to reason about by keeping similar clocks grouped
together. While at it, fix comment spacing.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
2 weeks agoimx93_frdm: Add support for 2CS 2GB DRAM support
Mathieu Dubois-Briand [Tue, 16 Jun 2026 08:04:42 +0000 (10:04 +0200)] 
imx93_frdm: Add support for 2CS 2GB DRAM support

Add 2CS 2GB DRAM configuration, as revision B2 of the i.MX93 FRDM board
is using it.

This is mostly an import of Tom Zheng work from NXP u-boot git:
https://github.com/nxp-imx/uboot-imx/commit/4c35a6086aed

Acked-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
2 weeks agoimx: fdt: Allow users to inhibit trip point setup
Marek Vasut [Sat, 13 Jun 2026 03:11:43 +0000 (05:11 +0200)] 
imx: fdt: Allow users to inhibit trip point setup

During development or various dangerous experiments, it may
be necessary to override the trip points. Allow users to do
that. However, do keep in mind that this may damage the SoC.

Signed-off-by: Marek Vasut <marex@nabladev.com>
2 weeks agoboard: toradex: add initial support for aquila imx95
Franz Schnyder [Thu, 11 Jun 2026 13:47:48 +0000 (15:47 +0200)] 
board: toradex: add initial support for aquila imx95

Add initial U-Boot support for Aquila iMX95 SoM.

Link: https://www.toradex.com/computer-on-modules/aquila-arm-family/nxp-imx95
Link: https://www.toradex.com/products/carrier-board/aquila-development-board-kit
Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2 weeks agoimx93: Add support for OPTEE
Krzysztof DrobiÅ„ski [Wed, 10 Jun 2026 14:17:10 +0000 (16:17 +0200)] 
imx93: Add support for OPTEE

OPTEE-OS starts correctly when "opteed" is enabled for Secure Payload
Dispatcher in TF-A (tested on OP-TEE version: 4.9.0), however imx93
devices require a patch for OPTEE targets because binman does not see
the tee.bin file when it is available.

Enable conditional OPTEE support for imx93 devices.

Signed-off-by: Krzysztof Drobiński <krzysztof@kd-solutions.pl>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
2 weeks agobinman: Add optee binary to i.MX9 platform types
Mathieu Dubois-Briand [Wed, 10 Jun 2026 14:17:09 +0000 (16:17 +0200)] 
binman: Add optee binary to i.MX9 platform types

OP-TEE tee.bin is generated externally and might be missing during the
build.

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
2 weeks agomx6sabre: Move environment variables to .env files
Aristo Chen [Wed, 10 Jun 2026 13:24:24 +0000 (13:24 +0000)] 
mx6sabre: Move environment variables to .env files

Move the shared environment from CFG_EXTRA_ENV_SETTINGS in
mx6sabre_common.h to a common text environment fragment in
include/env/nxp/mx6sabre_common.env. The mx6sabresd and mx6sabreauto
board environments include this fragment and add their own console
setting, which is the only board specific difference between them. The
eMMC firmware update variables remain guarded by CONFIG_SUPPORT_EMMC_BOOT
inside the fragment. The now unused CONSOLE_DEV defines and the
linux/stringify.h include are dropped.

The generated default environment is unchanged for both boards. This was
verified by comparing the output of scripts/get_default_envs.sh before
and after the change, which produced identical results.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 weeks agomx6ullevk: Move environment variables to .env file
Aristo Chen [Wed, 10 Jun 2026 13:24:23 +0000 (13:24 +0000)] 
mx6ullevk: Move environment variables to .env file

Move the board environment from CFG_EXTRA_ENV_SETTINGS in the config
header to board/nxp/mx6ullevk/mx6ullevk.env for better maintainability.
The file is named after CONFIG_SYS_BOARD so it is selected automatically
without setting CONFIG_ENV_SOURCE_FILE. Drop the now unused
linux/stringify.h include.

The generated default environment is unchanged. This was verified by
comparing the output of scripts/get_default_envs.sh before and after the
change, which produced identical results.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 weeks agomx7ulp_evk: Move environment variables to .env file
Aristo Chen [Wed, 10 Jun 2026 13:24:22 +0000 (13:24 +0000)] 
mx7ulp_evk: Move environment variables to .env file

Move the board environment from CFG_EXTRA_ENV_SETTINGS in the config
header to board/nxp/mx7ulp_evk/mx7ulp_evk.env for better
maintainability. The file is named after CONFIG_SYS_BOARD so it is
selected automatically without setting CONFIG_ENV_SOURCE_FILE.

The generated default environment is unchanged. This was verified by
comparing the output of scripts/get_default_envs.sh before and after the
change, which produced identical results.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx9: Select OF_LIVE
Peng Fan [Tue, 9 Jun 2026 08:36:30 +0000 (16:36 +0800)] 
imx9: Select OF_LIVE

Enable the live DT to reduce the DT parsing time.
Test data on i.MX95-EVK:

Before:
Accumulated time:
                26,205  dm_spl
               483,991  dm_f
                22,977  dm_r
After:
Accumulated time:
                26,229  dm_spl
               484,772  dm_f
                 2,667  of_live
                 1,003  dm_r

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx8m_evk: Select OF_LIVE
Peng Fan [Tue, 9 Jun 2026 08:36:29 +0000 (16:36 +0800)] 
imx8m_evk: Select OF_LIVE

Enable the live DT to reduce the DT parsing time.

Test data on i.MX8MP shows that boot time is decreased by ~%6

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx9: soc: Use livetree API for fdt access
Peng Fan [Tue, 9 Jun 2026 08:36:28 +0000 (16:36 +0800)] 
imx9: soc: Use livetree API for fdt access

Use livetree API, otherwise it will fail to read properties from the device
tree when OF_LIVE is enabled.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agomisc: ele: Use dev_read_addr
Peng Fan [Tue, 9 Jun 2026 08:36:27 +0000 (16:36 +0800)] 
misc: ele: Use dev_read_addr

Use dev_read_addr which supports livetree API, otherwise driver
will fail to get addr when OF_LIVE is enabled.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agogpio: imx_rgpio2p: Use dev_read_addr_index
Peng Fan [Tue, 9 Jun 2026 08:36:26 +0000 (16:36 +0800)] 
gpio: imx_rgpio2p: Use dev_read_addr_index

Use dev_read_addr_index which supports livetree API, otherwise driver
will fail to get addr when OF_LIVE is enabled.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoserial: lpuart: Use livetree API for fdt access
Peng Fan [Tue, 9 Jun 2026 08:36:25 +0000 (16:36 +0800)] 
serial: lpuart: Use livetree API for fdt access

Use livetree API, otherwise driver will fail to read properties
from the device tree when OF_LIVE is enabled.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx8m: dts: Update ddr firmware name
Peng Fan [Tue, 9 Jun 2026 08:36:24 +0000 (16:36 +0800)] 
imx8m: dts: Update ddr firmware name

Update to latest ddr firmware name, otherwise user may use legacy ddr
firmware from linux-firmware-imx release.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx: Guard print_cpuinfo with !CONFIG_IS_ENABLED(CPU)
Peng Fan [Tue, 9 Jun 2026 08:36:23 +0000 (16:36 +0800)] 
imx: Guard print_cpuinfo with !CONFIG_IS_ENABLED(CPU)

When CONFIG_CPU is enabled, print_cpuinfo is defined in common/board_f.c
with static property. However in imx cpu.c, print_cpuinfo is not a local
function, so guard it with !CONFIG_IS_ENABLED(CPU).

And all i.MX8M boards has CONFIG_CPU and CONFIG_CPU_IMX set, so remove the
dead code.

However legacy print_cpuinfo also print reset reason, to keep reset
reason printed as before, export get_reset_reason() and invoke it
at arch_misc_init().

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx7ulp: cleanup get_imx_type
Peng Fan [Tue, 9 Jun 2026 08:36:22 +0000 (16:36 +0800)] 
imx7ulp: cleanup get_imx_type

There is only one SoC and no external user of get_imx_type for i.MX7ULP,
so directly embed the string in print_cpuinfo and drop get_imx_type().

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx8ulp: cleanup get_imx_type
Peng Fan [Tue, 9 Jun 2026 08:36:21 +0000 (16:36 +0800)] 
imx8ulp: cleanup get_imx_type

There is only one SoC and no external user of get_imx_type for i.MX8ULP,
so directly embed the string in print_cpuinfo and drop get_imx_type().

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx952: Update gpio node regs
Peng Fan [Tue, 9 Jun 2026 08:36:19 +0000 (16:36 +0800)] 
imx952: Update gpio node regs

Same to 85319b2e672 ("board: toradex: smarc-imx95: remove gpio1 reg"),
there is no need to use dual base for i.MX952 gpio, so drop the U-Boot
specific reg changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2 weeks agoimx8m: Imply DM_THERMAL
Peng Fan [Tue, 9 Jun 2026 08:36:18 +0000 (16:36 +0800)] 
imx8m: Imply DM_THERMAL

CONFIG_IMX_TMU depends on CONFIG_DM_THERMAL, so when selecting IMX_TMU,
DM_THERMAL should also be selected.

Update i.MX8M based defconfigs.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2 weeks agoboard: qualcomm: phone: enable CMD_FASTBOOT_ABORT_KEYED
Sam Day [Thu, 18 Jun 2026 23:55:01 +0000 (09:55 +1000)] 
board: qualcomm: phone: enable CMD_FASTBOOT_ABORT_KEYED

Thus users are able to exit from fastboot by pressing a key.

It's also possible to bail out by running `fastboot continue` from the
host, but it's nice to be consistent with UMS. Also convenient to be
able to bailout during testing if USB isn't working properly.

Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: Sam Day <me@samcday.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://patch.msgid.link/20260619-fastboot-abort-keyed-v2-2-684e53949a42@samcday.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 weeks agocmd: fastboot: Add keyed abort option
Sam Day [Thu, 18 Jun 2026 23:55:00 +0000 (09:55 +1000)] 
cmd: fastboot: Add keyed abort option

Works the same as CONFIG_CMD_UMS_ABORT_KEYED does: any keypress will
abort fastboot mode (rather than only ctrl-c).

Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Tested-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: Sam Day <me@samcday.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://patch.msgid.link/20260619-fastboot-abort-keyed-v2-1-684e53949a42@samcday.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 weeks agousb: gadget: f_mass_storage: Disable eps during disconnect
Mattijs Korpershoek [Wed, 17 Jun 2026 11:14:48 +0000 (13:14 +0200)] 
usb: gadget: f_mass_storage: Disable eps during disconnect

When trying two ums commands in a row, the second one no longer
enumerates properly from the host.

This happens since commit
59310d1ecb9f ("usb: gadget: introduce 'enabled' flag in struct usb_ep")
causing usb_ep_enable() to return early when ep->enabled is already set.

Gadget function drivers (such as f_fastboot or f_mass_storage) implement
a disable() function which is called whenever we are done using the
gadget.

Because f_mass_storage driver does not disable the endpoints,
ep->enabled will never be set to false again.

This can be reproduced on the STM32MP157C-DK2 or the Khadas VIM3 boards.

Add calls to usb_ep_disable() as done in linux [1] to fix this.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9fff139aeb11186fd8e75860c959c86cb43ab2f6

Fixes: 59310d1ecb9f ("usb: gadget: introduce 'enabled' flag in struct usb_ep")
Reported-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://patch.msgid.link/20260617-ums-disconnect-v2-1-6e52d9de1d36@kernel.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 weeks agousb: f_sdp: handle the spl load function failure
Ye Li [Fri, 22 May 2026 07:27:05 +0000 (15:27 +0800)] 
usb: f_sdp: handle the spl load function failure

Current implementation does not check the return value of spl load
function. If the spl load is failed, SPL may meet crash due to
spl_image variable is not initialized. Add the failure check,
so SPL can print and stop with error.

Signed-off-by: Ye Li <ye.li@nxp.com>
Fixes: 2c72ead73874 ("usb: gadget: f_sdp: Allow SPL to load and boot FIT via SDP")
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://patch.msgid.link/20260522072705.1156220-1-ye.li@nxp.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 weeks agoMerge patch series "Kconfig restyle part 2"
Tom Rini [Thu, 25 Jun 2026 20:17:51 +0000 (14:17 -0600)] 
Merge patch series "Kconfig restyle part 2"

Johan Jonker <jbx6244@gmail.com> says:

The Kconfig menu attribute '---help---' is deprecated.
If we change to "help" the text has to indent.
This again has to align with other attributes,
so we have to restyle them as well.
And as there's a script then change all Kconfig files
excluding 'arch' and 'board' directories from part 1.

Restyle all Kconfigs:
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Problems:
People creating indents in help texts.
The script doesn't care. It puts everything left aligned.

Help texts with empty lines. It stops aligning as help test.

Other fixes:
While using checkpatch.pl or the script some issues showed up,
so fix them as well.

Link: https://lore.kernel.org/r/ef462dea-69aa-48df-9f7c-af2e6c54e52a@gmail.com
2 weeks agoKconfig: restyle
Johan Jonker [Wed, 10 Jun 2026 14:41:34 +0000 (16:41 +0200)] 
Kconfig: restyle

Restyle Kconfig:
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: drivers: restyle remaining
Johan Jonker [Wed, 10 Jun 2026 14:41:21 +0000 (16:41 +0200)] 
Kconfig: drivers: restyle remaining

Restyle all Kconfigs for the rest of "drivers":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
[trini: Add missing indentation on a few more multi-paragraph help texts]
Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agoKconfig: gpio: add empty line
Johan Jonker [Wed, 10 Jun 2026 14:41:04 +0000 (16:41 +0200)] 
Kconfig: gpio: add empty line

Restyle by adding an empty line between configs.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: video: restyle
Johan Jonker [Wed, 10 Jun 2026 14:40:50 +0000 (16:40 +0200)] 
Kconfig: video: restyle

Restyle all Kconfigs for "video":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
[trini: Add missing indentation on a multi-paragraph help text]
Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agoKconfig: usb: restyle
Johan Jonker [Wed, 10 Jun 2026 14:40:27 +0000 (16:40 +0200)] 
Kconfig: usb: restyle

Restyle all Kconfigs for "usb":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: power: restyle
Johan Jonker [Wed, 10 Jun 2026 14:40:13 +0000 (16:40 +0200)] 
Kconfig: power: restyle

Restyle all Kconfigs for "power":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
[trini: Add missing indentation on a few more multi-paragraph help texts]
Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agoKconfig: pinctrl: restyle
Johan Jonker [Wed, 10 Jun 2026 14:39:57 +0000 (16:39 +0200)] 
Kconfig: pinctrl: restyle

Restyle all Kconfigs for "pinctrl":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: net: restyle
Johan Jonker [Wed, 10 Jun 2026 14:39:39 +0000 (16:39 +0200)] 
Kconfig: net: restyle

Restyle all Kconfigs for "net":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: mtd: restyle
Johan Jonker [Wed, 10 Jun 2026 14:39:20 +0000 (16:39 +0200)] 
Kconfig: mtd: restyle

Restyle all Kconfigs for "mtd":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
[trini: Add missing indentation on a few more multi-paragraph help texts]
Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agoKconfig: i2c: restyle
Johan Jonker [Wed, 10 Jun 2026 14:39:01 +0000 (16:39 +0200)] 
Kconfig: i2c: restyle

Restyle all Kconfigs for "i2c":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: net: restyle
Johan Jonker [Wed, 10 Jun 2026 14:38:48 +0000 (16:38 +0200)] 
Kconfig: net: restyle

Restyle all Kconfigs for "net":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: lib: restyle
Johan Jonker [Wed, 10 Jun 2026 14:38:36 +0000 (16:38 +0200)] 
Kconfig: lib: restyle

Restyle all Kconfigs for "lib":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: fs: restyle
Johan Jonker [Wed, 10 Jun 2026 14:38:22 +0000 (16:38 +0200)] 
Kconfig: fs: restyle

Restyle all Kconfigs for "fs":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: dts: restyle
Johan Jonker [Wed, 10 Jun 2026 14:38:09 +0000 (16:38 +0200)] 
Kconfig: dts: restyle

Restyle all Kconfigs for "dts":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: disk: restyle
Johan Jonker [Wed, 10 Jun 2026 14:37:56 +0000 (16:37 +0200)] 
Kconfig: disk: restyle

Restyle all Kconfigs for "disk":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: common: restyle
Johan Jonker [Wed, 10 Jun 2026 14:37:43 +0000 (16:37 +0200)] 
Kconfig: common: restyle

Restyle all Kconfigs for "common":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: cmd: restyle
Johan Jonker [Wed, 10 Jun 2026 14:37:30 +0000 (16:37 +0200)] 
Kconfig: cmd: restyle

Restyle all Kconfigs for "cmd":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2 weeks agoKconfig: boot: restyle
Johan Jonker [Wed, 10 Jun 2026 14:37:17 +0000 (16:37 +0200)] 
Kconfig: boot: restyle

Restyle all Kconfigs for "boot":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>