]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
6 weeks agorockchip: rk3588-generic: Enable support for RK3582
Jonas Karlman [Wed, 7 Jan 2026 23:07:40 +0000 (23:07 +0000)] 
rockchip: rk3588-generic: Enable support for RK3582

Add Kconfig option OF_SYSTEM_SETUP=y to support booting boards with a
RK3582 SoC. CPU and GPU cores are failed based on ip-state and policy.

Tested on a ROCK 5C Lite v1.1:

  cpu-code: 35 82
  ip-state: 10 00 00 (otp)
  ip-state: 30 9e 04 (policy)
  remove cpu-map cluster1
  rename cpu-map cluster2
  fail gpu
  fail rkvdec1
  fail rkvenc1
  fail cpu cpu@400
  fail cpu cpu@500

and on a Radxa E52C:

  cpu-code: 35 82
  ip-state: 00 04 00 (otp)
  ip-state: c0 9e 04 (policy)
  remove cpu-map cluster2
  fail gpu
  fail rkvdec1
  fail rkvenc1
  fail cpu cpu@600
  fail cpu cpu@700

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
6 weeks agorockchip: Add initial RK3582 support
Jonas Karlman [Wed, 7 Jan 2026 23:07:39 +0000 (23:07 +0000)] 
rockchip: Add initial RK3582 support

The RK3582 SoC is a variant of the RK3588S with some IP blocks disabled.
What blocks are disabled/non-working is indicated by ip-state in OTP.

This add initial support for RK3582 by using ft_system_setup() to mark
any cpu, gpu and/or vdec/venc node with status=fail as indicated by
ip-state.

This apply same policy as vendor U-Boot for RK3582, i.e. two big cpu
cores, the gpu and one vdec/venc core is always failed/disabled.

Enable Kconfig option OF_SYSTEM_SETUP in board defconfig to make use of
the required DT fixups for RK3582 board variants.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
6 weeks agophy: rockchip: naneng-combphy: Enable U3 port for USB3OTG on RK3568
Jonas Karlman [Tue, 6 Jan 2026 23:36:43 +0000 (23:36 +0000)] 
phy: rockchip: naneng-combphy: Enable U3 port for USB3OTG on RK3568

The USB OTG U3 port may have been disabled early, add support to the
COMBPHY driver to re-enable the U3 port.

