]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
8 weeks agoclk: mediatek: refactor parent rate lookup functions
David Lechner [Tue, 3 Mar 2026 19:54:50 +0000 (13:54 -0600)] 
clk: mediatek: refactor parent rate lookup functions

Refactor duplicate parent rate lookup code into a common function.

Instead of relying on rules like X is always the parent of Y, we use
the driver ops pointer to make sure we are actually getting the correct
parent clock device. This allows the same function to be called from
different clock types and will allow future chip-specific clock drivers
to not have to follow the rules as strictly.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-2-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
8 weeks agoclk: mediatek: use correct struct type for infrasys clocks
David Lechner [Tue, 3 Mar 2026 19:54:49 +0000 (13:54 -0600)] 
clk: mediatek: use correct struct type for infrasys clocks

Fix the private data type struct type in a couple of infrasys clock
functions.

struct mtk_cg_priv is a superset of struct mtk_clk_priv and has the same
layout at the beginning so there was no compile errors or runtime bugs.
This could only be found by inspecting the code.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-1-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
8 weeks agoclk: mediatek: mt8188: fix CLK_TOP_CLK{13,26}M rates
David Lechner [Fri, 6 Mar 2026 00:45:11 +0000 (18:45 -0600)] 
clk: mediatek: mt8188: fix CLK_TOP_CLK{13,26}M rates

Change CLK_TOP_CLK13M rate from 130_000_000 to 13_000_000 and
CLK_TOP_CLK26M rate from 260_000_000 to 26_000_000. As the names
suggest, these clocks are 13/26 MHz, not 130/260 MHz.

Fixes: 5e9bbbdab003 ("clk: mediatek: mt8188: add missing fixed clock")
Fixes: 11f3cc46322a ("clk: mediatek: add MT8188 clock driver")
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Tested-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260305-clk-mtk-fix-mt8188-rates-v2-1-0ce2b5212775@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
8 weeks agokbuild: strip sub_make_done from test-script environment
Simon Glass [Wed, 4 Mar 2026 18:48:53 +0000 (11:48 -0700)] 
kbuild: strip sub_make_done from test-script environment

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.

A global 'unexport sub_make_done' cannot be used because the build
system itself re-invokes the top-level Makefile for syncconfig (via
'$(MAKE) -f $(srctree)/Makefile syncconfig'). Without sub_make_done,
that child make re-enters the KBUILD_OUTPUT block and recomputes
abs_objtree. With a relative O= path this resolves to a nested
directory (e.g. build/build/) where .config does not exist.

Instead, use 'env -u sub_make_done' in the test-target recipes so only
the test scripts see a clean environment. This allows their child make
invocations to process O= correctly without affecting internal kbuild
recursion.

This is not strictly a bugfix, but compare with:

commit 27529f1cb02d ("kbuild: skip parsing pre sub-make code for recursion")

Signed-off-by: Simon Glass <sjg@chromium.org>
8 weeks agoscsi: Adjust SCSI inquiry command data length
Macpaul Lin [Thu, 5 Mar 2026 10:23:24 +0000 (18:23 +0800)] 
scsi: Adjust SCSI inquiry command data length

Per the SCSI SPC-4 specification, the standard inquiry data length
should not be less than 36 bytes. The current implementation uses 512
bytes, which causes detection failures on some UFS devices (e.g.,
Longsys) that do not expect a transfer length exceeding the standard
inquiry size.

Align the default standard inquiry length with the Linux kernel's
implementation (see drivers/scsi/scsi_scan.c), which uses 36 bytes as
the default. Devices requiring vendor-specific inquiry lengths should
be handled through quirk settings in the future.

Signed-off-by: ht.lin <ht.lin@mediatek.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
8 weeks agoboard: ti: j7*: Update rm-cfg and tifs-rm-cfg
Manorit Chawdhry [Thu, 26 Feb 2026 11:37:57 +0000 (17:07 +0530)] 
board: ti: j7*: Update rm-cfg and tifs-rm-cfg

Repurpose the allocated resources with version V11.02.07 of
k3-resource-partition.

Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
8 weeks agotoradex: tdx-cfg-block: add aquila tda4 0223 pid4
Vitor Soares [Fri, 13 Feb 2026 12:01:59 +0000 (12:01 +0000)] 
toradex: tdx-cfg-block: add aquila tda4 0223 pid4

Add PID4 0223 Aquila TDA4 Octa 16GB IT to config block handling.

Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
8 weeks agoconfigs: Add fragment config for snagfactory tool
Paresh Bhagat [Wed, 11 Feb 2026 09:49:19 +0000 (15:19 +0530)] 
configs: Add fragment config for snagfactory tool

Introduce a new fragment configuration in u-boot to enable support for
the snagfactory tool [1], used for factory flashing of boards. Snagfactory
tool first recovers the board via USB DFU (peripheral boot), and then
uses fastboot to flash given binaries/images to MMC or other on-board
memory via USB. The fragment config can be used to generate boot binaries
for board recovery. This fragment config needs to be added additionally,
while building a53 images for USB DFU boot.

The fragment config enables configurations to allow flashing via
fastboot, manage MMC partitions and boot partitions, customize buffer
size and memory usage for fastboot and also integrate OEM commands and
UUU compatibility. It sets CONFIG_BOOTCOMMAND to start fastboot mode
immediately on startup. It also sets BOOTDELAY to 0 to reduce snagfactory
recovery time. Since BOOTCOMMAND and BOOTDELAY configs are being
modified, these changes cannot be placed in existing DFU fragment config.

Snagfactory used mtd support for flashing both SPI NAND and SPI NOR
devices. The fragment config enables mtd in u-boot and also allows SPI
flash to be treated as an MTD device.

[1]: https://github.com/bootlin/snagboot

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Signed-off-by: Mahammed Sadik Shaik <s-sadik@ti.com>
8 weeks agoMerge patch series "Add PCIe Boot support for TI J784S4 SoC"
Tom Rini [Mon, 16 Mar 2026 14:24:18 +0000 (08:24 -0600)] 
Merge patch series "Add PCIe Boot support for TI J784S4 SoC"

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

