]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
6 weeks agonet: mdio-mt7531-mmio: use common header priv struct
Christian Marangi [Wed, 11 Feb 2026 18:22:15 +0000 (21:22 +0300)] 
net: mdio-mt7531-mmio: use common header priv struct

Instead of having duplicate priv struct for mdio-mt7531-mmio driver in
both driver and header, use the one exposed by the header directly.

This make sure we have consistent priv struct if the driver will be
updated in the future.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
6 weeks agocommon: spl: spl_dfu.c: Fix warning associated with PCI subclass_code
Siddharth Vadapalli [Thu, 5 Mar 2026 10:38:14 +0000 (16:08 +0530)] 
common: spl: spl_dfu.c: Fix warning associated with PCI subclass_code

The subclass_code member of the pci_ep_header structure is a 1-byte
field. The macro PCI_CLASS_MEMORY_RAM is a concetation of baseclass_code
and subclass_code as follows:
PCI_BASE_CLASS_MEMORY: 0x05
Subclass Code for RAM: 0x00
PCI_CLASS_MEMORY_RAM:  0x0500
Hence, instead of extracting it via an implicity type conversion from int
to u8 which throws a warning, explicitly mask the bits to extract the
subclass_code.

Fixes: cde77583cf0b ("spl: Add support for Device Firmware Upgrade (DFU) over PCIe")
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Tested-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Tested-by: Mattijs Korpershoek <mkorpershoek@kernel.org> # am62x_evm_a53
Link: https://lore.kernel.org/r/20260305103815.999886-1-s-vadapalli@ti.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
6 weeks agoufs: rockchip: Add device reset support
Alexey Charkov [Tue, 20 Jan 2026 18:09:04 +0000 (22:09 +0400)] 
ufs: rockchip: Add device reset support

Wire up the GPIO line which Rockchip RK3576 UFS controller uses to reset
the connected UFS device.

This seems necessary at least for some UFS modules and fixes the following
error while enumerating UFS storage:

ufshcd-rockchip ufshc@2a2d0000: ufshcd_link_startup: Device not present
ufshcd-rockchip ufshc@2a2d0000: link startup failed -6
ufshcd-rockchip ufshc@2a2d0000: ufshcd_pltfrm_init() failed -6

Note that the GPIO descriptor for device resets is already required by the
DT binding (link enclosed).

Link: https://elixir.bootlin.com/linux/v6.18.5/source/Documentation/devicetree/bindings/ufs/rockchip,rk3576-ufshc.yaml#L70
Fixes: 76465ce21ee4 ("ufs: rockchip: Add initial support")
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20260120-rk3576-ufs-v5-3-0edb61b301b7@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
6 weeks agospl: Make UFS available for SPL builds
Alexey Charkov [Tue, 20 Jan 2026 18:09:02 +0000 (22:09 +0400)] 
spl: Make UFS available for SPL builds

Add minimal infrastructure to build SPL images with support for UFS
storage devices. This also pulls in SCSI support and charset functions,
which are dependencies of the UFS code.

With this, only a fixed offset is supported for loading the next image,
which should be specified in CONFIG_SPL_UFS_RAW_U_BOOT_SECTOR as the
number of 4096-byte sectors into the UFS block device.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://patch.msgid.link/20260120-rk3576-ufs-v5-1-0edb61b301b7@gmail.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
6 weeks agopinctrl: mediatek: add support for mt8189
Bo-Chen Chen [Mon, 9 Feb 2026 23:34:19 +0000 (17:34 -0600)] 
pinctrl: mediatek: add support for mt8189

Add pinctrl support for mt8189.

Signed-off-by: Bo-Chen Chen <rex-bc.chen@mediatek.com>
Co-developed-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260209-mtk-pinctl-mt8189-v1-3-a7a3069eda6c@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
6 weeks agopinctl: mediatek: increase max number of base addresses
David Lechner [Mon, 9 Feb 2026 23:34:18 +0000 (17:34 -0600)] 
pinctl: mediatek: increase max number of base addresses

Increase the maximum number of base addresses that can be handled by the
mediatek pinctrl driver from 10 to 15. This is needed for the MT8189
which has 15 base addresses.

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260209-mtk-pinctl-mt8189-v1-2-a7a3069eda6c@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
6 weeks agopinctl: mediatek: add bounds check on number of base addresses
David Lechner [Mon, 9 Feb 2026 23:34:17 +0000 (17:34 -0600)] 
pinctl: mediatek: add bounds check on number of base addresses

Add a bounds check on the number of base addresses to prevent
out-of-bounds access to the priv->base array.

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260209-mtk-pinctl-mt8189-v1-1-a7a3069eda6c@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
7 weeks agokbuild: fix cross_tools compilation
Ilias Apalodimas [Mon, 2 Mar 2026 08:55:07 +0000 (10:55 +0200)] 
kbuild: fix cross_tools compilation