This matches changes made in the Linux commit 7bb14b61b7d0 ("phy:
rockchip: naneng-combphy: Enable U3 OTG port for RK3568").

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Acked-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
6 weeks agorockchip: sdram: Add fallback that fixup DRAM gaps on RK3588
Jonas Karlman [Tue, 6 Jan 2026 23:21:51 +0000 (23:21 +0000)] 
rockchip: sdram: Add fallback that fixup DRAM gaps on RK3588

RK3588 has two known memory gaps when using 16+ GiB DRAM,
[0x3fc000000, 0x3fc500000) and [0x3fff00000, 0x400000000).

The vendor TPL blob encodes this information in the DDR_MEM tag data
passed to later boot phases. U-Boot proper will normally use this
information to configure the DRAM banks.

When a DDR_MEM tag cannot be found the fallback is to use the entire
range above 4 GiB. Something that will cause issues when OS try to use
memory from the two known memory gaps.

Add a weak dram init banksize fixup function and implement it for RK3588
to fix issues observed when trying to RAM boot RK3588 boards with 16+
GiB DRAM into Linux.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
6 weeks agoboard: mediatek: add MT8395 EVK board support
Julien Stephan [Thu, 19 Feb 2026 10:03:38 +0000 (11:03 +0100)] 
board: mediatek: add MT8395 EVK board support

This adds support for the MT8395_EVK board with the following
features enabled/tested: Boot, UART, Watchdog and MMC.

MT8395_EVK is based on MT8195.

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260219-add-mt8395-evk-v2-2-18b190d91cb6@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
6 weeks agoarm: mediatek: MT8195 fix mem_map
Julien Stephan [Thu, 19 Feb 2026 10:03:37 +0000 (11:03 +0100)] 
arm: mediatek: MT8195 fix mem_map

Commit 2517e2b524e8 ("arm: mediatek: add support for MediaTek MT8195
SoC") was merged after commit 24ffbb2aa17e ("arm: mediatek: consolidate
ARMv8 memory maps") but was not rebased on top of it, so mem_map is
defined twice. Fix it.

Fixes: 2517e2b524e8 ("arm: mediatek: add support for MediaTek MT8195 SoC")
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260219-add-mt8395-evk-v2-1-18b190d91cb6@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
6 weeks agotest: boot: Add test for bootmeth_rauc
Martin Schwan [Wed, 18 Feb 2026 13:35:07 +0000 (14:35 +0100)] 
test: boot: Add test for bootmeth_rauc

Add a simple unit test for testing the RAUC bootmethod. Provide only the
very basic tests for now, running a scan and list, to verify correct
detection of the RAUC bootmethod. More advanced boot tests of this
bootmethod can be added in a separate patch.

This requires another mmc image (mmc10) to contain the following
partitions:

1. boot A: contains a dummy boot.scr
2. root A: contains an empty root filesystem
3. boot B: contains a dummy boot.scr
4. root B: contains an empty root filesystem

The bootmeth_rauc scans all four partitions for existence and expects a
boot script in each boot partition.

Also add BOOTMETH_RAUC as a dependency on sandbox so that we can test
this with:

$ ./test/py/test.py -B sandbox --build -k test_ut # build the mmc10.img
$ ./test/py/test.py -B sandbox --build -k bootflow_rauc

Signed-off-by: Martin Schwan <m.schwan@phytec.de>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
[trini: mmc9 is now in use, switch to mmc10]
Signed-off-by: Tom Rini <trini@konsulko.com>
6 weeks agobootm: fix booting kernel_noload image
Ludwig Nussel [Tue, 24 Feb 2026 15:57:10 +0000 (16:57 +0100)] 
bootm: fix booting kernel_noload image

FIT images don't work without having to explicitly specify physical
load addresses. Digging into that it looks like a flaw in
bootm_load_os().
It duplicates images->os for convenience. However, the code handling
"kernel_noload" images then updates the load address in the copy with
the value lmb_alloc_mem() returned. Later there's another call to
lmb_alloc_mem() that uses the old value. This leads to havoc due
to subsequent calls of lmb_alloc_mem() picking too low addresses.

The "fix" is to mark the local variable const to avoid accidental
assignments. This works but IMO the logic is still flawed somehow as
this leads to overlapping lmb reservations. I guess the fixed
reservation should only be done when the noload path wasn't hit.

Without the change:
+ bootm 0x40200000#qemu-arm 0x40200000#qemu-arm 0x40000000
   Using 'qemu-arm' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel' kernel subimage
     Description:  Linux kernel
     Created:      2026-02-24  14:10:09 UTC
     Type:         Kernel Image (no loading done)
     Compression:  gzip compressed
     Data Start:   0x402000b8
     Data Size:    12227440 Bytes = 11.7 MiB
     Hash algo:    sha256
     Hash value:   7ea661fdecdd1127edd419cfbf8bff52e2d5ac55c...
   Verifying Hash Integrity ... sha256+ OK
   Using 'qemu-arm' configuration
   Verifying Hash Integrity ... OK
   Trying 'ramdisk' ramdisk subimage
     Description:  Initial ramdisk
     Created:      2026-02-24  14:10:09 UTC
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0x40da9528
     Data Size:    1067114 Bytes = 1 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha256
     Hash value:   2a711dcb5f58615187645ccec615c67eddcfbb3138...
   Verifying Hash Integrity ... sha256+ OK
   Booting using the fdt blob at 0x40000000
Working FDT set to 40000000
   Uncompressing Kernel Image (no loading done) to 13a400000
   Loading Ramdisk to 400fb000, end 401ff86a ... OK
device tree - allocation error
FDT creation failed!
resetting ...
Bloblist at 0 not found (err=-2)
alloc space exhausted ptr 400 limit 0
Bloblist at 0 not found (err=-2)
[reset]

After:
+ bootm 0x40200000#qemu-arm 0x40200000#qemu-arm 0x40000000
   Using 'qemu-arm' configuration
   Verifying Hash Integrity ... OK
   Trying 'kernel' kernel subimage
     Description:  Linux kernel
     Created:      2026-02-24  14:10:09 UTC
     Type:         Kernel Image (no loading done)
     Compression:  gzip compressed
     Data Start:   0x402000b8
     Data Size:    12227440 Bytes = 11.7 MiB
     Hash algo:    sha256
     Hash value:   7ea661fdecdd1127edd419cfbf8bff52e2d5ac55ce...
   Verifying Hash Integrity ... sha256+ OK
   Using 'qemu-arm' configuration
   Verifying Hash Integrity ... OK
   Trying 'ramdisk' ramdisk subimage
     Description:  Initial ramdisk
     Created:      2026-02-24  14:10:09 UTC
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0x40da9528
     Data Size:    1067114 Bytes = 1 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    sha256
     Hash value:   2a711dcb5f58615187645ccec615c67eddcfbb3138...
   Verifying Hash Integrity ... sha256+ OK
   Booting using the fdt blob at 0x40000000
Working FDT set to 40000000
   Uncompressing Kernel Image (no loading done) to 13a400000
   Loading Ramdisk to 13a2fb000, end 13a3ff86a ... OK
   Loading Device Tree to 000000013a1f8000, end 000000013a2fafff ... OK
Working FDT set to 13a1f8000

Starting kernel ...

Signed-off-by: Ludwig Nussel <ludwig.nussel@siemens.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 weeks agoMerge patch series "fw_env: cleanup flash_write_buf()"
Tom Rini [Fri, 6 Mar 2026 16:32:50 +0000 (10:32 -0600)] 
Merge patch series "fw_env: cleanup flash_write_buf()"

Rafał Miłecki <rafal@milecki.pl> says:

I found flash_write_buf() somehow more difficult to follow than needed.
Some code turned out to be inconsistent and some not really needed.

There is a set of 6 patches that should be small enough to make them easy
to review. I was wondering if I should squash patches 5 and 6 but ended up
with sending two smaller diffs.

Those changes shouldn't really change any behaviour (except for smaller mem
alloc). Let me know if there are any issues with this!

Link: https://lore.kernel.org/r/20260221100011.29049-1-zajec5@gmail.com
6 weeks agofw_env: drop unneeded variables from flash_write_buf()
Rafał Miłecki [Sat, 21 Feb 2026 10:00:11 +0000 (11:00 +0100)] 
fw_env: drop unneeded variables from flash_write_buf()

Recent cleanups made some variables redundant. Both: "blocklen" and
"erase_len" ended up being used as temporary variables used locally in
some short code paths.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 weeks agofw_env: move "erasesize" calculation up in a code
Rafał Miłecki [Sat, 21 Feb 2026 10:00:10 +0000 (11:00 +0100)] 
fw_env: move "erasesize" calculation up in a code

Calculate "erasesize" in the same place where other offsets and lengths
/ sizes are calculated. It makes code more consistent and will allow
further cleanups.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 weeks agofw_env: unify calculation of "blockstart" in flash_write_buf()
Rafał Miłecki [Sat, 21 Feb 2026 10:00:09 +0000 (11:00 +0100)] 
fw_env: unify calculation of "blockstart" in flash_write_buf()

In both code paths "blockstart" is calculated the same way. Unify it.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Tom Rini <trini@konsulko.com>
6 weeks agofw_env: add ROUND_UP() helper
Rafał Miłecki [Sat, 21 Feb 2026 10:00:08 +0000 (11:00 +0100)] 
fw_env: add ROUND_UP() helper

We already have DIV_ROUND_UP() to simplify code so add ROUND_UP() as
well. This makes code in flash_write_buf() easier to follow.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 weeks agofw_env: allocate buffer of proper size in flash_write_buf()
Rafał Miłecki [Sat, 21 Feb 2026 10:00:07 +0000 (11:00 +0100)] 
fw_env: allocate buffer of proper size in flash_write_buf()

When dealing with env data not aligned to flash blocks flash_write_buf()
has to use an extra buffer. It reads existing flash content to it,
modifies required part and writes it back.

While reading and writing a size stored in "write_total" is used. It's
what should be used when allocating the buffer too.

In some cases allocating memory of "erase_len" size could result in
allocating too big buffer. That wouldn't break anything but it was
making code less intuitive.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 weeks agofw_env: use "erasesize" variable in writing loop
Rafał Miłecki [Sat, 21 Feb 2026 10:00:06 +0000 (11:00 +0100)] 
fw_env: use "erasesize" variable in writing loop

Use "erasesize" instead of "blocklen" in flash_write_buf()'s loop. This
change touches code executed for bad NAND blocks so it doesn't affect
any behaviour (for NAND flashes "blocklen" and "erasesize" are equal).

This just makes code a bit more consistent as "erasesize" is what is
used all around inside the writing loop.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
6 weeks agoMerge branch 'master' of git://source.denx.de/u-boot-usb into next
Tom Rini [Fri, 6 Mar 2026 14:13:47 +0000 (08:13 -0600)] 
Merge branch 'master' of git://source.denx.de/u-boot-usb into next

- Change the address parsing for MUSB and another patch to add
  compatibles for ti,musb-am33xx and bind functions that check the
  dr_mode.

6 weeks agousb: musb-new: Add compatibles for ti,musb-am33xx
Markus Schneider-Pargmann (TI.com) [Mon, 9 Feb 2026 09:24:38 +0000 (10:24 +0100)] 
usb: musb-new: Add compatibles for ti,musb-am33xx

The upstream devicetree am33xx.dtsi does not have a "ti,am33xx-usb"
compatible, it uses "ti,sysc-omap4" for the same node. The
implementation of ti-musb uses a wrapper driver that binds to
ti,am33xx-usb and creates new devices ti-musb-host and
ti-musb-peripheral depending on the dr_mode property.

To avoid this wrapper driver with the upstream devicetree, add
compatibles for "ti,musb-am33xx" to both ti-musb-host and
ti-musb-peripheral. Add a bind function that checks for the correct
dr_mode value and rejects binding if it is not the correct driver.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
6 weeks agousb: musb-new: Relative ctrl_mod address parsing
Markus Schneider-Pargmann (TI.com) [Mon, 9 Feb 2026 09:24:37 +0000 (10:24 +0100)] 
usb: musb-new: Relative ctrl_mod address parsing

For the upstream DT the ctrl_mod node is using a relative register
address which is not translated by the current code.

Make address parsing understand relative addresses.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
6 weeks agodrivers: ufs: fix typo in struct ufs_dev_cmd kernel-doc
Julien Stephan [Thu, 5 Mar 2026 08:49:04 +0000 (09:49 +0100)] 
drivers: ufs: fix typo in struct ufs_dev_cmd kernel-doc

Fix "associated" typo in struct ufs_dev_cmd kernel-doc.

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260305-ufs-ufs_hba_ops-cleanup-v3-3-e153ffab98f5@baylibre.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
6 weeks agodrivers: ufs: add helper for phy_initialization callback
Julien Stephan [Thu, 5 Mar 2026 08:49:03 +0000 (09:49 +0100)] 
drivers: ufs: add helper for phy_initialization callback

Introduce ufshcd_ops_phy_initialization() as a helper for invoking the
phy_initialization callback from ufs_hba_ops.

This mirrors the existing helper pattern used for other ufs_hba_ops
callbacks and keeps the call sites consistent and easier to maintain.

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260305-ufs-ufs_hba_ops-cleanup-v3-2-e153ffab98f5@baylibre.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
6 weeks agodrivers: ufs: handle return values of ufs_hba_ops callbacks
Julien Stephan [Thu, 5 Mar 2026 08:49:02 +0000 (09:49 +0100)] 
drivers: ufs: handle return values of ufs_hba_ops callbacks

The return values of ufshcd_ops_link_startup_notify(),
ufshcd_ops_hce_enable_notify(), ufshcd_ops_init(), and
ufshcd_device_reset() are currently ignored.

Check and propagate these return values properly and emit appropriate
error messages on error.

While at it, remove the ufshcd_device_reset() wrapper, which just call
ufshcd_device_reset().

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260305-ufs-ufs_hba_ops-cleanup-v3-1-e153ffab98f5@baylibre.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
6 weeks agoMerge patch series "MAINTAINERS: Update ADI ADSP platform maintainers" 880/head
Tom Rini [Wed, 4 Mar 2026 20:25:30 +0000 (14:25 -0600)] 
Merge patch series "MAINTAINERS: Update ADI ADSP platform maintainers"

Philip Molloy <philip@philipmolloy.com> says:

This series updates the maintainers for the ADI ADSP platform. It
follows Greg's series adding support for ADI ADSP SoCs.

Timesys spent years developing and maintaining Linux support for ADI
ADSP SoCs. The maintenance contract has ended and ADI has brought that
effort in-house. Additionally, Timesys was acquired by another company.

Thanks to everyone at Timesys for all of their hard work over the years!

Link: https://lore.kernel.org/r/20260226111136.354009-1-philip@philipmolloy.com
6 weeks agotreewide: Remove Timesys from ADI ADSP maintenance
Philip Molloy [Thu, 26 Feb 2026 11:11:50 +0000 (11:11 +0000)] 
treewide: Remove Timesys from ADI ADSP maintenance

After years of developing the ADI ADSP platform, Timesys was purchased
by another company and is no longer contracted to maintain the platform.

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Reviewed-by: Greg Malysa <malysagreg@gmail.com>
6 weeks agoMAINTAINERS: Update ARM SC5xx
Philip Molloy [Thu, 26 Feb 2026 11:11:46 +0000 (11:11 +0000)] 
MAINTAINERS: Update ARM SC5xx

After years of developing the ADI ADSP platform, Timesys was purchased
by another company and is no longer contracted to maintain the platform.

Utsav is leaving ADI after contributing to ADSP SoCs for the last 3
years. He is a founding member of the in-house team supporting the
chips.

Linux support at ADI has been consolidated. Use the company-wide mailing
list and git repository.

Signed-off-by: Philip Molloy <philip.molloy@analog.com>
Reviewed-by: Greg Malysa <malysagreg@gmail.com>
6 weeks agotools/atmelimage: add const qualifier to fix compiler warning
Daniel Golle [Fri, 27 Feb 2026 01:50:46 +0000 (01:50 +0000)] 
tools/atmelimage: add const qualifier to fix compiler warning

More strict checks in GCC 15 expose a new warning:
tools/atmelimage.c: In function ‘atmel_find_pmecc_parameter_in_token’:
tools/atmelimage.c:64:31: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
64 |                         param = strstr(token, "=");
   |                               ^
cc1: all warnings being treated as errors

Add 'const' qualifier to variable 'param' to prevent build failing
due to -Werror.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
6 weeks agoMerge tag 'u-boot-ufs-20260304' of https://source.denx.de/u-boot/custodians/u-boot-ufs
Tom Rini [Wed, 4 Mar 2026 20:24:59 +0000 (14:24 -0600)] 
Merge tag 'u-boot-ufs-20260304' of https://source.denx.de/u-boot/custodians/u-boot-ufs

A few fixes/missing changes for UFS:
- remove unused ufs_post_bind() declaration
- Disable UTP command timeout in slow mode
- Missing MediaTek UFS PHY Driver to be used with the UFS driver

6 weeks agoRevert "kbuild: unexport sub_make_done to fix child make invocations"
Tom Rini [Wed, 4 Mar 2026 17:34:36 +0000 (11:34 -0600)] 
Revert "kbuild: unexport sub_make_done to fix child make invocations"

This unfortunately introduces failure to build in other cases:
$ make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- O=build \
microchip_mpfs_generic_defconfig
  GEN     Makefile
#
# configuration written to .config
#
$ make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- O=build
  HOSTCC  scripts/basic/fixdep
  GEN     Makefile
  HOSTCC  scripts/kconfig/conf.o
  YACC    scripts/kconfig/zconf.tab.[ch]
  LEX     scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf  --syncconfig Kconfig
***
*** Configuration file ".config" not found!
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
make[4]: *** [/stuff/u-boot/scripts/kconfig/Makefile:75: syncconfig] Error 1
make[3]: *** [/stuff/u-boot/Makefile:702: syncconfig] Error 2
make[2]: *** [../Makefile:189: __sub-make] Error 2
make[1]: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'.  Stop.
make: *** [Makefile:189: __sub-make] Error 2

This reverts commit 4284306d22c5b6d64ecd62b462551d9d313c8104.

Reported-by: Conor Dooley <conor@kernel.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agoMerge tag 'u-boot-dfu-next-20260303' of https://source.denx.de/u-boot/custodians...
Tom Rini [Tue, 3 Mar 2026 18:56:18 +0000 (12:56 -0600)] 
Merge tag 'u-boot-dfu-next-20260303' of https://source.denx.de/u-boot/custodians/u-boot-dfu into next

u-boot-dfu-next-20260303

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

Fastboot:
* mmc: make boot partition offset configurable for bootloader offsets
* arch: imx8qxp: Override weak fb_mmc_get_boot_offset

7 weeks agokbuild: Drop phandle from diff between base DT and U-Boot augmented DT if DEVICE_TREE...
Marek Vasut [Sun, 15 Feb 2026 14:04:55 +0000 (15:04 +0100)] 
kbuild: Drop phandle from diff between base DT and U-Boot augmented DT if DEVICE_TREE_DEBUG=1

Remove the "phandle = <0x..>;" properties from the DT diff between
unpatched base DT and U-Boot augmented DT if DEVICE_TREE_DEBUG=1.
The phandle numbers are only generated by DTC, but not referenced
anywhere in the DT, because the original references are specifically
not replaced by phandle numbers when recent DTC is invoked with the
-I dts -O dts flags . The phandle number are therefore only a noise
in the diff, filter them out.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Tested-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agokbuild: unexport sub_make_done to fix child make invocations
Simon Glass [Sat, 14 Feb 2026 02:47:34 +0000 (19:47 -0700)] 
kbuild: unexport sub_make_done to fix child make invocations

The exported sub_make_done variable leaks into the environment of all
child processes. When make targets like tcheck spawn independent make
invocations with O=, those child makes inherit sub_make_done=1, skip
the KBUILD_OUTPUT setup and try to build in the source tree.

There is a workaround that resets sub_make_done to 0 for specific test
targets, but this isn't great since it has tolist every target that
spawns independent make invocations.

Instead, unexport sub_make_done once we are in the final make
invocation. The direct sub-make already has the value in its
environment from the export, and no further propagation is needed.
This also allows the per-target workaround to be removed.

Fixes: 27529f1cb02d ("kbuild: skip parsing pre sub-make code for recursion")
Signed-off-by: Simon Glass <simon.glass@canonical.com>
7 weeks agomenu: Move shortcut-key handling to bootmenu_loop()
Simon Glass [Fri, 13 Feb 2026 13:39:09 +0000 (06:39 -0700)] 
menu: Move shortcut-key handling to bootmenu_loop()

The bootmenu_conv_key() function is shared with expo subsystem for key
input. Adding alphanumeric-to-BKEY_SHORTCUT conversion there causes expo
to swallow typed characters instead of inserting them as text, since
BKEY_SHORTCUT falls in the range that expo treats as a command key
rather than passing through.

Move the shortcut-key detection into bootmenu_loop() where it is
only used in the bootmenu context.

Fixes: 8c986521c3c9 ("cmd: bootmenu: permit to select bootmenu entry with a shortcut")
Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 weeks agodrivers: cpu: fix syntax error in Kconfig documentation
Hugo Villeneuve [Mon, 16 Feb 2026 17:28:39 +0000 (12:28 -0500)] 
drivers: cpu: fix syntax error in Kconfig documentation

Replace then -> they so that the sentence makes sense.

Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agodm: core: Don't allow ofnode_to_fdt() to return NULL
Romain Gantois [Tue, 17 Feb 2026 09:27:52 +0000 (10:27 +0100)] 
dm: core: Don't allow ofnode_to_fdt() to return NULL

The ofnode_to_fdt() function may return a NULL pointer in multiple cases.
Or, this function's return value is often passed directly to functions such
as fdt_getprop() which end up dereferencing it, thus causing a NULL pointer
exception.

Don't allow ofnode_to_fdt() to return NULL, to avoid a NULL pointer
dereference.

Reviewed-by: Raphaël Gallais-Pou <raphael.gallais-pou@foss.st.com>
Signed-off-by: Romain Gantois <romain.gantois@bootlin.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
7 weeks agousb: gadget: Mark udc_disconnect as static
Tom Rini [Tue, 24 Feb 2026 15:45:04 +0000 (09:45 -0600)] 
usb: gadget: Mark udc_disconnect as static

With the last external callers of udc_disconnect long removed, mark this
function as static now and remove it from headers.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://patch.msgid.link/20260224154504.85301-1-trini@konsulko.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
7 weeks agoMerge tag 'u-boot-imx-next-20260228' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 2 Mar 2026 19:44:46 +0000 (13:44 -0600)] 
Merge tag 'u-boot-imx-next-20260228' 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/29404