This series adds PCIe endpoint boot support for the TI J784S4 SoC.
Series is based on commit f9ffeec4bdc ("board: toradex: Make A53 get RAM
size from DT in K3 boards") of the master branch of U-Boot.

PCIe Boot Logs (J784S4-EVM running Linux as Root-Complex transfers
bootloaders to another J784S4-EVM configured for PCIe Boot):
https://gist.github.com/Siddharth-Vadapalli-at-TI/2d157003818441fe79a139d0dec1058a

Link: https://lore.kernel.org/r/20260216102858.2745657-1-s-vadapalli@ti.com
8 weeks agodocs: board: ti: j784s4_evm: Add PCIe boot documentation
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:38 +0000 (15:58 +0530)] 
docs: board: ti: j784s4_evm: Add PCIe boot documentation

Add PCIe boot documentation for J784S4-EVM including boot mode switch
settings, hardware setup requirements, endpoint configuration details
and step-by-step boot procedure.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
[s-vadapalli@ti.com: simplified and documented the pcie_boot_util program]
Co-developed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
8 weeks agoconfigs: j742s2_evm_a72_defconfig: Disable PCIe boot configs
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:37 +0000 (15:58 +0530)] 
configs: j742s2_evm_a72_defconfig: Disable PCIe boot configs

Although the J742S2 EVM supports PCIe boot in Hardware, since it is not
enabled yet in Software, disable PCIe boot related configurations that are
not applicable.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
8 weeks agoconfigs: j742s2_evm_r5_defconfig: Disable PCIe boot configs
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:36 +0000 (15:58 +0530)] 
configs: j742s2_evm_r5_defconfig: Disable PCIe boot configs

Although the J742S2 EVM supports PCIe boot in Hardware, since it is not
enabled yet in Software, disable PCIe boot related configurations that are
not applicable.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
8 weeks agoconfigs: am69_sk_a72_defconfig: Disable PCIe boot configs
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:35 +0000 (15:58 +0530)] 
configs: am69_sk_a72_defconfig: Disable PCIe boot configs

AM69 SK does not contain PCIe Boot in the list of supported Boot Modes.
Hence, disable PCIe Boot related configurations that are not applicable.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
8 weeks agoconfigs: am69_sk_r5_defconfig: Disable PCIe boot configs
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:34 +0000 (15:58 +0530)] 
configs: am69_sk_r5_defconfig: Disable PCIe boot configs

AM69 SK does not contain PCIe Boot in the list of supported Boot Modes.
Hence, disable PCIe Boot related configurations that are not applicable.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
8 weeks agoconfigs: j784s4_evm_a72_defconfig: Enable configs for PCIe boot
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:33 +0000 (15:58 +0530)] 
configs: j784s4_evm_a72_defconfig: Enable configs for PCIe boot

J784S4 SoC has two instances of PCIe, namely PCIe0 and PCIe1. The
PCIe1 instance is used for PCIe endpoint boot. Enable the configs
required for PCIe boot on the J784S4 platform.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
8 weeks agoconfigs: j784s4_evm_r5_defconfig: Enable configs for PCIe boot
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:32 +0000 (15:58 +0530)] 
configs: j784s4_evm_r5_defconfig: Enable configs for PCIe boot

J784S4 SoC has two instances of PCIe, namely PCIe0 and PCIe1. The
PCIe1 instance is used for PCIe endpoint boot. Enable the configs
required for PCIe boot on the J784S4 platform.

Additionally, enable configs for J721E WIZ SERDES wrapper, Cadence
Torrent PHY, and MMIO multiplexer. These are required to configure
the SERDES lanes at the R5 SPL stage for PCIe endpoint operation.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
8 weeks agophy: ti: Add config to enable J721E WIZ SERDES wrapper at SPL stage
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:31 +0000 (15:58 +0530)] 
phy: ti: Add config to enable J721E WIZ SERDES wrapper at SPL stage

Add SPL_PHY_J721E_WIZ configuration option to enable the WIZ SERDES
wrapper driver in SPL stage. This is required for PCIe boot support
where SERDES configuration must be done early in the boot sequence
before loading the bootloader image over PCIe.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
8 weeks agophy: cadence: Add config to enable Cadence Torrent PHY at SPL stage
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:30 +0000 (15:58 +0530)] 
phy: cadence: Add config to enable Cadence Torrent PHY at SPL stage

Add SPL_PHY_CADENCE_TORRENT configuration option to enable the Cadence
Torrent PHY driver in SPL stage. This is required for PCIe boot support
where SERDES configuration must be done early in the boot sequence
before loading the bootloader image over PCIe.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
8 weeks agoarm: mach-k3: j784s4: Update SoC autogen data to enable PCIe boot
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:29 +0000 (15:58 +0530)] 
arm: mach-k3: j784s4: Update SoC autogen data to enable PCIe boot

To enable PCIe boot on J784S4 SoC SERDES0 and PCIE1 should be enabled
and configured at the R5 stage. Add the required clk-data and dev-data
for SERDES0 and PCIE1.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
8 weeks agoMerge tag 'efi-2026-03-14' of https://source.denx.de/u-boot/custodians/u-boot-efi...
Tom Rini [Mon, 16 Mar 2026 14:23:18 +0000 (08:23 -0600)] 
Merge tag 'efi-2026-03-14' of https://source.denx.de/u-boot/custodians/u-boot-efi into next

Pull request efi-2026-03-14

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

UEFI:

* Require at least 128 KiB of stack space to use EFI sub-system.
* Avoid buffer overrun in efi_var_restore().
* Avoid superfluous variable store writes on unchanged data
* Implement SPI Flash store for EFI variables.
* Add an efidebug ecpt sub-command to display the ECPT table
  and a unit test for the command.

Others:

* Add missing include string.h to make exception command build again.
* lib: uuid: add EBBR 2.1 conformance profile GUID

8 weeks agoMerge tag 'u-boot-dfu-20260316' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Mon, 16 Mar 2026 14:22:58 +0000 (08:22 -0600)] 
Merge tag 'u-boot-dfu-20260316' of https://source.denx.de/u-boot/custodians/u-boot-dfu into next

u-boot-dfu-20260316

DFU:
* Make DFU_WRITE_ALT symbol available outside of DFU
* Fix PCI subclass_code warning in spl_dfu

Usb Gadget:
* Mark udc_disconnect() as static

8 weeks agodfu: Make the DFU_WRITE_ALT symbol available outside of DFU
Tom Rini [Tue, 10 Mar 2026 16:26:21 +0000 (10:26 -0600)] 
dfu: Make the DFU_WRITE_ALT symbol available outside of DFU