Frieder reports that after the kbuild sync running
make tools-only_defconfig
make cross_tools
fails with

UPD     include/generated/timestamp_autogenerated.h
PYMOD   rebuild
tools/Makefile:359: *** insufficient number of arguments (1) to function
'filter'.  Stop.
make: *** [Makefile:2191: tools] Error 2

After the sync 'hostprogs-always-y' contains the complete list of
the tools we need to strip, so the $(filter) command is not needed.

Fixes: bd3f9ee679b4d ("kbuild: Bump the build system to 6.1")
Reported-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de>
7 weeks agoarm: k3: Kconfig: Enable fTPM and RPMB support
Shiva Tripathi [Wed, 25 Feb 2026 11:24:38 +0000 (16:54 +0530)] 
arm: k3: Kconfig: Enable fTPM and RPMB support

Enable firmware TPM (fTPM) support via OP-TEE for K3 platforms with
MMC hardware. This provides TPM 2.0 functionality through
Microsoft's fTPM Trusted Application running in OP-TEE secure world,
using eMMC RPMB as persistent storage.

fTPM support in U-Boot provides the foundation for measured boot
and disk encryption use cases.

The ARM64 condition ensures these apply only to A53/A72 cores and the
MMC condition ensures fTPM is enabled only on platforms with eMMC
hardware support.

Signed-off-by: Shiva Tripathi <s-tripathi1@ti.com>
Acked-by: Andrew Davis <afd@ti.com>
7 weeks agoscripts: add checkkconfigsymbols.py
Heinrich Schuchardt [Wed, 25 Feb 2026 13:10:51 +0000 (14:10 +0100)] 
scripts: add checkkconfigsymbols.py

Add checkkconfigsymbols.py from Linux 7.0-rc1 (unchanged since v6.2).
This tool allows to identify the usage of symbols that are not defined
in Kconfig.

Suggested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agodisk: fix DOS_PARTITION dependencies
Heinrich Schuchardt [Wed, 25 Feb 2026 13:03:12 +0000 (14:03 +0100)] 
disk: fix DOS_PARTITION dependencies

* The symbol for the x86 architecture is CONFIG_X86 and not CONFIG_x86.
* Correct the description. The partition type is called MBR.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 weeks agosandbox: don't imply non-existent CONFIG_KEYBOARD
Heinrich Schuchardt [Wed, 25 Feb 2026 09:58:30 +0000 (10:58 +0100)] 
sandbox: don't imply non-existent CONFIG_KEYBOARD

Symbol CONFIG_KEYBOARD does not exist.
Don't imply it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agoboot: don't select non-existent CONFIG_VPL_CRYPTO
Heinrich Schuchardt [Wed, 25 Feb 2026 07:37:11 +0000 (08:37 +0100)] 
boot: don't select non-existent CONFIG_VPL_CRYPTO

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

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fixes: 4218456b3fac ("vbe: Add Kconfig options for VPL")
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agodma: ti: don't use non-existent CONFIG_TI_K3_NAVSS_PSILCFG
Heinrich Schuchardt [Wed, 25 Feb 2026 07:20:09 +0000 (08:20 +0100)] 
dma: ti: don't use non-existent CONFIG_TI_K3_NAVSS_PSILCFG

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

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
7 weeks agoarm/mach-sc5xx: don't select non-existent GIC_600_CLEAR_RDPD
Heinrich Schuchardt [Wed, 25 Feb 2026 06:19:51 +0000 (07:19 +0100)] 
arm/mach-sc5xx: don't select non-existent GIC_600_CLEAR_RDPD