- Miscelanous improvements for Siemens Capricorn board.
- Convert i.MX6 IPUv3 driver to use clock framework.
- Skip voltage switching for fixed 1.8V regulator on fsl_esdhc_imx.
- Support printing imx8m pinmux.
- Enter fastboot on USB boot by default on phycore-imx93.
- Use arch override for env_get_location() on imx95.

7 weeks agocommon/memsize.c: Fix get_ram_size() original data restore
Stefan Eichenberger [Fri, 14 Mar 2025 10:06:49 +0000 (11:06 +0100)] 
common/memsize.c: Fix get_ram_size() original data restore

The get_ram_size() function fails to restore the original RAM data when
the data cache is enabled. This issue was observed on an AM625 R5 SPL
with 512MB of RAM and is a regression that became visible with
commit bc07851897bd ("board: ti: Pull redundant DDR functions to a common
location and Fixup DDR size when ECC is enabled").

Observed boot failure messages:
  Warning: Did not detect image signing certificate. Skipping authentication to prevent boot failure. This will fail on Security Enforcing(HS-SE) devices
  Authentication passed
  Starting ATF on ARM64 core...

The system then hangs. This indicates that without a data cache flush,
data in the cache is not coherent with RAM, preventing the system from
booting. This was verified by printing the content of this address when
the issue occurs.

Add a data cache flush after each restore operation to resolve this
issue.

Fixes: bc07851897bd ("board: ti: Pull redundant DDR functions to a common location and Fixup DDR size when ECC is enabled")
Fixes: 1c64b98c1ec4 ("common/memsize.c: Fix get_ram_size() when cache is enabled")
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Reviewed-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Tested-by: Francesco Dolcini <francesco.dolcini@toradex.com> # Toradex Verdin AM62
7 weeks agodrivers: ufs: remove unused ufs_post_bind() declaration
Julien Stephan [Tue, 3 Feb 2026 09:21:26 +0000 (10:21 +0100)] 
drivers: ufs: remove unused ufs_post_bind() declaration

Commit 067c1b033282 ("ufs: Call ufs_scsi_bind() from uclass .post_bind")
inlined ufs_scsi_bind() into ufs_post_bind() as trivial
device_bind_driver() call.

ufs_scsi_bind() is no longer referenced anywhere in the codebase, so
drop its declaration from include/ufs.h.

Drivers used to include <ufs.h> to include prototype of ufs_scsi_bind()
function, so we can now safely remove such includes.

Fixes: 067c1b033282 ("ufs: Call ufs_scsi_bind() from uclass .post_bind")
Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260203-cleanup-ufs-header-v1-1-4c10424485f0@baylibre.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
7 weeks agophy: Add MediaTek UFS PHY Driver
Igor Belwon [Sat, 11 Oct 2025 19:10:04 +0000 (21:10 +0200)] 
phy: Add MediaTek UFS PHY Driver

This UFS M-PHY driver can be used on recent MediaTek SoCs as the
primary PHY for the UFS controller.

Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
Link: https://patch.msgid.link/20251011-mtk-ufs-uboot-v1-1-a05f991ee150@mentallysanemainliners.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
7 weeks agoufs: Disable UTP command timeout in slow mode
Padmarao Begari [Wed, 26 Nov 2025 15:06:41 +0000 (16:06 +0100)] 
ufs: Disable UTP command timeout in slow mode

When the UFS controller is operating in slow (PWM) mode,
the driver is disabled the timeout for UTP send commands.
In high-speed mode, the timeout remains enabled to
detect stalled or failed transfers. This change ensures reliable
operation in slow mode, where command completion may take longer
and timeouts are not required.

Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/e6deb9086afab9d2bdd53db8ecbc7db93af5204d.1764169598.git.michal.simek@amd.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
7 weeks agoarm: imx: imx95: Use arch override for env_get_location()
Sébastien Szymanski [Sat, 28 Feb 2026 10:09:51 +0000 (11:09 +0100)] 
arm: imx: imx95: Use arch override for env_get_location()

Like commit b9e48705e0b6 ("arm: imx: imx9: Use arch override for
env_get_location()"), use arch-level implementation here so that
env_get_location() can be used on board-level.

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
7 weeks agopinctrl: nxp: imx9: Guard pinctrl match table with CONFIG_IMX9[X]
Peng Fan [Wed, 25 Feb 2026 01:29:36 +0000 (09:29 +0800)] 
pinctrl: nxp: imx9: Guard pinctrl match table with CONFIG_IMX9[X]

The i.MX9 pinctrl match table currently lists all SoC compatibles
unconditionally, which may lead to unused entries being included when
building for specific SoC variants. Guard each compatible entry with
the corresponding CONFIG_IMX9[X] option so only the required SoC
entries are compiled in, which reduces unnecessary data.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopinctrl: nxp: imx91: Support print pin muxing
Peng Fan [Wed, 25 Feb 2026 01:29:35 +0000 (09:29 +0800)] 
pinctrl: nxp: imx91: Support print pin muxing

Add support for printing pin names and current mux configuration on i.MX91
when CMD_PINMUX is enabled by adding full pin descriptor table for i.MX91
pads.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopinctrl: nxp: imx93: Support print pin muxing
Peng Fan [Wed, 25 Feb 2026 01:29:34 +0000 (09:29 +0800)] 
pinctrl: nxp: imx93: Support print pin muxing

Add support for printing pin names and current mux configuration on
i.MX93 when CMD_PINMUX is enabled.

 - A full pin descriptor table for i.MX93 pads.
 - Implementation of get_pins_count(), get_pin_name(), and
   get_pin_muxing() in the i.MX9 pinctrl driver.

There is no good way to add real mux names, so just dump the function ID
from the mux register.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopinctrl: nxp: imx93: Rename to imx9
Peng Fan [Wed, 25 Feb 2026 01:29:33 +0000 (09:29 +0800)] 
pinctrl: nxp: imx93: Rename to imx9

We are going to add pinctrl data support for both i.MX93 and i.MX91.
Since these SoCs share the same pinctrl driver structure, rename
pinctrl-imx93.c to a more generic pinctrl-imx9.c and update all related
variable and function names accordingly.

This prepares the driver for supporting additional i.MX9 family SoCs.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopinctrl: nxp: imx8m: Guard pinctrl match table with CONFIG_IMX8M[X]
Peng Fan [Wed, 25 Feb 2026 01:29:32 +0000 (09:29 +0800)] 
pinctrl: nxp: imx8m: Guard pinctrl match table with CONFIG_IMX8M[X]

The i.MX8M pinctrl match table currently lists all SoC compatibles
unconditionally, which may lead to unused entries being included when
building for specific SoC variants. Guard each compatible entry with
the corresponding CONFIG_IMX8M[X] option so only the required SoC
entries are compiled in, which reduces unnecessary data.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopinctrl: nxp: imx8mq: Support print pin muxing
Peng Fan [Wed, 25 Feb 2026 01:29:31 +0000 (09:29 +0800)] 
pinctrl: nxp: imx8mq: Support print pin muxing

Add support for printing pin names and current mux configuration on i.MX8MQ
when CMD_PINMUX is enabled by adding full pin descriptor table for i.MX8MQ
pads.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopinctrl: nxp: imx8mm: Support print pin muxing
Peng Fan [Wed, 25 Feb 2026 01:29:30 +0000 (09:29 +0800)] 
pinctrl: nxp: imx8mm: Support print pin muxing

Add support for printing pin names and current mux configuration on i.MX8MM
when CMD_PINMUX is enabled by adding full pin descriptor table for i.MX8MM
pads.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopinctrl: nxp: imx8mn: Support print pin muxing
Peng Fan [Wed, 25 Feb 2026 01:29:29 +0000 (09:29 +0800)] 
pinctrl: nxp: imx8mn: Support print pin muxing

Add support for printing pin names and current mux configuration on i.MX8MN
when CMD_PINMUX is enabled by adding full pin descriptor table for i.MX8MN
pads.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopinctrl: nxp: imx8mp: Support print pin muxing
Peng Fan [Wed, 25 Feb 2026 01:29:28 +0000 (09:29 +0800)] 
pinctrl: nxp: imx8mp: Support print pin muxing

Add support for printing pin names and current mux configuration on
i.MX8MP when CMD_PINMUX is enabled.

 - imx_pinctrl_pin_desc structure and PINCTRL_PIN()/IMX_PINCTRL_PIN()
   helpers for defining pin descriptors.
 - A full pin descriptor table for i.MX8MP pads.
 - Implementation of get_pins_count(), get_pin_name(), and
   get_pin_muxing() in the i.MX8M pinctrl driver.

There is no good way to add real mux names, so just dump the function ID
from the mux register.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopinctrl: nxp: Kconfig: Typo fix
Peng Fan [Wed, 25 Feb 2026 01:29:27 +0000 (09:29 +0800)] 
pinctrl: nxp: Kconfig: Typo fix

PINCTRL_IMX93 is for i.MX9[3,1], not for i.MX8M, correct the typo.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoconfigs: toradex-smarc-imx95: Enable remoteproc
Emanuele Ghidoli [Thu, 26 Feb 2026 09:29:53 +0000 (10:29 +0100)] 
configs: toradex-smarc-imx95: Enable remoteproc

Enable the remoteproc command, i.MX remoteproc driver, System
Manager SCMI CPU and LMM support to control the Cortex-M7.

Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
7 weeks agosiemens: capricorn: protect environment
Adrian Freihofer [Tue, 17 Feb 2026 16:39:11 +0000 (17:39 +0100)] 
siemens: capricorn: protect environment

With ENV_WRITEABLE_LIST only specific environment variables lisetd in
CFG_ENV_FLAGS_LIST_STATIC are read from the u-boot environment storage.
All other environment variables are set to default values and are not
written back to the storage.

The u-boot environment usually stays for the lifetime of the product.
There is no A/B copy mechanism as for the firmware itself. That means
that incompatible changes to environment variables in future u-boot
versions may lead to serious issues if the old environment is used with
a new u-boot version or vice versa.

Having this protection in place ensures that only a limited set of
environment variables are persisted across u-boot versions. All the
macros not listed in CFG_ENV_FLAGS_LIST_STATIC are now part of the
u-boot binary which is redundant and immutable. This guarantees that
the u-boot version and the default values of these environment variables
are always in sync and cannot be changed at runtime.

ustate and rastate are not relevant for u-boot itself. ustate is used
by swupdate which persists the transaction state in the environment.
rastate is a similar variable used by another user space application.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agosiemens: capricorn: rework bootcmd environment variables
Adrian Freihofer [Tue, 17 Feb 2026 16:39:10 +0000 (17:39 +0100)] 
siemens: capricorn: rework bootcmd environment variables

Rework the boot state machine to a significantly simpler and more
robust implementation. The basic idea is to revert to the previous
partition whenever an issue is detected during the boot process.

- Broken SPL

  If one of the two SPLs does not boot, the ROM code of the i.MX8 SoC
  automatically starts the second SPL from the second boot partition.
  For example, if the system's active partition is A but the SPL from
  partition A is broken, the ROM code automatically uses the SPL/u-boot
  from partition B.
  Proceeding with this boot procedure would lead to booting the kernel/
  rootfs from partition A, which could potentially successfully boot
  the system and allow the user to apply the firmware update with the
  broken SPL again. This would lead to a non-bootable system because
  the second update would overwrite the last working bootloader.
  To prevent such situations, zigzag boots are detected and the system
  reverts to the previous partition rather than booting the kernel/rootfs
  from the currently active partition. Detecting zigzag boots is done
  via the new fallback variable.

  To make this state machine even more consistent, the partitionset_active
  variable is no longer used to determine the active partition during
  boot. Instead, the active partition is always read from the eMMC
  partconf registers.
  For backward compatibility, the partitionset_active variable is still
  updated whenever a partition switch occurs. However, u-boot no longer
  relies on this variable, as it could potentially be out of sync with
  the actual partition state, leading to situations where the ROM code
  of the i.MX8 SoC would be out of sync with u-boot.

- Broken kernel, initramfs or rootfs

  If the upgrade_available variable is set, u-boot counts the number of
  consecutive boots via the bootcount variable. If the bootcount exceeds
  the bootlimit variable, u-boot starts the altbootcmd instead of the
  bootcmd. Previously, this logic was bypassed by assigning the regular
  bootcmd to altbootcmd. Now, the altbootcmd is used to revert to the
  previous partition when the bootlimit is exceeded.

The netdev variable is changed to eth0 by default. This is what the FEC
driver uses on Capricorn boards. For devices with switches and DSA
subsystems in use, the netdev should be set accordingly by additional
logic in the environment or u-boot code. This is not part of this commit.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agosiemens: capricorn: fix fallback bootm call for fitImage
Walter Schweizer [Tue, 17 Feb 2026 16:39:09 +0000 (17:39 +0100)] 
siemens: capricorn: fix fallback bootm call for fitImage

When dtb_name is missing or a configuration is missing, try to
boot the default configuration in the image. The call to bootm needs
the correct loadaddr to succeed.

Fixes booting when factoryset is missing.

Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agosiemens: capricorn: always detect emmc device
Heiko Schocher [Tue, 17 Feb 2026 16:39:08 +0000 (17:39 +0100)] 
siemens: capricorn: always detect emmc device

drop Environment variable mmcautodetect and the board logic
behind it, as we want always to autodetct the emmc device.

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agosiemens: capricorn: add logic to U-Boot to avoid zig-zag boot
Heiko Schocher [Tue, 17 Feb 2026 16:39:07 +0000 (17:39 +0100)] 
siemens: capricorn: add logic to U-Boot to avoid zig-zag boot

add logic in board code for detecting the real boot
partition and set a local hush shell variable fallback
which can be used later in boot variables for detecting
a ROM bootloader fallback case.

We use the local hush shell variable, as we do not want
to save in any case the fallback variable in U-Boot
Environment, as the default Environment is maybe saved
in boards, which are downgraded to older U-Boot versions.

And than the board code does not run, and fallback never
gets the correct value.

Introduce also hush shell variable envvers to value "v2_"
so we can use them in Environment for running different
versions of variables between new and old U-Boot images.

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agocapricorn: config: add bootcounter command
Heiko Schocher [Tue, 17 Feb 2026 16:39:06 +0000 (17:39 +0100)] 
capricorn: config: add bootcounter command

Enable bootcount feature to count the boot times

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoimx8qxp_capricorn config: add wget command
Walter Schweizer [Tue, 17 Feb 2026 16:39:05 +0000 (17:39 +0100)] 
imx8qxp_capricorn config: add wget command

Enable the "wget" command to allow download using TCP / HTTP protocol.
This is faster than TFTP download.

Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoarm: dts: capricorn: move fec2 config
Lukas Stockmann [Tue, 17 Feb 2026 16:39:04 +0000 (17:39 +0100)] 
arm: dts: capricorn: move fec2 config

fec2 config does not belong to the Capricorn CPU module, move it to
the main board.

Signed-off-by: Lukas Stockmann <lukas.stockmann@siemens.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoarm: dts: capricorn: remove pinctrl_usdhc2
Lukas Stockmann [Tue, 17 Feb 2026 16:39:03 +0000 (17:39 +0100)] 
arm: dts: capricorn: remove pinctrl_usdhc2

usdhc2 is not used on the Capricorn board.

Signed-off-by: Lukas Stockmann <lukas.stockmann@siemens.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agosiemens: capricorn: set max-frequency for usdhc1
Adrian Freihofer [Tue, 17 Feb 2026 16:39:02 +0000 (17:39 +0100)] 
siemens: capricorn: set max-frequency for usdhc1

This is required since

commit aebb523a2381 ("mmc: mmc-uclass: Use max-frequency from device tree with default handling")

and the related patches of the same series.

The error observed without this change is:
  Autobooting in 3 seconds, press "<Esc><Esc>" to stop
  EXT_CSD[179], PARTITION_CONFIG:
  BOOT_ACK: 0x0
  BOOT_PARTITION_ENABLE: 0x1 (boot0)
  PARTITION_ACCESS: 0x0 (user)
  Loading from eMMC ...fit

  U-Boot SPL 2026.01-4238dcfcbfe (Jan 09 2026 - 08:19:45 +0000)

For this example it's the following commands which does no longer work
for larger images:

  ext4load mmc 0:1 0x88000000 boot/fitImage

On latest master branch the problematic commit gets reverted with

commit c4f5b1d4b037 ("Revert "mmc: mmc-uclass: Use max-frequency from device tree with default handling"")

but for v2026.01 this fix is still required. Maybe it's anyway a good
idea to have this property set explicitly.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoarm: dts: capricorn: pinctrl_usdhc1 cleanup
Lukas Stockmann [Tue, 17 Feb 2026 16:39:01 +0000 (17:39 +0100)] 
arm: dts: capricorn: pinctrl_usdhc1 cleanup

gpio4.29 belongs to eth0 and not to emmc0 and is
handled by the mainboard dts and not here in the
cpu module dtsi.

Signed-off-by: Lukas Stockmann <lukas.stockmann@siemens.com>
Signed-off-by: Heiko Schocher <hs@nabladev.com>
7 weeks agommc: fsl_esdhc_imx: Skip voltage switching for fixed 1.8V regulator
Kory Maincent [Tue, 17 Feb 2026 13:49:39 +0000 (14:49 +0100)] 
mmc: fsl_esdhc_imx: Skip voltage switching for fixed 1.8V regulator

When using a fixed 1.8V regulator for vqmmc (indicated by vs18_enable),
attempting to change the voltage produces spurious errors since the
regulator cannot be adjusted. The driver currently attempts the voltage
change, receives -ENOSYS from the regulator subsystem, and reports:

  Setting to 1.8V error: -38
  esdhc_set_voltage error -5

Fix this by checking vs18_enable early in esdhc_set_voltage() and
returning -ENOTSUPP for all voltage switch requests, not just 3.3V.
This prevents unnecessary regulator operations and eliminates the
error messages when the hardware is correctly configured with a fixed
1.8V supply.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
7 weeks agovideo: imx: ipuv3: use clock framework
Brian Ruley [Fri, 13 Feb 2026 08:49:55 +0000 (10:49 +0200)] 
video: imx: ipuv3: use clock framework

Clocks are now configurable via the common clock framework, however,
users have the option use the legacy clocks if desired. The intent is to
keep the changes minimal for this old SoC.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
7 weeks agovideo: imx: ipuv3: move clock code to legacy
Brian Ruley [Fri, 13 Feb 2026 08:49:54 +0000 (10:49 +0200)] 
video: imx: ipuv3: move clock code to legacy

In preparation for CCF migration for IPUv3 separate existing clock code
to legacy files. These will be used by i.MX5 that currently does not
support the CCF. No functional change.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
7 weeks agopwm: pwm-imx: enable ipg or per clks only if CONFIG_CLK enabled
Brian Ruley [Fri, 13 Feb 2026 08:49:53 +0000 (10:49 +0200)] 
pwm: pwm-imx: enable ipg or per clks only if CONFIG_CLK enabled

This caused linker errors in cases where IPUv3 was enabled (which
defines its own clocks).

Fixes: bfc778cb93a ("driver: pwm: pwm-imx: get and enable per/ipg
                     clock using dm")
Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
7 weeks agoclk: imx6q: add ipu and ldb clocks and dependencies
Brian Ruley [Fri, 13 Feb 2026 08:49:52 +0000 (10:49 +0200)] 
clk: imx6q: add ipu and ldb clocks and dependencies

This is required for the IPUv3 driver to migrate to CCF, changes are
largely based on the Linux kernel equivalent.

Add new gate2_flags function (also present in the Linux code) to set
required flags.

Add usboh clock to get rid of error.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
7 weeks agoclk: imx6q: apply clang-format
Brian Ruley [Fri, 13 Feb 2026 08:49:51 +0000 (10:49 +0200)] 
clk: imx6q: apply clang-format

Reduces the number of checkpatch warnings in the following commits.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
7 weeks agoarch: imx: fix incorrect shutdown call for inactive video devices
Brian Ruley [Fri, 13 Feb 2026 08:49:50 +0000 (10:49 +0200)] 
arch: imx: fix incorrect shutdown call for inactive video devices

Somehow I missed that ipuv3_fb_shutdown() can be called for inactive
devices, resulting in invalid memory access and preventing the kernel
from booting.

Fixes: 32da6773f62 ("video: imx: ipuv3: refactor to use dm-managed state")
Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
Reviewed-by: David Zang <davidzangcs@gmail.com>
7 weeks agoimx8qx: misc: add command for getting boottype
Heiko Schocher [Fri, 13 Feb 2026 05:15:07 +0000 (06:15 +0100)] 
imx8qx: misc: add command for getting boottype

add boottype command, which saves the boot_type
primary (0) or fallback (1) in environment
variable "boottype". If argument "print" is
passed, it also prints the boottype on console.

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
7 weeks agoimx: scu_api: implement sc_misc_get_boot_type
Heiko Schocher [Fri, 13 Feb 2026 05:15:06 +0000 (06:15 +0100)] 
imx: scu_api: implement sc_misc_get_boot_type

add function sc_misc_get_boot_type() which returns the
boot type.

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Signed-off-by: Walter Schweizer <walter.schweizer@siemens.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoboard: phytec: phycore-imx93: Enter fastboot on USB boot by default
Primoz Fiser [Thu, 12 Feb 2026 08:33:30 +0000 (09:33 +0100)] 
board: phytec: phycore-imx93: Enter fastboot on USB boot by default

In case board is booted from USB, enter fastboot by default to enable
the UUU flashing. In case of abort continue with the regular bootstd
scan. User also has possibility to override the default bootcmd from
the environment. Last but not least, this syncs behavior with other
PHYTEC boards from the i.MX family.

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Reviewed-by: Benjamin Hahn <B.Hahn@phytec.de>
7 weeks agonxp: imx8mp_evk: Add board_mmc_get_env_dev
Peng Fan [Sun, 8 Feb 2026 14:34:42 +0000 (22:34 +0800)] 
nxp: imx8mp_evk: Add board_mmc_get_env_dev

When booting from eMMC, there is error log:
MMC:   FSL_SDHC: 1, FSL_SDHC: 2
Loading Environment from MMC... MMC: no card present

Add board_mmc_get_env_dev() to get the correct device number.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agonxp: imx8m[m,p]_evk: Drop init_uart_clk
Peng Fan [Sun, 8 Feb 2026 14:34:41 +0000 (22:34 +0800)] 
nxp: imx8m[m,p]_evk: Drop init_uart_clk

Both the two boards have clk framework enabled, so rely on serial driver
calling clk_enable to enable the uart clk.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agonxp: imx8mp_evk: Enable SPL_CLK_IMX8MP
Peng Fan [Sun, 8 Feb 2026 14:34:40 +0000 (22:34 +0800)] 
nxp: imx8mp_evk: Enable SPL_CLK_IMX8MP

Enable SPL_CLK_IMX8M to make sure clk_enable could work proper in SPL
phase by using clock framework driver.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoMerge tag 'efi-2026-04-rc4' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 27 Feb 2026 14:12:04 +0000 (08:12 -0600)] 
Merge tag 'efi-2026-04-rc4' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request efi-2026-04-rc4

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

UEFI:

* Correct LoadImage() return code for invalid parameters
  and provide a test for it.
* Correct misspells in the test code.

7 weeks agoefi_selftest: cosmetic: fix spelling in comments
Vincent Stehlé [Thu, 19 Feb 2026 18:44:00 +0000 (19:44 +0100)] 
efi_selftest: cosmetic: fix spelling in comments

Fix a few UEFI function names, as well as a typo.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
7 weeks agoefi_selftest: test specific LoadImage() case
Vincent Stehlé [Mon, 16 Feb 2026 11:30:17 +0000 (12:30 +0100)] 
efi_selftest: test specific LoadImage() case

Add a test calling the LoadImage() UEFI function with both its SourceBuffer
and DevicePath input arguments equal to NULL.

This test can be run on the sandbox with the following command:

  ./u-boot -T -c "setenv efi_selftest load image from file; \
                  bootefi selftest"

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
7 weeks agoefi_loader: fix specific LoadImage() return code
Vincent Stehlé [Mon, 16 Feb 2026 11:30:16 +0000 (12:30 +0100)] 
efi_loader: fix specific LoadImage() return code

When the LoadImage() UEFI function is called with both its SourceBuffer and
DevicePath input arguments equal to NULL, it must return EFI_NOT_FOUND [1].
However, it does return EFI_INVALID_PARAMETER instead; fix it.

Link: https://uefi.org/specs/UEFI/2.11/07_Services_Boot_Services.html#efi-boot-services-loadimage
Reported-by: Sathisha Shivaramappa <sathisha.shivaramappa@arm.com>
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
7 weeks agoMerge tag 'mmc-next-2026-02-26' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Thu, 26 Feb 2026 16:23:12 +0000 (10:23 -0600)] 
Merge tag 'mmc-next-2026-02-26' of https://source.denx.de/u-boot/custodians/u-boot-mmc into next

- Add MediaTek MT6359P regulator driver
- Add MediaTek MT6357 regulator driver
- Add MediaTek PMIC Wrapper driver
- Enable pmic and regulator for mt8365 evk
- Minor cleanup

7 weeks agoGitlab: Fix TEST_PY_TEST_SPEC for qemu-x86_64 in sjg-lab 863/head
Tom Rini [Tue, 24 Feb 2026 18:31:07 +0000 (12:31 -0600)] 
Gitlab: Fix TEST_PY_TEST_SPEC for qemu-x86_64 in sjg-lab

With the change to regularize the usage of TEST_PY_TEST_SPEC in the
sjg-lab stanza with commit c7f360f20d84 ("Gitlab: Rework sjg-lab calling
test.py to be closer to test.py stage") the leading "and " part of the
usage under qemu-x86_64 wasn't removed when it should have been. Do so
now.

Fixes: c7f360f20d84 ("Gitlab: Rework sjg-lab calling test.py to be closer to test.py stage")
Reviewed-by: Simon Glass <simon.glass@canonical.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agoMerge tag 'fsl-qoriq-next-2026-02-25' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 26 Feb 2026 14:49:15 +0000 (08:49 -0600)] 
Merge tag 'fsl-qoriq-next-2026-02-25' of https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq

For SCMI, Power Domain and IOMMU, validate device tree node before
continuing, to avoid boot failure.

7 weeks agoiommu: Validate device tree node in dev_iommu_enable
Peng Fan [Tue, 10 Feb 2026 08:12:16 +0000 (16:12 +0800)] 
iommu: Validate device tree node in dev_iommu_enable

Similar to pinctrl_select_state(), add dev_has_ofnode() check before doing the
real work. Device(scmi_base.0) does not have a real device node, ofnode_null()
is assigned as the device tree node for scmi base protocol device:
'commit 7eb4eb541c14 ("firmware: scmi: install base protocol to SCMI agent")'

However with recent update in
'commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c")',
SPL panic in fdt_check_node_offset_()->fdt_next_tag(), because offset is -1
and SPL_OF_LIBFDT_ASSUME_MASK is 0xFF.

So need to validate device tree node.

Reported-by: Ye Li <ye.li@nxp.com>
Closes: https://lore.kernel.org/u-boot/939a9696-27fa-45a1-b428-feffe21ac6d5@oss.nxp.com/
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopower: domain: Validate device tree node in dev_power_domain_ctrl
Peng Fan [Tue, 10 Feb 2026 08:12:15 +0000 (16:12 +0800)] 
power: domain: Validate device tree node in dev_power_domain_ctrl

Similar to pinctrl_select_state(), add dev_has_ofnode() check before doing the
real work. Device(scmi_base.0) does not have a real device node, ofnode_null()
is assigned as the device tree node for scmi base protocol device:
'commit 7eb4eb541c14 ("firmware: scmi: install base protocol to SCMI agent")'

However with recent update in
'commit 0535e46d55d7 ("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c")',
SPL panic in fdt_check_node_offset_()->fdt_next_tag(), because offset is -1
and SPL_OF_LIBFDT_ASSUME_MASK is 0xFF.

So need to validate device tree node.

Reported-by: Ye Li <ye.li@nxp.com>
Closes: https://lore.kernel.org/u-boot/939a9696-27fa-45a1-b428-feffe21ac6d5@oss.nxp.com/
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agofirmware: scmi: Validate device tree node before setup channel
Peng Fan [Tue, 10 Feb 2026 08:12:14 +0000 (16:12 +0800)] 
firmware: scmi: Validate device tree node before setup channel

SCMI base protocol device does not have a device tree, it should use and
need to use the agent base channel.

For scmi_base.[x], there is no real device tree node for it. ofnode_null() is
assigned as the device tree node for scmi base protocol device:
commit 7eb4eb541c14 ("firmware: scmi: install base protocol to SCMI agent")

However with recent update in commit 0535e46d55d7
("scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c"),
SPL panic in fdt_check_node_offset_()->fdt_next_tag(), because offset is -1
and SPL_OF_LIBFDT_ASSUME_MASK is 0xFF.

So add a check in x_get_channel() to validate the protocol devices'
ofnode.

Reported-by: Ye Li <ye.li@nxp.com>
Closes: https://lore.kernel.org/u-boot/939a9696-27fa-45a1-b428-feffe21ac6d5@oss.nxp.com/
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agommc: mtk-sd: add mediatek,mt8189-mmc compatible
David Lechner [Fri, 6 Feb 2026 20:50:06 +0000 (14:50 -0600)] 
mmc: mtk-sd: add mediatek,mt8189-mmc compatible

Add support for MediaTek MT8189 MMC controller.

According to [1], this is similar to, but not quite the same as
mediatek,mt8196-mmc.

Link: https://lore.kernel.org/linux-mediatek/20251203-mt8189-add-mmc-support-v1-1-f5ce43212fe9@collabora.com/
Signed-off-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsung 876/head
Tom Rini [Wed, 25 Feb 2026 14:49:28 +0000 (08:49 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsung

- Assorted platform and video driver updates

7 weeks agoMerge tag 'u-boot-stm32-20260224' of https://source.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Wed, 25 Feb 2026 14:48:54 +0000 (08:48 -0600)] 
Merge tag 'u-boot-stm32-20260224' of https://source.denx.de/u-boot/custodians/u-boot-stm

STM32 update:
_ Add STM32MP21 support (board, machine, cmd_stm32key, cmd_stboard, rifsc)
_ pinctrl: stm32 : various update
_ stm32prog: clean stm32prog_data struct
_ stm32mp2: Fix array bound check in setup_boot_mode()
_ stm32mp2: Update dynamically DDR size in MMU table
_ rifsc: various fixes

7 weeks agopower: regulator: Kconfig: add SPL_DM_REGULATOR_FAN53555
Heinrich Schuchardt [Wed, 25 Feb 2026 06:57:14 +0000 (07:57 +0100)] 
power: regulator: Kconfig: add SPL_DM_REGULATOR_FAN53555

Symbol CONFIG_SPL_DM_REGULATOR_FAN53555 is selected by
SPL_DM_PMIC_FAN53555 and used in a Makefile. But the
symbol definition is missing.

Add the missing configuration symbol.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoconfigs: mt8365_evk_defconfig: enable PMIC and regulators
David Lechner [Fri, 20 Feb 2026 19:33:06 +0000 (13:33 -0600)] 
configs: mt8365_evk_defconfig: enable PMIC and regulators

Enable PMIC and regulators on MT8365 EVK now that there are drivers for
these. Also enable the associated commands.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopower: pmic: mtk-pwrap: add MediaTek PMIC Wrapper driver
Julien Masson [Fri, 20 Feb 2026 19:33:05 +0000 (13:33 -0600)] 
power: pmic: mtk-pwrap: add MediaTek PMIC Wrapper driver

Add support for the PMIC wrapper (pwrap) IP block found on MediaTek
MT8365 and similar SoCs.

On these SoCs the PMIC is connected via SPI. The SPI controller is not
directly visible to the CPU, but only through the PMIC wrapper inside
the SoC.

Signed-off-by: Julien Masson <jmasson@baylibre.com>
Co-developed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Co-developed-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Signed-off-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopower: regulator: mt6359: add driver for MT6359P
Bo-Chen Chen [Fri, 20 Feb 2026 19:33:04 +0000 (13:33 -0600)] 
power: regulator: mt6359: add driver for MT6359P

Add a new regulator driver for MT6359P and similar PMIC chips.

The MT6359P is a eco version for MT6359 regulator. For the MT8391
platform, we use the MT6359P (MT6365) as the main PMIC. The MT6359 and
MT6359P have different register maps. Therefore, on the MT8391 platform,
we only provide support for the MT6359P. If support for the MT6359 PMIC
it can be added later.

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Signed-off-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agopower: regulator: add MediaTek MT6357 driver
Julien Masson [Fri, 20 Feb 2026 19:33:03 +0000 (13:33 -0600)] 
power: regulator: add MediaTek MT6357 driver

Add a driver for the power regulators of the MediaTek MT6357 PMIC chip.

Signed-off-by: Julien Masson <jmasson@baylibre.com>
Co-developed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Signed-off-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agocmd: mmc: Drop trailing space in Name: before newline
Marek Vasut [Sun, 8 Feb 2026 14:51:03 +0000 (15:51 +0100)] 
cmd: mmc: Drop trailing space in Name: before newline

The Name: line of 'mmc info' command prints a trailing space before
newline. This is not useful and shows up as trailing space e.g. when
the output is checked into documentation. Remove the trailing space.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoconfigs: exynos-mobile: add DEFAULT_DEVICE_TREE option
Kaustabh Chakraborty [Tue, 24 Feb 2026 15:37:11 +0000 (21:07 +0530)] 
configs: exynos-mobile: add DEFAULT_DEVICE_TREE option

Add a default fallback device tree in order to allow a successful build
without mentioning the DEVICE_TREE= make flag.

Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 weeks agoboard: samsung: exynos-mobile: add EFI capsule update support
Kaustabh Chakraborty [Tue, 24 Feb 2026 15:37:10 +0000 (21:07 +0530)] 
board: samsung: exynos-mobile: add EFI capsule update support

Add support for EFI capsule updates via U-Boot's DFU. This flashes the
boot partition with the new image provided in the capsule.

Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 weeks agoboard: samsung: exynos-mobile: use blkmap for booting from userdata subpartitions
Kaustabh Chakraborty [Tue, 24 Feb 2026 15:37:09 +0000 (21:07 +0530)] 
board: samsung: exynos-mobile: use blkmap for booting from userdata subpartitions

Some distributions tend to provide a single combined image with EFS and
the system root filesystem. Flashing it as-is in a single partition
(usually done in userdata partition as it is the largest) is not
bootable as U-Boot does not understand subpartitions.

Use blkmap to map the userdata partition into its own block device.

Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 weeks agophy: samsung: add support for exynos7870 USB PHY
Kaustabh Chakraborty [Mon, 23 Feb 2026 14:25:24 +0000 (19:55 +0530)] 
phy: samsung: add support for exynos7870 USB PHY

The USB PHY used by the Exynos7870 SoC has a single USB 2.0 interface.
Add its dedicated variant enum, compatible, and init/exit functions.

The PHY enable bit of Exynos7870's PHY is different in contrast to that
of Exynos850 and most Exynos PHYs. To allow this change, a simple if
condition is added in exynos_usbdrd_phy_isol() which changes the
bitmask. Since the variant enum is required, the function argument is
changed to accept the driver data itself.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
7 weeks agophy: samsung: add enum for variants based on SoCs
Kaustabh Chakraborty [Mon, 23 Feb 2026 14:25:23 +0000 (19:55 +0530)] 
phy: samsung: add enum for variants based on SoCs

The variant enum is used to uniquely identify which SoC the PHY block
belongs to. It is initially set in the match table, along with the
compatible string, it gets copied to driver data struct during probe.

SoC specific functions must only be called if the respective variant
enum is set. Add switch-case blocks wherever required.

Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
8 weeks agoARM: stm32mp: Check secure state first
Gatien Chevallier [Tue, 10 Feb 2026 10:26:05 +0000 (11:26 +0100)] 
ARM: stm32mp: Check secure state first

Secure state must be checked before handling semaphores,
otherwise it can cause an IAC.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>