The DFU_WRITE_ALT symbol is used both directly and indirectly (via
UPDATE_COMMON) for EFI capsule updates (FIT or raw), but does not depend
on DFU itself. Move this symbol outside of "if DFU" to remove a Kconfig
dependency problem.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://lore.kernel.org/r/20260310162621.1163932-1-trini@konsulko.com
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2 months agocmd/exception: missing include string.h
Heinrich Schuchardt [Tue, 29 Jul 2025 16:07:22 +0000 (18:07 +0200)] 
cmd/exception: missing include string.h

When building qemu_arm64_defconfig with CMD_EXCEPTION a build error occurs:

    In file included from cmd/arm/exception64.c:87:
    include/exception.h: In function ‘exception_complete’:
    include/exception.h:41:23: error: implicit declaration of
    function ‘strlen’ [-Wimplicit-function-declaration]
       41 |                 len = strlen(argv[1]);
          |                       ^~~~~~

Add the missing include.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 months agoefi_vars: Implement SPI Flash store
Shantur Rathore [Fri, 13 Mar 2026 15:45:27 +0000 (16:45 +0100)] 
efi_vars: Implement SPI Flash store

Currently U-Boot uses ESP as storage for EFI variables.
Devices with SPI Flash are used for storing environment with this
commit we allow EFI variables to be stored on SPI Flash.

Signed-off-by: Shantur Rathore <i@shantur.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on AML-S905D3-CC
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 months agoefi_loader: avoid superfluous variable store writes on unchanged data
Michal Simek [Fri, 13 Mar 2026 11:20:37 +0000 (12:20 +0100)] 
efi_loader: avoid superfluous variable store writes on unchanged data

Every SetVariable() call triggers efi_var_mem_ins() followed by
efi_var_to_storage(), even when the variable value is not actually
changing. This is unfriendly to flash-backed stores that suffer
wear from unnecessary erase/write cycles.

Add a change-detection path to efi_var_mem_ins(): when size2 == 0
(i.e. not an append) and the caller passes a non-NULL changep flag,
look up the existing variable and compare attributes, length, time
and data byte-by-byte. If everything matches, set *changep = false
and return EFI_SUCCESS without touching the variable buffer.

Both efi_set_variable_int() and efi_set_variable_runtime() now
check the flag and skip efi_var_mem_del() / efi_var_to_storage()
when nothing changed.

Introduce efi_memcmp_runtime() - a runtime-safe byte-by-byte memory
comparison helper, following the same pattern as the existing
efi_memcpy_runtime(). The standard memcmp() is not available after
ExitBootServices() and calling it from Linux will crash.

Tested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 months agoefi_loader: avoid buffer overrun in efi_var_restore()
Heinrich Schuchardt [Wed, 11 Mar 2026 17:30:33 +0000 (18:30 +0100)] 
efi_loader: avoid buffer overrun in efi_var_restore()

The value of buf->length comes from outside U-Boot and may be incorrect.
We must avoid to overrun our internal buffer for excessive values.

If buf->length is shorter than the variable file header, the variable
file is invalid.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Tested-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agotest/py: add ECPT tests
Vincent Stehlé [Mon, 9 Mar 2026 16:36:38 +0000 (17:36 +0100)] 
test/py: add ECPT tests

Add a couple of EFI Conformance Profiles Table (ECPT) tests, which exercise
the "efidebug ecpt" command.

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Tom Rini <trini@konsulko.com>
Cc: Heinrich Schuchardt <xypron.glpk@gmx.de>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 months agocmd: efidebug: add ecpt command
Vincent Stehlé [Mon, 9 Mar 2026 16:36:37 +0000 (17:36 +0100)] 
cmd: efidebug: add ecpt command

Add an "efidebug ecpt" command, to print the conformance profiles in the
ECPT:

  => efidebug ecpt
  cce33c35-74ac-4087-bce7-8b29b02eeb27  EFI EBBR 2.1 Conformance Profile

Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Tom Rini <trini@konsulko.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2 months agoefi_loader: export efi_ecpt_guid
Vincent Stehlé [Mon, 9 Mar 2026 16:36:36 +0000 (17:36 +0100)] 
efi_loader: export efi_ecpt_guid

Export the ECPT GUID, to prepare accessing it from more than one location.

The C file containing the GUID is compiled only when CONFIG_EFI_ECPT is
set; gate the export accordingly.

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>
2 months agolib: uuid: add EBBR 2.1 conformance profile GUID
Vincent Stehlé [Mon, 9 Mar 2026 16:36:35 +0000 (17:36 +0100)] 
lib: uuid: add EBBR 2.1 conformance profile GUID

Add support for printing the EFI_CONFORMANCE_PROFILE_EBBR_2_1_GUID as human
readable text.

This is compiled in only when CONFIG_CMD_EFIDEBUG and CONFIG_EFI_EPCT are
set.

Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2 months agoefi_loader: require at least 128 KiB of stack space
Heinrich Schuchardt [Tue, 17 Feb 2026 07:46:55 +0000 (08:46 +0100)] 
efi_loader: require at least 128 KiB of stack space

The UEFI specification requires at least 128 KiB stack space. Consider this
value as a prerequisite for CONFIG_EFI_LOADER.

Mention the requirement in the CONFIG_STACK_SPACE description and decribe
that the UEFI sub-system uses CONFIG_STACK_SPACE when defining the memory
map.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agorockchip: rk3568: Include all addressable DRAM in memory map
Jonas Karlman [Mon, 9 Mar 2026 21:02:32 +0000 (21:02 +0000)] 
rockchip: rk3568: Include all addressable DRAM in memory map

Rockchip RK356x supports up to 8 GiB DRAM, however U-Boot only includes
the initial 32-bit 0-4 GiB addressable range in its memory map,
something that matches gd->ram_top and current expected memory available
for use in U-Boot.

The vendor DRAM init blobs add following ddr_mem rk atags [1]:

  4 GiB: [0x0, 0xf0000000) and [0x1f0000000, 0x200000000)
  8 GiB: [0x0, 0x200000000)

Add the remaining 64-bit 4-8 GiB addressable range, that already is
reported to OS, to the U-Boot memory map to more correctly describe all
available and addressable DRAM of RK356x. While at it also add the
missing UL suffix to the PCIe address range for consistency.

[1] https://gist.github.com/Kwiboo/6d983693c79365b43c330eb3191cbace