The symbol CONFIG_GIC_600_CLEAR_RDPD does not exist.
Don't select it.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fixes: 48a0b0b4b7d7 ("arch: arm: Add Analog Devices SC5xx machine type")
Fixes: 03de305ec48b ("Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"")
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Greg Malysa <malysagreg@gmail.com>
7 weeks agoarm: don't select non-existent CONFIG_DM_PCI
Heinrich Schuchardt [Wed, 25 Feb 2026 05:43:37 +0000 (06:43 +0100)] 
arm: don't select non-existent CONFIG_DM_PCI

We removed configuration symbol CONFIG_DM_PCI with
commit 3232bdf0b30b ("pci: Drop DM_PCI").

Don't select it for TARGET_POMELO.

Fixes: b9d0f00a9d3f ("arm: add initial support for the Phytium Pomelo Board")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 weeks agoMerge patch series "fs: fat: Handle 'FAT sector size mismatch'"
Tom Rini [Tue, 10 Mar 2026 17:52:16 +0000 (11:52 -0600)] 
Merge patch series "fs: fat: Handle 'FAT sector size mismatch'"

Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com> says:

The disk_read() and disk_write() functions of the FAT driver use the
blk_dread() and blk_dwrite() respectively. The blk_* APIs read and write
to the devices in terms of the device block size. However, the FAT
driver reads in terms of the device block size (from fat_set_blk_dev and
read_bootsectandvi) and sector size in the rest of the places.

This causes buffer overflows or partial reads when the FAT sector size
is not equal to device block size. Fix this by using blk_dread in
fat_set_blk_dev and read_bootsectandvi instead of disk_read. And update
disk_read/disk_write to handle FAT sector size and block size mismatch.

Tested on
blksz | FAT sector size
------+----------------
4096  | 4096
512   | 512
4096  | 512
512   | 4096

CI test results
---------------
https://github.com/u-boot/u-boot/pull/871
All checks have passed
93 successful checks
No conflicts with base branch

Code size change info
---------------------
       arm: (for 1/1 boards) all +32.0 text +32.0
            qemu_arm       : all +32 text +32
               u-boot: add: 0/0, grow: 2/0 bytes: 24/0 (24)
                 function                                   old     new   delta
                 read_bootsectandvi                         420     432     +12
                 fat_set_blk_dev                            204     216     +12

   aarch64: (for 1/1 boards) all +12.0 rodata -8.0 text +20.0
            qemu_arm64     : all +12 rodata -8 text +20
               u-boot: add: 0/0, grow: 2/0 bytes: 20/0 (20)
                 function                                   old     new   delta
                 read_bootsectandvi                         408     420     +12
                 fat_set_blk_dev                            204     212      +8

   aarch64: (for 1/1 boards) all -2.0 data -8.0 rodata +6.0
            qcom_qcs9100   : all -2 data -8 rodata +6
               u-boot: add: 1/-1, grow: 8/-1 bytes: 708/-224 (484)
                 function                                   old     new   delta
                 disk_rw                                      -     628    +628
                 read_bootsectandvi                         408     428     +20
                 fat_itr_root                               500     520     +20
                 get_cluster                                376     388     +12
                 set_contents                              2076    2084      +8
                 fat_set_blk_dev                            204     212      +8
                 static.set_fatent_value                    536     540      +4
                 get_fatent                                 420     424      +4
                 fat_next_cluster                           368     372      +4
                 disk_read                                  100       -    -100
                 disk_write                                 132       8    -124

Link: https://lore.kernel.org/r/20260224035000.1617869-1-varadarajan.narayanan@oss.qualcomm.com
7 weeks agoconfigs: qcom: Enable FS_FAT_HANDLE_SECTOR_SIZE_MISMATCH
Varadarajan Narayanan [Tue, 24 Feb 2026 03:50:00 +0000 (09:20 +0530)] 
configs: qcom: Enable FS_FAT_HANDLE_SECTOR_SIZE_MISMATCH

Enable FS_FAT_HANDLE_SECTOR_SIZE_MISMATCH to handle the different
combination of FAT sector size and device block size present in QCOM
platforms.

Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
7 weeks agofs: fat: Handle 'FAT sector size mismatch'
Varadarajan Narayanan [Tue, 24 Feb 2026 03:49:59 +0000 (09:19 +0530)] 
fs: fat: Handle 'FAT sector size mismatch'

The disk_read() and disk_write() functions of the FAT driver use the
blk_dread() and blk_dwrite() respectively. The blk_* APIs read and write
to the devices in terms of the device block size. However, the FAT
driver reads in terms of the device block size (from fat_set_blk_dev and
read_bootsectandvi) and sector size in the rest of the places.

This causes buffer overflows or partial reads when the FAT sector size
is not equal to device block size. Fix this by using blk_dread in
fat_set_blk_dev and read_bootsectandvi instead of disk_read. And update
disk_read/disk_write to handle FAT sector size and block size mismatch.

Tested on
blksz | FAT sector size
------+----------------
4096  | 4096
512   | 512
4096  | 512
512   | 4096

Signed-off-by: Varadarajan Narayanan <varadarajan.narayanan@oss.qualcomm.com>
7 weeks agoMerge tag 'u-boot-rockchip-20260309' of https://source.denx.de/u-boot/custodians...
Tom Rini [Tue, 10 Mar 2026 14:17:13 +0000 (08:17 -0600)] 
Merge tag 'u-boot-rockchip-20260309' of https://source.denx.de/u-boot/custodians/u-boot-rockchip into next

CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/29452

- New SoC support: RK3506, RK3582;
- New Board support: RK3528 FriendlyElec NanoPi Zero2;
- Other fixes

7 weeks agoarm: rockchip: don't use non-existent CONFIG_TPL_TINY_FRAMEWORK
Heinrich Schuchardt [Wed, 25 Feb 2026 07:28:17 +0000 (08:28 +0100)] 
arm: rockchip: don't use non-existent CONFIG_TPL_TINY_FRAMEWORK

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

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: Reduce size of ramboot usb472 payload
Jonas Karlman [Wed, 4 Feb 2026 21:29:20 +0000 (21:29 +0000)] 
rockchip: Reduce size of ramboot usb472 payload

Booting into SPL using ramboot can take several seconds on some SoCs due
to the large size of the usb472 payload sent over USB to BootROM.

A large chunk of the usb472 payload, around 1-2 MiB, is padding used to
avoid overlapping when loading e.g. TF-A to 0x40000.

BootROM is likely wasting unnecessary time crc16 validating the padding
of the payload.

Place the FIT payload directly after SPL and memmove it to the expected
memory location, SPL_LOAD_FIT_ADDRESS, to avoid excessive padding and
help speed up ramboot.

Binman symbols are used to get the position and size of the FIT payload
that is initially loaded into DRAM by the BootROM.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: rk3588: include all addressable DRAM in memory map
Quentin Schulz [Tue, 3 Feb 2026 09:58:06 +0000 (10:58 +0100)] 
rockchip: rk3588: include all addressable DRAM in memory map

The ATAGS set by Rockchip DDR init blob[1] specify DRAM banks above the
first addressable 4GiB which we haven't done in the mem_map for RK3588
yet.

For 4GiB DRAM, the 256MiB missing from the first addressable 4GiB (due
to MMIO) are accessible at the end of the 8GiB address space. For 8GiB,
4-8GiB address space is used for the additional 4GiB and the missing
256MiB are at the end of 12GiB address space. For 12, 4-12GiB and the
missing 256MiB at the end of 20GiB address space. For 16GiB, 4-~16GiB
with two holes (reasons unknown) around 16GiB and the missing 256MiB is
at the end of 20GiB address space. For 32GiB, 4-16~GiB with two holes
and then 16GiB to 32GiB address space (so likely missing 256MiB from
MMIO address space).

[1] https://gist.github.com/Kwiboo/1c020d37e3adbc9d0d79dc003d921977

Suggested-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agoarch: arm: rockchip: Add initial support for RK3506
Jonas Karlman [Sat, 31 Jan 2026 23:38:23 +0000 (23:38 +0000)] 
arch: arm: rockchip: Add initial support for RK3506

Rockchip RK3506 is a ARM-based SoC with tri-core Cortex-A7.

Add initial arch support for the RK3506 SoC.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Acked-by: Mattijs Korpershoek <mkorpershoek@kernel.org> # drivers/usb/gadget
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agonet: dwc_eth_qos_rockchip: Add support for RK3506
Jonas Karlman [Sat, 31 Jan 2026 23:38:22 +0000 (23:38 +0000)] 
net: dwc_eth_qos_rockchip: Add support for RK3506

Rockchip RK3506 has two Ethernet controllers based on Synopsys DWC
Ethernet QoS IP.

Add initial support for the RK3506 GMAC variant.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agophy: rockchip-inno-usb2: Add support for RK3506
Jonas Karlman [Sat, 31 Jan 2026 23:38:21 +0000 (23:38 +0000)] 
phy: rockchip-inno-usb2: Add support for RK3506

Add support for the two USB2.0 PHYs use in the RK3506 SoC.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Aaron Griffith <aargri@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: otp: Add support for RK3506
Jonas Karlman [Sat, 31 Jan 2026 23:38:20 +0000 (23:38 +0000)] 
rockchip: otp: Add support for RK3506

Add support for the OTP controller in RK3506. The OTPC is similar to the
OTPC in RK3568 and can use the same ops for reading OTP data.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agopinctrl: rockchip: Add support for RK3506
Ye Zhang [Sat, 31 Jan 2026 23:38:19 +0000 (23:38 +0000)] 
pinctrl: rockchip: Add support for RK3506

Add pinctrl driver for RK3506.

Imported from vendor U-Boot linux-6.1-stan-rkr6 tag with adjustments
to use regmap_update_bits().

Signed-off-by: Ye Zhang <ye.zhang@rock-chips.com>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Aaron Griffith <aargri@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agopinctrl: rockchip: Use syscon_regmap_lookup_by_phandle()
Jonas Karlman [Sat, 31 Jan 2026 23:38:18 +0000 (23:38 +0000)] 
pinctrl: rockchip: Use syscon_regmap_lookup_by_phandle()

Use syscon_regmap_lookup_by_phandle() to simplify the code.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agoclk: rockchip: Add support for RK3506
Finley Xiao [Sat, 31 Jan 2026 23:38:17 +0000 (23:38 +0000)] 
clk: rockchip: Add support for RK3506

Add clock driver for RK3506.

Imported from vendor U-Boot linux-6.1-stan-rkr6 tag with minor
adjustments and fixes for mainline.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agodt-bindings: clock: rockchip: Add RK3506 clock and reset unit
Finley Xiao [Sat, 31 Jan 2026 23:38:16 +0000 (23:38 +0000)] 
dt-bindings: clock: rockchip: Add RK3506 clock and reset unit

Add device tree bindings for clock and reset unit on RK3506 SoC.
Add clock and reset IDs for RK3506 SoC.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20251121075350.2564860-2-zhangqing@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
[ upstream commit: 84898f8e9cea06f8178fc5ca53f068180f7bfba0 ]

(cherry picked from commit 516951213a82094f7f49f149cbf3c66dfb14c65d)
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agoram: rockchip: Add basic support for RK3506
Jonas Karlman [Sat, 31 Jan 2026 23:38:15 +0000 (23:38 +0000)] 
ram: rockchip: Add basic support for RK3506

Add support for reading DRAM size information from PMUGRF os_reg2 reg.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Aaron Griffith <aargri@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: mkimage: Add support for RK3506
Xuhui Lin [Sat, 31 Jan 2026 23:38:14 +0000 (23:38 +0000)] 
rockchip: mkimage: Add support for RK3506

Add support for generating Rockchip Boot Image for RK3506.

The RK3506 has 48 KiB SRAM and 4 KiB is reserved for BootROM.

Signed-off-by: Xuhui Lin <xuhui.lin@rock-chips.com>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Aaron Griffith <aargri@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: mkimage: Re-sort the spl_infos list alphanumerically
Jonas Karlman [Sat, 31 Jan 2026 23:38:13 +0000 (23:38 +0000)] 
rockchip: mkimage: Re-sort the spl_infos list alphanumerically

The first RK35xx SoC was initially appended to the end of the otherwise
alphanumerically sorted spl_infos list, possible because it was using a
new header structure.

Re-sort the spl_infos list to keep it alphanumerically ordered based
on imagename.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: spl: Add common handling of USB bootsource_id 0x81
Jonas Karlman [Sat, 31 Jan 2026 23:38:12 +0000 (23:38 +0000)] 
rockchip: spl: Add common handling of USB bootsource_id 0x81

Multiple newer Rockchip SoCs report 0x81 instead of 0xa when booting
from USB, i.e. on RK3576, RK3528, RK3506 and RV1106.

Move the bootsource_id 0x81 handling currently only used for RK3528 to
the common read_brom_bootsource_id() to reduce the need to override this
function when support for newer SoCs is introduced.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: imply OF_UPSTREAM for rk3288 boards
Johan Jonker [Fri, 16 Jan 2026 22:13:18 +0000 (23:13 +0100)] 
rockchip: imply OF_UPSTREAM for rk3288 boards

Imply OF_UPSTREAM for rk3288 boards.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: Switch remaining rk3288 boards to upstream devicetree
Johan Jonker [Fri, 16 Jan 2026 22:13:02 +0000 (23:13 +0100)] 
rockchip: Switch remaining rk3288 boards to upstream devicetree

Switch remaining rk3288 boards to upstream devicetree.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: Switch rk3288-veyron boards to upstream devicetree
Johan Jonker [Fri, 16 Jan 2026 22:12:45 +0000 (23:12 +0100)] 
rockchip: Switch rk3288-veyron boards to upstream devicetree

Switch rk3288-veyron boards to upstream devicetree.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agoARM: dts: rockchip: move edp assigned-clocks to edp node on rk3288
Johan Jonker [Fri, 16 Jan 2026 22:12:20 +0000 (23:12 +0100)] 
ARM: dts: rockchip: move edp assigned-clocks to edp node on rk3288

The rk3288 power-controller node contains an assigned-clocks property
that conflicts with the bindings. From the git history it shows that they
wanted to assign the rk3288 EDP_24M clock input centrally before an edp
node was available. Move the edp assigned-clocks property to the edp node
to reduce dtbs_check output.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://patch.msgid.link/7d6fa223-ab90-4c44-9180-54df78467ea5@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
[ upstream commit: 10712ce694a67304a99dbba20f8cb146ca5f4fd6 ]

(cherry picked from commit e1b4137b6bbc9998b13cde2eba0655cfdd358c69)
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agoARM: dts: rockchip: Add spi_flash label to rk3288-veyron
Johan Jonker [Fri, 16 Jan 2026 22:12:08 +0000 (23:12 +0100)] 
ARM: dts: rockchip: Add spi_flash label to rk3288-veyron

The u-boot,spl-boot-order property requires a label at a boot
device node. In order to migrate to OF_UPSTREAM more easier
add a spi_flash label to the rk3288-veyron.dtsi file.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://patch.msgid.link/8a423a6f-bfdc-4947-aef9-35ee7c4f6ca2@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
[ upstream commit: ac7116a626e00d3024adedb43b74bdf2ce45efc2 ]

(cherry picked from commit 38e6f7cd300f66cc9f657cd0e8881a01acc664d0)
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agoARM: dts: rockchip: Remove mshc aliases from RK3288
Johan Jonker [Fri, 16 Jan 2026 22:11:53 +0000 (23:11 +0100)] 
ARM: dts: rockchip: Remove mshc aliases from RK3288

The use of mshc aliases is deprecated for some while,
so remove them from the rk3288.dtsi file.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Link: https://patch.msgid.link/3e461bce-e8e6-48f1-a296-34040447ff25@gmail.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
[ upstream commit: cafaf99e4a790f8492a034a3470f878779c8c535 ]

(cherry picked from commit faefae4ca217961a0d96a54c9618e56aa8fd37b3)
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agoboard: rockchip: Add FriendlyElec NanoPi Zero2
Jonas Karlman [Sat, 10 Jan 2026 20:53:33 +0000 (20:53 +0000)] 
board: rockchip: Add FriendlyElec NanoPi Zero2

The NanoPi Zero2 is a small single board computer developed by
FriendlyElec, based on the Rockchip RK3528A SoC.

Add support for the FriendlyElec NanoPi Zero2 board.

Features tested on a FriendlyElec NanoPi Zero2 2407:
- SD-card boot
- eMMC boot
- Ethernet
- USB host

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Christopher Obbard <christopher.obbard@linaro.org>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: tiger-rk3588: disable HS400
Quentin Schulz [Fri, 9 Jan 2026 11:17:48 +0000 (12:17 +0100)] 
rockchip: tiger-rk3588: disable HS400

Tiger suffers from eMMC signal integrity issues which means we can only
run it at HS200 max.

The Device Tree has these properties removed since v6.18 (commit
baa18d577cd4 ("arm64: dts: rockchip: disable HS400 on RK3588 Tiger")),
which has now merged in U-Boot.

Since the controller side doesn't support HS400 anymore, let's not
confuse users as to why HS400 is enabled in the config but not working
as we know it cannot work (and won't be used anyway since the controller
doesn't advertise support for it in the Device Tree).

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: rk3576: Use DMA when loading FIT images
Jonas Karlman [Thu, 8 Jan 2026 13:32:30 +0000 (13:32 +0000)] 
rockchip: rk3576: Use DMA when loading FIT images

Enable use of DMA when loading FIT images from eMMC, SD-card and SPI
flash now that access to PMU_SRAM for non-secure masters is allowed.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: rk3576: Allow pmu sram access for non-secure masters
Jonas Karlman [Thu, 8 Jan 2026 13:32:29 +0000 (13:32 +0000)] 
rockchip: rk3576: Allow pmu sram access for non-secure masters

The firewall block access to pmu sram for non-secure masters by default
after reset (0xffffbfff).

Change the pmu lookup configuration to match the default lookup config
for ddr and system sram (0xffff3fff) to allow loading TF-A using DMA.

Mainline TF-A will re-configure the firewall to use an even less
restrictive lookup (0xbffe3ff0), so this change is not expected to have
any real security implication.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Tested-by: Alexey Charkov <alchark@gmail.com> # UFS
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
7 weeks agorockchip: rk3588s-rock-5c: Add support for ROCK 5C Lite variant
Jonas Karlman [Wed, 7 Jan 2026 23:07:41 +0000 (23:07 +0000)] 
rockchip: rk3588s-rock-5c: Add support for ROCK 5C Lite variant

Add Kconfig option OF_SYSTEM_SETUP=y to support booting ROCK 5C Lite
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: 00 80 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>
7 weeks agoarch: arm: dts: k3-r5: Drop a53_0 clock overrides in board files
Wadim Egorov [Thu, 19 Feb 2026 10:27:20 +0000 (11:27 +0100)] 
arch: arm: dts: k3-r5: Drop a53_0 clock overrides in board files

The a53_0 clock properties are already set correctly in their
common k3-<soc>-r5.dtsi includes. Stop overriding them in
the r5 board device trees.

Fixes the following error message:
  Failed to set clock rates for '/a53@0': -61

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Tested-by: Francesco Dolcini <francesco.dolcini@toradex.com> # Verdin AM62 Solo
Reviewed-by: Bryan Brattlof <bb@ti.com>
7 weeks agoMakefile: fix duplicate dtbs recipe
David Lechner [Mon, 23 Feb 2026 20:44:38 +0000 (14:44 -0600)] 
Makefile: fix duplicate dtbs recipe

Convert a duplicate dtbs recipe into a dependency in the main Makefile.

Another recipe is already defined on line 2369, so we are getting
spurious warnings like:

    Makefile:2369: warning: overriding recipe for target 'dtbs'
    Makefile:1425: warning: ignoring old recipe for target 'dtbs'

The removed recipe was a no-op anyway so can be safely removed.

Signed-off-by: David Lechner <dlechner@baylibre.com>
7 weeks agoMerge tag 'v2026.04-rc4' into next
Tom Rini [Mon, 9 Mar 2026 21:26:34 +0000 (15:26 -0600)] 
Merge tag 'v2026.04-rc4' into next

Prepare v2026.04-rc4

7 weeks agoPrepare v2026.04-rc4 v2026.04-rc4
Tom Rini [Mon, 9 Mar 2026 19:52:04 +0000 (13:52 -0600)] 
Prepare v2026.04-rc4

Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agodoc: Use sys.path.append for pytests 903/head
Tom Rini [Mon, 9 Mar 2026 17:27:35 +0000 (11:27 -0600)] 
doc: Use sys.path.append for pytests

Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agoboot: Add fit_config_get_hash_list() to build signed node list
Simon Glass [Fri, 6 Mar 2026 01:20:09 +0000 (18:20 -0700)] 
boot: Add fit_config_get_hash_list() to build signed node list

The hashed-nodes property in a FIT signature node lists which FDT paths
are included in the signature hash. It is intended as a hint so should
not be used for verification.

Add a function to build the node list from scratch by iterating the
configuration's image references. Skip properties known not to be image
references. For each image, collect the path plus all hash and cipher
subnodes.

Use the new function in fit_config_check_sig() instead of reading
'hashed-nodes'.

Update the test_vboot kernel@ test case: fit_check_sign now catches the
attack at signature-verification time (the @-suffixed node is hashed
instead of the real one, causing a mismatch) rather than at
fit_check_format() time.

Update the docs to cover this. The FIT spec can be updated separately.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Closes: https://lore.kernel.org/u-boot/20260302220937.3682128-1-trini@konsulko.com/
Reported-by: Apple Security Engineering and Architecture (SEAR)
Tested-by: Tom Rini <trini@konsulko.com>
7 weeks agoMerge patch series "64-bit PCIe for AM64, AM69, J7200, J722S and J784S4"
Tom Rini [Mon, 9 Mar 2026 15:12:43 +0000 (09:12 -0600)] 
Merge patch series "64-bit PCIe for AM64, AM69, J7200, J722S and J784S4"

Siddharth Vadapalli <s-vadapalli@ti.com> says:

Since Linux device-tree has switched to 64-bit Address space for the
PCIe Controllers on TI SoCs, currently, U-Boot needs to support the
same. This series adds support for 64-bit addressing for PCIe along with
enabling Root-Complex mode of operation for AM69 and J784S4 SoCs.

Series has been tested on all platforms being affected by this series.
Test Logs:
1. AM642-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/82512389f8396a51e4f167c7ebe4c2a3
2. AM69-SK
https://gist.github.com/Siddharth-Vadapalli-at-TI/b20b2811804ffc6e6c063564330c0a35
3. J7200-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/c545da68bd28a5e036803bb60f32d8e9
4. J722S-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/3dde05c4c7076076aa20ac47a6e2d176
5. J784S4-EVM
https://gist.github.com/Siddharth-Vadapalli-at-TI/a93c1b2cd5d90f494e885d1831d3d23e

Link: https://lore.kernel.org/r/20260227115841.333073-1-s-vadapalli@ti.com
7 weeks agoconfigs: j722s_evm_a53_defconfig: enable 64-bit addressing for PCIe
Siddharth Vadapalli [Fri, 27 Feb 2026 11:58:34 +0000 (17:28 +0530)] 
configs: j722s_evm_a53_defconfig: enable 64-bit addressing for PCIe

The PCIe0 instance of PCIe on the J722S SoC uses the 4 GB Address Window
starting from 0x6_0000_0000 to map System Addresses to PCIe Bus Addresses.
Hence, enable CONFIG_SYS_PCI_64BIT.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
7 weeks agoconfigs: j7200_evm_a72_defconfig: enable 64-bit addressing for PCIe
Siddharth Vadapalli [Fri, 27 Feb 2026 11:58:33 +0000 (17:28 +0530)] 
configs: j7200_evm_a72_defconfig: enable 64-bit addressing for PCIe

The PCIe1 instance of PCIe on the J7200 SoC uses the 4 GB Address Window
starting from 0x41_0000_0000 to map System Addresses to PCIe Bus Addresses.
Hence, enable CONFIG_SYS_PCI_64BIT.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
7 weeks agoconfigs: am64x_evm_a53_defconfig: enable 64-bit addressing for PCIe
Siddharth Vadapalli [Fri, 27 Feb 2026 11:58:32 +0000 (17:28 +0530)] 
configs: am64x_evm_a53_defconfig: enable 64-bit addressing for PCIe

The PCIe0 instance of PCIe on the AM64x SoC uses the 4 GB Address Window
starting from 0x6_0000_0000 to map System Addresses to PCIe Bus Addresses.
Hence, enable CONFIG_SYS_PCI_64BIT.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
7 weeks agoconfigs: {am69_sk, j784s4_evm}_a72_defconfig: enable PCIe Root-Complex mode
Siddharth Vadapalli [Fri, 27 Feb 2026 11:58:31 +0000 (17:28 +0530)] 
configs: {am69_sk, j784s4_evm}_a72_defconfig: enable PCIe Root-Complex mode

The PCIe Controllers on the J784S4 and AM69 SoCs support Root-Complex
mode of operation. PCIe0 instance of PCIe on both of the SoCs is brought
out on the Starter-Kit (AM69) and EVM (J784S4) boards. Hence, enable
the configs required for Root-Complex mode of operation.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
7 weeks agopci: pcie_cdns_ti: enable PCIe root-complex mode for J784S4 SoC
Siddharth Vadapalli [Fri, 27 Feb 2026 11:58:30 +0000 (17:28 +0530)] 
pci: pcie_cdns_ti: enable PCIe root-complex mode for J784S4 SoC

The PCIe Controllers on the J784S4 SoC support Root-Complex mode of
operation. Hence, enable it.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
7 weeks agoarm: mach-k3: arm64-mmu: add mapping for PCIe 4 GB Address Windows
Siddharth Vadapalli [Fri, 27 Feb 2026 11:58:29 +0000 (17:28 +0530)] 
arm: mach-k3: arm64-mmu: add mapping for PCIe 4 GB Address Windows

The PCIe Controllers in the K3 SoCs have 4 GB Address Windows in the
64-bit address space to map System (CPU) Addresses to PCIe Bus Addresses.
The physical addresses for these Address Windows across PCIe instances
across SoCs is as follows:

+--------+----------------+----------------+----------------+----------------+
| SoC    | PCIe0          | PCIe1          | PCIe2          | PCIe3          |
+--------+----------------+----------------+----------------+----------------+
| AM64   | 0x6_0000_0000  | NA             | NA             | NA             |
| J722S  | 0x6_0000_0000  | NA             | NA             | NA             |
| AM68   | NA             | 0x41_0000_0000 | NA             | NA             |
| J7200  | NA             | 0x41_0000_0000 | NA             | NA             |
| J721S2 | NA             | 0x41_0000_0000 | NA             | NA             |
| J742S2 | 0x40_0000_0000 | 0x41_0000_0000 | NA             | NA             |
| AM69   | 0x40_0000_0000 | 0x41_0000_0000 | 0x42_0000_0000 | 0x43_0000_0000 |
| J721E  | 0x40_0000_0000 | 0x41_0000_0000 | 0x42_0000_0000 | 0x43_0000_0000 |
| J784S4 | 0x40_0000_0000 | 0x41_0000_0000 | 0x42_0000_0000 | 0x43_0000_0000 |
+--------+----------------+----------------+----------------+----------------+

Two regions for a 1:1 mapping from virtual addresses to physical addresses
catering to all of the above will be required, which are:
1. For AM64 and J722S SoCs
=> Start: 0x6_0000_0000 Size: 0x1_0000_0000
2. For AM68, AM69, J7200, J721E, J721S2, J742S2 and J784S4 SoCs
=> Start: 0x40_0000_0000 Size: 0x4_0000_0000

Since the 'Flash Peripherals' region from 0x5_0000_0000 to 0x8_7FFF_FFFF
includes the mapping for AM64 and J722S SoCs, only the second region
mentioned above needs to be added.

Hence, add the region to support 64-bit address space for PCIe.

Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Fixes: 79f3e77133bd ("Subtree merge tag 'v6.16-dts' of dts repo [1] into dts/upstream")
7 weeks agoMAINTAINERS: update SPI NOR reviewer
Takahiro Kuwano [Mon, 9 Mar 2026 01:12:51 +0000 (10:12 +0900)] 
MAINTAINERS: update SPI NOR reviewer

Tudor Ambarus will step down as SPI NOR reviewer.
I would like to take this role.

Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com>
Acked-by: Tudor Ambarus <tudor.ambarus@linaro.org>
7 weeks agovideo: stm32: dsi: add .of_to_plat callback
Raphael Gallais-Pou [Wed, 4 Feb 2026 23:35:40 +0000 (00:35 +0100)] 
video: stm32: dsi: add .of_to_plat callback

Drivers should extract device-tree data before probing via the
.of_to_plat hook.

Implement it for stm32_dsi driver.  By doing so, it also solve a
variable shadowing in stm32_dsi_probe() where &clk was used as
peripheral clock and ref clock.

For readability some struct have been renamed such as:

  * struct stm32_dsi_priv *dsi -> struct stm32_dsi_priv *priv
  * struct clk clk -> struct clk pclk

Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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.

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

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

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

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