Acked-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2 months agoMerge patch series "arm: dts: k3-am68-r5-phycore-som: Add PMIC ESM node"
Tom Rini [Fri, 13 Mar 2026 20:59:50 +0000 (14:59 -0600)] 
Merge patch series "arm: dts: k3-am68-r5-phycore-som: Add PMIC ESM node"

This series from Dominik Haller <d.haller@phytec.de> adds and enables
support for the PMIC ESM node on some phycore-som based platforms.

Link: https://lore.kernel.org/r/20260227014202.332157-1-d.haller@phytec.de
2 months agoMerge patch series "k3_*: Add config fragments for inline ECC and BIST"
Tom Rini [Fri, 13 Mar 2026 20:59:38 +0000 (14:59 -0600)] 
Merge patch series "k3_*: Add config fragments for inline ECC and BIST"

Neha Malcom Francis <n-francis@ti.com> says:

Typically we do not enable these configs by default but would still like to
have the option to start building them in our default build flow for
testing. Also there is the added advantage of users being able to see what
is needed in case they choose to enable these features.

Link: https://lore.kernel.org/r/20260226122508.2269682-1-n-francis@ti.com
2 months agoconfigs: phycore_am68x_r5_defconfig: Add ESM and AVS configs
Dominik Haller [Fri, 27 Feb 2026 01:42:00 +0000 (17:42 -0800)] 
configs: phycore_am68x_r5_defconfig: Add ESM and AVS configs

Add TPS6287X which provides VDD_CPU_AVS and ESM_K3+ESM_PMIC for the
watchdogs.

Signed-off-by: Dominik Haller <d.haller@phytec.de>
2 months agodoc: board: ti: Add support for config fragment builds
Neha Malcom Francis [Thu, 26 Feb 2026 12:25:08 +0000 (17:55 +0530)] 
doc: board: ti: Add support for config fragment builds

Add sections dedicated to explaining how BIST and inline ECC can be
enabled via the config fragments.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 months agoarm: dts: k3-am68-r5-phycore-som: Add PMIC ESM node
Dominik Haller [Fri, 27 Feb 2026 01:41:59 +0000 (17:41 -0800)] 
arm: dts: k3-am68-r5-phycore-som: Add PMIC ESM node

Add the PMIC ESM node which is responsible for triggering the PMIC
reset.

Signed-off-by: Dominik Haller <d.haller@phytec.de>
2 months agoconfigs: k3_*: Add config fragments for enabling inline ECC and/or BIST
Neha Malcom Francis [Thu, 26 Feb 2026 12:25:07 +0000 (17:55 +0530)] 
configs: k3_*: Add config fragments for enabling inline ECC and/or BIST

Add config fragment support for enabling inline ECC and/or BIST on TI K3
supported platforms.

Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
2 months agoMerge patch series "Minor fixes for the k3_fuse driver"
Tom Rini [Fri, 13 Mar 2026 20:58:33 +0000 (14:58 -0600)] 
Merge patch series "Minor fixes for the k3_fuse driver"

Anshul Dalal <anshuld@ti.com> says:

This series adds some minor *non-critical* fixes to the k3_fuse misc
driver in U-Boot.

Link: https://lore.kernel.org/r/20260226-k3_fuse_fixes-v1-0-86c81c298bc5@ti.com
2 months agomisc: k3_fuse: Limit writes to 25bit values
Vignesh Raghavendra [Thu, 26 Feb 2026 05:48:15 +0000 (11:18 +0530)] 
misc: k3_fuse: Limit writes to 25bit values

K3 OTP bits can only be programmed 25bits at a time. Limit the value
accordingly using a 25 bit mask.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Anshul Dalal <anshuld@ti.com>
2 months agomisc: k3_fuse: Enable fuse Sense support
Vignesh Raghavendra [Thu, 26 Feb 2026 05:48:14 +0000 (11:18 +0530)] 
misc: k3_fuse: Enable fuse Sense support

fuse sense is essentially read, map it to fuse read.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Anshul Dalal <anshuld@ti.com>
2 months agomisc: k3_fuse: Check readback on fuse prog
Vignesh Raghavendra [Thu, 26 Feb 2026 05:48:13 +0000 (11:18 +0530)] 
misc: k3_fuse: Check readback on fuse prog

Error out if readback value doesn't match the programmed value.

Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Anshul Dalal <anshuld@ti.com>
2 months agomisc: k3_fuse: Fix printing of error codes
Vignesh Raghavendra [Thu, 26 Feb 2026 05:48:12 +0000 (11:18 +0530)] 
misc: k3_fuse: Fix printing of error codes

Use signed int format to print error codes so that its more readable

Fixes: ed5f2e5bed91 ("drivers: k3_fuse: Add fuse sub-system func calls")
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Anshul Dalal <anshuld@ti.com>
2 months agoMerge patch series "board: k3: Sync rm-cfg with TIFS v11.02.09 firmware"
Tom Rini [Fri, 13 Mar 2026 20:58:17 +0000 (14:58 -0600)] 
Merge patch series "board: k3: Sync rm-cfg with TIFS v11.02.09 firmware"

Sparsh Kumar <sparsh-kumar@ti.com> says:

This series updates the Resource Management (RM) configuration files
for AM62 family devices to align with the TIFS v11.02.09 firmware.

Background
----------
With the latest TIFS firmware (v11.02.09), an additional virtual
interrupt and event is reserved for MCU cores to DM usage on am62x,
am62ax, and am62px devices. This series brings the rm-cfg and
tifs-rm-cfg files in sync with these firmware changes across both
TI reference boards and vendor boards.

These changes are backward compatible with older TIFS firmware versions.

Additionally, the am62x platform was originally introduced without a
tifs-rm-cfg.yaml file, unlike other platforms in the AM62 family.
This series addresses that gap and enables tifs-rm-cfg in binman for
am625-sk and am62p-sk platforms.

Changes
-------
TI reference boards (patches 1-4):
  - Update rm-cfg.yaml for am62x, am62ax, am62px
  - Sync am62px tifs-rm-cfg.yaml with TIFS firmware template
  - Add missing tifs-rm-cfg.yaml for am62x
  - Enable tifs-rm-cfg in binman for am625-sk and am62p-sk

Vendor boards (patches 5-9):
  - beagleplay (am62x-based)
  - phytec phycore_am62x
  - toradex verdin-am62
  - phytec phycore_am62ax
  - toradex verdin-am62p

with the required interrupt reservation. The tifs-rm-cfg.yaml files
cannot be updated without access to the corresponding SysConfig files,
as both rm-cfg.yaml and tifs-rm-cfg.yaml must remain in sync.

Link: https://lore.kernel.org/r/20260225132425.3096103-1-sparsh-kumar@ti.com
2 months agoboard: toradex: verdin-am62p: rm-cfg: Update rm-cfg to reflect new resource reservation
Sparsh Kumar [Wed, 25 Feb 2026 13:24:25 +0000 (18:54 +0530)] 
board: toradex: verdin-am62p: rm-cfg: Update rm-cfg to reflect new resource reservation

With the latest v11.02.09 TIFS firmware, an additional
virtual interrupt and event is reserved for MCU cores
to DM usage on am62px devices.

Update the rm-cfg to reflect this new reservation.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agoboard: phytec: phycore_am62ax: rm-cfg: Update rm-cfg to reflect new resource reservation
Sparsh Kumar [Wed, 25 Feb 2026 13:24:24 +0000 (18:54 +0530)] 
board: phytec: phycore_am62ax: rm-cfg: Update rm-cfg to reflect new resource reservation

With the latest v11.02.09 TIFS firmware, an additional
virtual interrupt and event is reserved for MCU cores
to DM usage on am62ax devices.

Update the rm-cfg to reflect this new reservation.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agotoradex: verdin-am62: rm-cfg: Update rm-cfg to reflect new resource reservation
Sparsh Kumar [Wed, 25 Feb 2026 13:24:23 +0000 (18:54 +0530)] 
toradex: verdin-am62: rm-cfg: Update rm-cfg to reflect new resource reservation

With the latest v11.02.09 TIFS firmware, an additional
virtual interrupt and event is reserved for MCU cores
to DM usage on am62x devices.

Update the rm-cfg to reflect this new reservation.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agoboard: phytec: rm-cfg: Update rm-cfg to reflect new resource reservation
Sparsh Kumar [Wed, 25 Feb 2026 13:24:22 +0000 (18:54 +0530)] 
board: phytec: rm-cfg: Update rm-cfg to reflect new resource reservation

With the latest v11.02.09 TIFS firmware, an additional
virtual interrupt and event is reserved for MCU cores
to DM usage on am62x devices.

Update the rm-cfg to reflect this new reservation.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agoboard: beagle: beagleplay: rm-cfg: Update rm-cfg to reflect new resource reservation
Sparsh Kumar [Wed, 25 Feb 2026 13:24:21 +0000 (18:54 +0530)] 
board: beagle: beagleplay: rm-cfg: Update rm-cfg to reflect new resource reservation

With the latest v11.02.09 TIFS firmware, an additional
virtual interrupt and event is reserved for MCU cores
to DM usage on am62x devices.

Update the rm-cfg to reflect this new reservation.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agoarm: dts: k3: am62x/am62px: Enable tifs-rm-cfg in binman
Sparsh Kumar [Wed, 25 Feb 2026 13:24:20 +0000 (18:54 +0530)] 
arm: dts: k3: am62x/am62px: Enable tifs-rm-cfg in binman

Add rcfg_yaml_tifs node override to use tifs-rm-cfg.yaml instead of
the default rm-cfg.yaml for am625-sk and am62p-sk platforms.

This enables binman to include the tifs-rm-cfg.yaml configuration
when building tiboot3 images, bringing these platforms in line with
other K3 devices like am62a-sk that already use tifs-rm-cfg.yaml.

This builds on the tifs-rm-cfg files added/updated earlier in this series.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
2 months agoboard: ti: am62x: tifs-rm-cfg: Add the missing tifs-rm-cfg:
Sparsh Kumar [Wed, 25 Feb 2026 13:24:19 +0000 (18:54 +0530)] 
board: ti: am62x: tifs-rm-cfg: Add the missing tifs-rm-cfg:

The am62x platform was originally introduced without a
tifs-rm-cfg.yaml file. Add the tifs-rm-cfg to bring am62x
in line with other am62 family of devices (am62px and am62a)
which all include this file.

This complements the rm-cfg update earlier in this series.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agoboard: ti: am62px: tifs-rm-cfg: Sync tifs-rm-cfg with TIFS firmware updates
Sparsh Kumar [Wed, 25 Feb 2026 13:24:18 +0000 (18:54 +0530)] 
board: ti: am62px: tifs-rm-cfg: Sync tifs-rm-cfg with TIFS firmware updates

Synchronize tifs-rm-cfg file with the latest v11.02.09
TIFS firmware rm configuration:

 - Update am62px tifs-rm-cfg with revised resource allocations
 - Apply formatting updates to align with TIFS template

This brings tifs-rm-cfg in sync with the rm-cfg changes
earlier in this series.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agoboard: ti: rm-cfg: Update rm-cfg to reflect new resource reservation
Sparsh Kumar [Wed, 25 Feb 2026 13:24:17 +0000 (18:54 +0530)] 
board: ti: rm-cfg: Update rm-cfg to reflect new resource reservation

With the latest v11.02.09 TIFS firmware, an additional
virtual interrupt and event is reserved for MCU cores
to DM usage on am62x, am62ax and am62px devices.

Update the rm-cfg to reflect this new reservation.

Signed-off-by: Sparsh Kumar <sparsh-kumar@ti.com>
2 months agoarm: dts: sc594: Update sc594 EZKIT GPIO polarities
Caleb Ethridge [Fri, 27 Feb 2026 19:34:23 +0000 (14:34 -0500)] 
arm: dts: sc594: Update sc594 EZKIT GPIO polarities

Updates the polarities for the GPIOs on the sc594
EZKIT carrier board for the newest revision, Rev D.
The new carrier board revision has different polarities
for some GPIOs. This patch updates the sc594 entries
to match the sc598 entries that were updated in a previous
commit, as both SOMs can utilize the EZKIT.

Note that these updates are for the EZKIT carrier
board used by both sc598 and sc594 SOMs, not the SOMs themselves.

Fixes: be79378 ("board: adi: Add support for SC594")
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Reviewed-by: Greg Malysa <malysagreg@gmail.com>
2 months agolinux_compat: fix NULL pointer dereference in get_mem()
Anton Moryakov [Thu, 26 Feb 2026 21:27:28 +0000 (00:27 +0300)] 
linux_compat: fix NULL pointer dereference in get_mem()

Add NULL check after memalign() call in get_mem() to prevent
potential NULL pointer dereference (CWE-476).

The function memalign() can return NULL on allocation failure.
Dereferencing the returned pointer without checking for NULL
may cause a crash in low-memory conditions.

Changes:
- Add NULL check after memalign() allocation
- Return NULL on failure, consistent with function semantics

This fixes the static analyzer warning:
  linux_compat.c:34: dereference of memalign return value without NULL check

Reported-by: static analyzer Svace
Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 months agoserial: ns16550: Fix return-type warning
Nikita Shubin [Thu, 26 Feb 2026 16:39:10 +0000 (19:39 +0300)] 
serial: ns16550: Fix return-type warning

Fix compiler warning:

drivers/serial/ns16550.c: In function ‘serial_in_dynamic’:
drivers/serial/ns16550.c:153:1: warning: control reaches end
    of non-void function [-Wreturn-type]
  153 | }
      | ^

Observed with gcc 15.2.1:

$ riscv64-unknown-linux-gnu-gcc --version
riscv64-unknown-linux-gnu-gcc (Gentoo 15.2.1_p20260214 p5) 15.2.1

Fixes: 62cbde4c4e46 ("serial: ns16550: Support run-time configuration")
Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 months agoarm: dts: k3-j721s2*: Enable OSPI1 with 32-bit address mappings for R5 SPL
Anurag Dutta [Thu, 26 Feb 2026 09:05:24 +0000 (14:35 +0530)] 
arm: dts: k3-j721s2*: Enable OSPI1 with 32-bit address mappings for R5 SPL

The R5 SPL requires 32-bit address mappings for OSPI1(QSPI) access.
Override the OSPI1 node with appropriate 32-bit register ranges to
enable proper address translation on the 32-bit R5 core, while
preserving 64-bit mappings for A72 cores. While at it, remove the
disabled status override for ospi1 node to support booting from
qspi.

Signed-off-by: Anurag Dutta <a-dutta@ti.com>
2 months agospl: Remake SPL elf from bin
Michal Simek [Thu, 26 Feb 2026 09:27:16 +0000 (10:27 +0100)] 
spl: Remake SPL elf from bin

On Xilinx MB-V there is a need to use ELF file for SPL which is placed
in BRAM (Block RAM) because tools for placing code to bitstream requires to
use ELF. That's why introduce SPL_REMAKE_ELF similar to REMAKE_ELF option
as was originally done by commit f4dc714aaa2d ("arm64: Turn u-boot.bin back
into an ELF file after relocate-rela").

There is already generic and simple linker script (arch/u-boot-elf.lds)
which can be also used without any modification.

Signed-off-by: Michal Simek <michal.simek@amd.com>
2 months agosandbox: symbol CONFIG_DM_SOUND does not exist
Heinrich Schuchardt [Wed, 25 Feb 2026 17:38:14 +0000 (18:38 +0100)] 
sandbox: symbol CONFIG_DM_SOUND does not exist

The correct configuration symbol is CONFIG_SOUND.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
2 months agospl: spi: fix loss of spl_load() error on soft reset
Dimitrios Siganos [Tue, 17 Feb 2026 13:56:20 +0000 (13:56 +0000)] 
spl: spi: fix loss of spl_load() error on soft reset

When CONFIG_SPI_FLASH_SOFT_RESET is enabled, spi_nor_remove() is called
after spl_load() to switch the flash back to legacy SPI mode. However,
the return value of spi_nor_remove() unconditionally overwrites the
return value of spl_load(), discarding any load error.

Fix this by preserving the spl_load() error and only propagating the
spi_nor_remove() error as a fallback. Also log a message when
spi_nor_remove() fails, since in the case where spl_load() already
failed its error would otherwise be silently discarded.

Signed-off-by: Dimitrios Siganos <dimitris@siganos.org>
2 months agolmb: Reinstate access to memory above ram_top
Marek Vasut [Tue, 27 Jan 2026 23:48:40 +0000 (00:48 +0100)] 
lmb: Reinstate access to memory above ram_top

Revert commit eb052cbb896f ("lmb: add and reserve memory above ram_top")
and commit 1a48b0be93d4 ("lmb: prohibit allocations above ram_top even from
same bank"). These are based on incorrect premise of the first commit, that
"U-Boot does not use memory above ram_top". While U-Boot itself indeed does
not and should not use memory above ram_top, user can perfectly well use
that memory from the U-Boot shell, for example to load content in there.

Currently, attempt to use that memory to load large image using TFTP ends
with "TFTP error: trying to overwrite reserved memory...". With this change
in place, the memory can be used again.

Fixes: eb052cbb896f ("lmb: add and reserve memory above ram_top")
Fixes: 1a48b0be93d4 ("lmb: prohibit allocations above ram_top even from same bank")
Reported-by: Yuya Hamamachi <yuya.hamamachi.sx@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 months agoMerge tag 'u-boot-ufs-20260313' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Fri, 13 Mar 2026 15:01:53 +0000 (09:01 -0600)] 
Merge tag 'u-boot-ufs-20260313' of https://source.denx.de/u-boot/custodians/u-boot-ufs into next

- ufs_hba_ops callbacks cleanup
- Rockchip UFS reset support
- UFS support in SPL

2 months agoMerge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into...
Tom Rini [Fri, 13 Mar 2026 15:01:18 +0000 (09:01 -0600)] 
Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into next

CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/29497
- sifive: switch to OF_UPSTREAM
- driver: cache: Remove SiFive PL2 driver
- riscv: fixes for non-existent CONFIG

2 months agoMerge tag 'net-20260312' of https://source.denx.de/u-boot/custodians/u-boot-net into...
Tom Rini [Fri, 13 Mar 2026 15:00:54 +0000 (09:00 -0600)] 
Merge tag 'net-20260312' of https://source.denx.de/u-boot/custodians/u-boot-net into next

Pull request net-20260312.

net:
- Move network PHY under NETDEVICES
- s/DM_CLK/CLK/ in HIFEMAC_{ETH,MDIO}
- Add support for Airoha AN8811HB PHY
- airoha: PCS and MDIO support for Airoha AN7581 SoC

net-lwip:
- Fix issue when TFTP blocksize is >8192
- Adjust PBUF_POOL_SIZE/IP_REASS_MAX_PBUFS for better performance and
  resource usage.
- Enable mii command for NET_LWIP

2 months agonet: Move network PHY under NETDEVICES
Tom Rini [Tue, 10 Mar 2026 16:26:14 +0000 (10:26 -0600)] 
net: Move network PHY under NETDEVICES

A number of network PHY drivers have Kconfig dependencies on various
network drivers under NETDEVICES. This is in addition to logical
dependencies of network PHYs needing network drivers. Resolve the
Kconfig problems by moving the network PHY lines to be after the network
devices, within the overall NETDEVICES guard.

Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Jerome Forissier <jerome.forissier@arm.com>
2 months agonet: lwip: scale buffer pool size with TFTP block size
Pranav Tilak [Tue, 10 Mar 2026 12:58:25 +0000 (18:28 +0530)] 
net: lwip: scale buffer pool size with TFTP block size

TFTP transfers fail when tftpblocksize is set to 8192 or larger due to
insufficient buffer resources for IP fragment reassembly.

Calculate PBUF_POOL_SIZE and IP_REASS_MAX_PBUFS dynamically based on
CONFIG_TFTP_BLOCKSIZE using IP fragmentation boundaries (1480 usable
bytes per fragment at 1500 MTU). The pool size includes headroom for
TX, ARP, and protocol overhead, while ensuring PBUF_POOL_SIZE remains
greater than IP_REASS_MAX_PBUFS as required by lwIP.

Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com>
2 months agonet: lwip: Fix PBUF_POOL_BUFSIZE when PROT_TCP_LWIP is disabled
Jonas Karlman [Mon, 9 Mar 2026 21:06:39 +0000 (21:06 +0000)] 
net: lwip: Fix PBUF_POOL_BUFSIZE when PROT_TCP_LWIP is disabled

The PBUF_POOL_BUFSIZE ends up being only 592 bytes, instead of 1514,
when PROT_TCP_LWIP Kconfig option is disabled. This results in a full
Ethernet frame requiring three PBUFs instead of just one.

This happens because the PBUF_POOL_BUFSIZE constant depends on the value
of a TCP_MSS constant, something that defaults to 536 when PROT_TCP_LWIP
is disabled.

  PBUF_POOL_BUFSIZE = LWIP_MEM_ALIGN_SIZE(TCP_MSS + 40 + PBUF_LINK_HLEN)

Ensure that a full Ethernet frame fits inside a single PBUF by moving
the define of TCP_MSS outside the PROT_TCP_LWIP ifdef block.

Fixes: 1c41a7afaa15 ("net: lwip: build lwIP")
Acked-by: Jerome Forissier <jerome.forissier@arm.com>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2 months agonet: do not use non-existent CONFIG_DM_CLK
Heinrich Schuchardt [Wed, 25 Feb 2026 06:14:26 +0000 (07:14 +0100)] 
net: do not use non-existent CONFIG_DM_CLK

For enabling the clock driver we use symbol CONFIG_CLK.
Select this symbol for the HiSilicon Fast Ethernet Controller driver.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 months agonet: phy: air_en8811: add support for Airoha AN8811HB PHY
Tommy Shih [Thu, 26 Feb 2026 08:52:00 +0000 (16:52 +0800)] 
net: phy: air_en8811: add support for Airoha AN8811HB PHY

Add support for the Airoha AN8811HB 2.5 Gigabit PHY to the existing
en8811h driver. This PHY supports 10/100/1000/2500 Mbps speeds.

Update the driver to recognize the AN8811HB PHY ID and handle its
specific firmware loading requirements. The firmware loading mechanism
remains consistent with the existing implementation.

This driver is based on:
  - Linux upstream PHY subsystem (v7.0-rc1)
  - air_an8811hb v0.0.4 out-of-tree uboot driver written by
    "Lucien.Jheng <lucien.jheng@airoha.com>"

Tested on MT7987 RFB board.

Link: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=6f1769ec5892ac41d82e820d94dcdc68e904aa99
Link: https://patchwork.kernel.org/project/netdevbpf/patch/20260122071601.1057083-3-bjorn@mork.no/
Signed-off-by: Tommy Shih <tommy.shih@airoha.com>
Reviewed-by: Lucien.Jheng <lucienzx159@gmail.com>
2 months agoriscv: mpfs: SIFIVE_CLINT and SPL_SIFIVE_CLINT don't exist
Heinrich Schuchardt [Wed, 25 Feb 2026 17:52:29 +0000 (18:52 +0100)] 
riscv: mpfs: SIFIVE_CLINT and SPL_SIFIVE_CLINT don't exist

Don't imply non-existent symbols CONFIG_SIFIVE_CLINT and SPL_SIFIVE_CLINT.

MPFS boards neither use SPL nor do they run main U-Boot in M-mode.
So we don't need CONFIG_(SPL_)ACLINT either.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
2 months agoopenpiton: imply CONFIG_SPL_CPU
Heinrich Schuchardt [Wed, 25 Feb 2026 12:13:02 +0000 (13:13 +0100)] 
openpiton: imply CONFIG_SPL_CPU

There is no symbol CONFIG_SPL_CPU_SUPPORT.
The intended symbol is called CONFIG_SPL_CPU.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tianrui Wei <tianrui-wei@outlook.com>
Fixes: 8a44fe694394 ("board: riscv: add openpiton-riscv64 SoC support")
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2 months agoriscv: don't imply non-existent CONFIG_IP_DYN
Heinrich Schuchardt [Wed, 25 Feb 2026 09:54:14 +0000 (10:54 +0100)] 
riscv: don't imply non-existent CONFIG_IP_DYN

The symbol CONFIG_IP_DYN does not exist, but multiple contributors
copied an imply statement.

Remove the imply IP_DYN statements.

Fixes: 3fda0262c33f ("riscv: Add SiFive FU540 board support")
Fixes: 64413e1b7caf ("riscv: Add Microchip MPFS Icicle Kit support")
Fixes: 70415e1e528d ("board: sifive: add HiFive Unmatched board support")
Fixes: 6f902b85b6ee ("board: starfive: Add Kconfig for StarFive VisionFive v2 Board")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
2 months agodriver: cache: Remove SiFive PL2 driver
Nick Hu [Mon, 19 Jan 2026 05:55:23 +0000 (13:55 +0800)] 
driver: cache: Remove SiFive PL2 driver

Under single core boot platform, the secondary cores won't enter the
u-boot spl. Therefore we move the pl2 driver from u-boot to the Opensbi.

Signed-off-by: Nick Hu <nick.hu@sifive.com>
Signed-off-by: Jimmy Ho <jimmy.ho@sifive.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2 months agosifive: switch to OF_UPSTREAM
Andreas Schwab [Wed, 28 Jan 2026 16:51:02 +0000 (17:51 +0100)] 
sifive: switch to OF_UPSTREAM

Tested on HiFive Unleashed and HiFive Unmatched, both SPIFlash and MMC boot.

Signed-off-by: Andreas Schwab <schwab@suse.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2 months agoboot: availability of command mii for NET_LWIP
Heinrich Schuchardt [Fri, 20 Feb 2026 14:33:11 +0000 (15:33 +0100)] 
boot: availability of command mii for NET_LWIP

If we are using the legacy or the LWIP network stack,
should not influence our decision to provide command `mii`.

Let BOOT_DEFAULTS_CMDS imply MII if either of the network
stacks is available.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2 months agonet: airoha: use mt7531 mdio for GDM1
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:30 +0000 (21:22 +0300)] 
net: airoha: use mt7531 mdio for GDM1

Current code just bind mt7531 mdio with it's driver, so mdio device may
not be probed and hense not usable.

This patch:
 * Forces probing of mt7531 mdio for GDM1 port
 * Renames the mt7531 mdio bus interface to 'mt7531-mdio'. We may have
   multiple available MDIO, so the name 'mdio' isn't descriptive enough.
 * Sets mdio bus for the GDM port device

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: makes PCS support optional
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:29 +0000 (21:22 +0300)] 
net: airoha: makes PCS support optional

It's not possible to disable PCS support just now, an7581 u-boot will not
compile. This patch fixes an issue.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: fill in support for PCS/PHY in Airoha Ethernet driver
Christian Marangi [Wed, 11 Feb 2026 18:22:28 +0000 (21:22 +0300)] 
net: airoha: fill in support for PCS/PHY in Airoha Ethernet driver

Add required changes to call PCS function to configure the Serdes Port.
The Ethernet driver is adapted following Upstream Kernel node structure.

Function calling order is the same of Phylink upstream kernel.

With the PCS support, also add support for attaching PHY. With
"in-band-status" set in DT for the managed property, a rudimental
support for SFP module is present.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agoconfigs: enable PCS for Airoha AN7581
Christian Marangi [Wed, 11 Feb 2026 18:22:27 +0000 (21:22 +0300)] 
configs: enable PCS for Airoha AN7581

Enable PCS config for Airoha AN7581 SoC by default to enable
support for External PHY.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agoairoha: add PCS node for AN7581
Christian Marangi [Wed, 11 Feb 2026 18:22:26 +0000 (21:22 +0300)] 
airoha: add PCS node for AN7581

Add PCS node for Airoha AN7581 SoC to enable support for Serdes Ethernet
and PON port.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agoairoha: add GDM1 sub-node into EN7523 ethernet controller node
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:25 +0000 (21:22 +0300)] 
airoha: add GDM1 sub-node into EN7523 ethernet controller node

This is required to make ethernet working after PCS support changes

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha-pcs: an7581: sync with linux code a bit
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:24 +0000 (21:22 +0300)] 
net: airoha-pcs: an7581: sync with linux code a bit

based on linux kernel patches from
https://github.com/Ansuel/openwrt/commits/openwrt-24.10-airoha-an7581-stable/
created by Christian Marangi <ansuelsmth@gmail.com>

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agoMerge tag 'mediatek-for-next-2026-03-11' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 12 Mar 2026 13:45:29 +0000 (07:45 -0600)] 
Merge tag 'mediatek-for-next-2026-03-11' of https://source.denx.de/u-boot/custodians/u-boot-mediatek into next

A fix:
* Fixing compiling MT8195 due to some independent changes that were applied
  around the same time as MT8195 support was merged. (CI would not have caught
  this since we didn't have a defconfig until now).

And few small features:
* New defconfig for MT8395/Genio 1200 EVK.
* pinctrl support for MT8189-compatible SoCs.

2 months agonet: airoha: pcs: improve/fix building rules
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:22 +0000 (21:22 +0300)] 
net: airoha: pcs: improve/fix building rules

pcs-airoha-common.o should not build unconditionally,
also make building rules looks better.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: add support for Airoha PCS driver
Christian Marangi [Wed, 11 Feb 2026 18:22:21 +0000 (21:22 +0300)] 
net: airoha: add support for Airoha PCS driver

Add support for Airoha PCS driver present on AN7581 SoC.
This is needed to configure the Serdes port for the different PHY mode.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months agonet: airoha: init switch before GDM port initialization
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:20 +0000 (21:22 +0300)] 
net: airoha: init switch before GDM port initialization

Call airoha_switch_init() before creating GDM instances, so if
allocation of GDM port fails, early created GDM instances will work
normally.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: do not call airoha_fe_init() from GDM port independent code
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:19 +0000 (21:22 +0300)] 
net: airoha: do not call airoha_fe_init() from GDM port independent code

We should not call airoha_fe_init() from GDM port independent code,
because it do a GDM specific things.

Makes airoha_fe_maccr_init() and airoha_fe_init() port dependent
and call them from airoha_eth_port_probe()

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: declare airoha_eth_port as U_BOOT_DRIVER()
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:18 +0000 (21:22 +0300)] 
net: airoha: declare airoha_eth_port as U_BOOT_DRIVER()

Declare airoha_eth_port as U_BOOT_DRIVER(), fix airoha_alloc_gdm_port()
to lookup a driver instead of direct airoha_eth_port usage.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: avoid out of boundary writing/access to gdm_port_str[] array
Mikhail Kshevetskiy [Wed, 11 Feb 2026 18:22:17 +0000 (21:22 +0300)] 
net: airoha: avoid out of boundary writing/access to gdm_port_str[] array

In the case of an7581 possible GDM port id are: 1, 2 and 4.
Initialization of port GDM4 will lead to out of boundary writing
to gdm_port_str[] array.

Let's increase the array size by 1 to avoid it.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
2 months agonet: airoha: add initial support for multiple GDM port
Christian Marangi [Wed, 11 Feb 2026 18:22:16 +0000 (21:22 +0300)] 
net: airoha: add initial support for multiple GDM port

Rework the driver to support multiple GDM port. The driver is split to
main driver as a MISC driver with forced probe (by using the
DM_FLAG_PROBE_AFTER_BIND) and each GDM port register a ETH driver.

This permit a 1:1 implementation with the linux kernel driver and permit
to use the same exact DT nodes.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>