]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
6 days agolinker_lists.h: drop never used ll_start, ll_end macros
Rasmus Villemoes [Mon, 23 Mar 2026 08:39:28 +0000 (09:39 +0100)] 
linker_lists.h: drop never used ll_start, ll_end macros

These macros have AFAICT never been used at all. It's also far from
clear what purpose it could serve - for one thing, what _type would
one pass, other than void perhaps? The example using "struct
my_sub_cmd" seems misplaced, as how could one know that the first
linker list consists of those, and moreover, how would one know how
many there are?

The linker list concept is fragile enough on its own, there is no need
to have unused functionality lying around that may or may not bitrot
and certainly will confuse readers of linker_lists.h.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Simon Glass <sjg@chromium.org>
6 days agoacpi: Correct dependencies for GENERATE_ACPI_TABLE next
Tom Rini [Fri, 20 Mar 2026 20:53:56 +0000 (14:53 -0600)] 
acpi: Correct dependencies for GENERATE_ACPI_TABLE

In order to build this code, outside of QEMU systems which instead have
provided tables that we use, we must select ACPIGEN as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agospi: Correct dependency on SPI_MEM for many drivers
Tom Rini [Fri, 20 Mar 2026 20:53:51 +0000 (14:53 -0600)] 
spi: Correct dependency on SPI_MEM for many drivers

A large number of drivers "depends on" SPI_MEM but this is library type
functionality and so must be select'd instead in order to ensure that
drivers will build. Correct this usage and hide the symbol normally.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agomisc: Add missing dependency to CROS_EC_SANDBOX
Tom Rini [Fri, 20 Mar 2026 20:53:49 +0000 (14:53 -0600)] 
misc: Add missing dependency to CROS_EC_SANDBOX

In order to build CROS_EC_SANDBOX we must also have the hashing API
enabled, add that as a dependency.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agogpio: Correct dependencies for legacy CMD_PCA953X
Tom Rini [Fri, 20 Mar 2026 20:53:48 +0000 (14:53 -0600)] 
gpio: Correct dependencies for legacy CMD_PCA953X

The legacy CMD_PCA953X command can only be built when the matching
legacy driver is enabled, add that dependency to Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agoclk: Add missing dependency for SANDBOX_CLK_CCF
Tom Rini [Fri, 20 Mar 2026 20:53:46 +0000 (14:53 -0600)] 
clk: Add missing dependency for SANDBOX_CLK_CCF

In order to build SANDBOX_CLK_CCF we need for CLK_CCF to be enabled, add
that as a select similar to other drivers.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agocmd: Add missing dependency to CMD_PMC
Tom Rini [Fri, 20 Mar 2026 20:53:45 +0000 (14:53 -0600)] 
cmd: Add missing dependency to CMD_PMC

We cannot build CMD_PMC without ACPI_PMC, so add that as a dependency.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agoboot: Add DM_RTC as a dependency to CEDIT
Tom Rini [Fri, 20 Mar 2026 20:53:43 +0000 (14:53 -0600)] 
boot: Add DM_RTC as a dependency to CEDIT

The CEDIT functionality, due to the cmos functions, depends directly on
DM_RTC being enabled in order to provide that API. Express this in
Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agoloads: Add LMB as a dependency
Tom Rini [Fri, 20 Mar 2026 20:53:42 +0000 (14:53 -0600)] 
loads: Add LMB as a dependency

As this command calls lmb_alloc_mem directly it must depend on LMB being
enabled.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agolmb: Correct dependency around CMD_BOOT[IMZ]
Tom Rini [Fri, 20 Mar 2026 20:53:40 +0000 (14:53 -0600)] 
lmb: Correct dependency around CMD_BOOT[IMZ]

The calls around lmb functions for these commands are not specific to
SYS_BOOT_RAMDISK_HIGH but rather part of the general loading portion of
the command itself currently. Move this dependency to the right spot.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agoenv: Make use of IF_ENABLED_INT in spi flash support
Tom Rini [Fri, 20 Mar 2026 20:53:39 +0000 (14:53 -0600)] 
env: Make use of IF_ENABLED_INT in spi flash support

In order to build the spi flash environment driver, but with
CONFIG_ENV_REDUNDANT disabled we must make use of IF_ENABLED_INT to
check for a value in CONFIG_ENV_OFFSET_REDUND otherwise we will fail to
build.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agoenv: Correct dependency for ENV_IS_IN_NAND
Tom Rini [Fri, 20 Mar 2026 20:53:37 +0000 (14:53 -0600)] 
env: Correct dependency for ENV_IS_IN_NAND

In order to have ENV_IS_IN_NAND be valid we must have MTD_RAW_NAND
enabled as a minimum, express this dependency in Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agortc: Update Kconfig dependencies
Tom Rini [Fri, 20 Mar 2026 20:53:34 +0000 (14:53 -0600)] 
rtc: Update Kconfig dependencies

Update the dependencies for RTC drivers which did not express a
requirement on DM_RTC, or in some cases on DM_RTC being disabled. In a
few cases, when DM_RTC is disabled we also require DM_I2C to also be
disabled or for POWER_LEGACY to be enabled.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agortc: ds1337: Remove various legacy code and update dependencies
Tom Rini [Fri, 20 Mar 2026 20:53:32 +0000 (14:53 -0600)] 
rtc: ds1337: Remove various legacy code and update dependencies

At this point there are no users of this driver which do not enable
DM_RTC, so remove the legacy code and express the depdendency in
Kconfig. We can further remove code related to RTC chips / options that
are neither available in Kconfig nor set by any platforms.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agortc: Remove legacy DS1338 support
Tom Rini [Fri, 20 Mar 2026 20:53:31 +0000 (14:53 -0600)] 
rtc: Remove legacy DS1338 support

The DS1338 RTC chip is supported in DM mode by the DS1307 driver, and at
this point all users have been using this functionality. It was a
function of Kconfig configuration that implied otherwise. Remove the
unused legacy symbols.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agobootcount: Give i2c-eeprom a unique identifier
Tom Rini [Fri, 20 Mar 2026 20:53:26 +0000 (14:53 -0600)] 
bootcount: Give i2c-eeprom a unique identifier

Every U_BOOT_DRIVER entry must be unique and this driver was re-using
the name of the bootcount_spi_flash driver. Change to
bootcount_i2c_eeprom.

Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agosata: Rework the CMD_SATA and SATA symbols
Tom Rini [Fri, 20 Mar 2026 20:53:24 +0000 (14:53 -0600)] 
sata: Rework the CMD_SATA and SATA symbols

Today we typically enable CMD_SATA in order to have the SATA
functionality itself enabled, despite there being a clean split between
the two symbols. This in turn leads to potential configuration problems.
Split things so that SATA continues to be separate and not CMD_SATA
instead depends, functionally, on AHCI being enabled.

To do all of this:
- Have X86 select AHCI directly rather than "default y" it later.
- Make CMD_SATA be a default y option, given the split of platforms that
  enabled SATA and did, or did not, enable CMD_SATA.
- Change "imply CMD_SATA" to "imply SATA"
- Correct TARGET_VEXPRESS64_JUNO because you cannot select SATA_SIL
  without PCI (and in turn, SATA is needed for SATA_SIL).
- Update a number of defconfigs to have no functional change.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agoglobal: Audit Kconfig usage of PARTITION_TYPE_GUID
Tom Rini [Fri, 20 Mar 2026 20:53:22 +0000 (14:53 -0600)] 
global: Audit Kconfig usage of PARTITION_TYPE_GUID

It is not functionally possible to use the code enabled by
PARTITION_TYPE_GUID without having EFI_PARTITION be enabled as well. Not
all users of the former had ensured that the latter was enabled however,
so audit all current users and then as appropriate select or imply
EFI_PARTITION as needed.

Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agooptee: Correct dependencies for BOOTM_OPTEE
Tom Rini [Fri, 20 Mar 2026 17:24:58 +0000 (11:24 -0600)] 
optee: Correct dependencies for BOOTM_OPTEE

As exposed by "make randconfig", we have an issue with the dependencies
for BOOTM_OPTEE. This symbol needs to select BOOTM_LINUX and in turn
depend on the library symbols that have to be enabled for BOOTM_LINUX to
be valid (LIB_BOOTI, LIB_BOOTM and LIB_BOOTZ).

Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
6 days agosandbox: Add missing select's to the architecture symbol
Tom Rini [Fri, 20 Mar 2026 14:13:09 +0000 (08:13 -0600)] 
sandbox: Add missing select's to the architecture symbol

As exposed by "make randconfig", we have an issues around a number of
symbols that we select without making sure to also select their
prerequisite symbols. Add these missing symbols.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days ago.mailmap: Fix Jerome's entry
Michal Simek [Wed, 1 Apr 2026 06:10:15 +0000 (08:10 +0200)] 
.mailmap: Fix Jerome's entry

When patman is used email address is composed together with both email
address from .mailmal file. Having two commit emails is not proper format.

Error:
error: unable to extract a valid address from: Jerome Forissier
<jerome.forissier@arm.comjerome@forissier.org>

Fixes: f2566c3a71a5 ("MAINTAINERS: update my email address")
Signed-off-by: Michal Simek <michal.simek@amd.com>
Acked-by: Jerome Forissier <jerome.forissier@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 days agopowerpc/mpc83xx: Move alignment padding into __u_boot_list section
J. Neuschäfer [Sun, 29 Mar 2026 15:04:36 +0000 (17:04 +0200)] 
powerpc/mpc83xx: Move alignment padding into __u_boot_list section

u-boot-dtb.bin is built by concatenating u-boot-nodtb.bin and u-boot.dtb.
u-boot-nodtb.bin, in turn, is generated by objcopy'ing the contents of
u-boot (U-Boot in ELF format) into a raw file.

In order to find the bundled FDT (u-boot.dtb), the code in lib/fdtdec.c
uses the _end symbol. Platform-specific linker scripts ensure that _end is
8-byte aligned, which is required by libfdt.

For the PowerPC MPC83xx platform, the ALIGN(8) directive was outside a
section, with the unfortunate effect that the potentially generated padding
bytes would not be copied by objcopy. This resulted in a discrepancy
between the _end symbol on the one hand, and the size of u-boot-nodtb.bin
and thus the starting location of the actual FDT on the other side. Under
these conditions, the FDT could not be found and boot would fail early.

This commit fixes it by moving the ALIGN(8) into the __u_boot_list section,
which is non-empty and thus copied into u-boot-nodtb.bin.

Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
Reviewed-by: Tom Rini <trini@konsulko.com>
7 days agocmd: test: add bug-compatibility special case for 'test -n'
Rasmus Villemoes [Mon, 30 Mar 2026 14:01:06 +0000 (16:01 +0200)] 
cmd: test: add bug-compatibility special case for 'test -n'

It turns out that there is lots of code in the wild, including in the
U-Boot tree itself, which used to rely on

  test -n $somevar

to yield false when $somevar is not defined or empty. See for example
all the occurrences of 'test -n $fdtfile'. That was really only a
quirk of the implementation that refused calls with argc < 3, and not
because it was interpreted as

  test -n "$somevar"

which is how this should be spelled.

While not exactly conforming to POSIX, we can accomodate such scripts
by special-casing a single argument "-n" to be interpreted as if it
comes from code as above with empty $somevar.

Since we only just added the ability to test a string for emptiness
using the single-argument form, it is very unlikely that there is code
doing

  test "$str"

which would now fail if $str happens to be exactly "-n"; such a test
should really always be spelled

  test -n "$str"

Fixes: 8b0619579b2 ("cmd: test: fix handling of single-argument form of test")
Reported-by: Franz Schnyder <franz.schnyder@toradex.com>
Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 days agoMerge tag 'u-boot-imx-next-20260402' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Thu, 2 Apr 2026 17:13:38 +0000 (11:13 -0600)] 
Merge tag 'u-boot-imx-next-20260402' 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/29745

- Migrate imx95-toradex-smarc to use upstream devicetree.
- Force fsl crypto driver to select ARCH_MISC_INIT to avoid crashes when
  using CAAM.
- Support upstream Linux reset-gpios property for the i.MX PCI driver.
- Avoid duplication of DDR tables on i.MX8MP DHCOM SoM.
- Several cleanups on tqma6 platform.
- Convert i.MX8MP boards to DM_PMIC.
- Add phyCORE-i.MX91 support.
- Drop unnecessary BOARD_EARLY_INIT_F usage.

7 days agoarm: relocate: Make data-only relocation mode non-user-configurable
Marek Vasut [Sun, 29 Mar 2026 23:15:16 +0000 (01:15 +0200)] 
arm: relocate: Make data-only relocation mode non-user-configurable

The data only relocation mode should be selected on per-SoC or per-core
basis, make these options non-user-configurable. The SoC or cores which
require this have to select this option using "default" keyword.

Fixes: d9eee3d17882 ("arm: relocate: Introduce data-only relocation mode")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
7 days agoserial: pl011: Remove legacy serial driver options
Tom Rini [Thu, 19 Mar 2026 16:33:36 +0000 (10:33 -0600)] 
serial: pl011: Remove legacy serial driver options

There are no longer any users of the legacy non-DM pl01x serial driver.
This lets us remove both CONFIG_PL011_SERIAL as well as
CONFIG_PL011_SERIAL_RLCR references. We still have SPL users of the
non-DM portions of the code.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agoenv: flash: add catch-all for unrecognized flags in env_flash_init()
Neil Berkman [Wed, 18 Mar 2026 21:15:15 +0000 (14:15 -0700)] 
env: flash: add catch-all for unrecognized flags in env_flash_init()

When both environment copies have valid CRCs but the flag bytes do not
match any recognized pair, env_flash_init() falls through without
setting gd->env_addr or gd->env_valid. This is a problem because:

1. env_init() then sets gd->env_addr = &default_environment (in RAM).

2. In env_flash_load(), the pointer comparison
   gd->env_addr != &flash_addr->data evaluates true (RAM != flash),
   triggering the pointer swap that selects the secondary copy.

3. The repair logic writes OBSOLETE (0x00) to the non-active flag but
   cannot promote the other flag from 0x00 to ACTIVE (0x01) because
   NOR flash requires a sector erase to set bits. Both copies end up
   with flag=0x00.

4. On every subsequent boot, flag1 == flag2 triggers the ENV_REDUND
   path, printing a spurious "recovered successfully" warning until
   an explicit saveenv erases and rewrites the sectors.

The recognized flag values are ACTIVE (0x01), OBSOLETE (0x00), and
erased (0xFF). Of the 256 possible flag values, the existing chain of
if/else-if handles only three: 253 of 256 values fall through without
setting gd->env_addr. Combined with 0x00 (already stuck on NOR),
254 of 256 values eventually reach the persistent-warning state.

Other env backends (SPI flash, NAND, MMC) handle this through
env_check_redund() in env/common.c, which uses a numeric comparison
of the flags as a serial counter and always reaches a decision. The
CFI flash backend is the only one that uses its own flag-matching
logic.

Add a catch-all else clause that defaults to the primary copy with
ENV_REDUND status, matching the existing behavior for the flag1==flag2
case. This ensures gd->env_addr is always set, preventing the
unintended pointer swap. The condition is recoverable via saveenv.

Signed-off-by: Neil Berkman <neil@xuku.com>
Reproducer: https://gist.github.com/neilberkman/4155612a7942d3f510f204eb85e61943

The SPI flash backend (env/sf.c) has a related but distinct issue:
it retained legacy boolean save semantics but its load path now uses
the common serial-number logic in env_check_redund(), creating an
inconsistency under interrupted updates. That has wider implications
for fw_env.c and would need separate discussion.

7 days agotqma6: remove board MAINTAINERS
Max Merchel [Wed, 25 Mar 2026 09:19:54 +0000 (10:19 +0100)] 
tqma6: remove board MAINTAINERS

All information is contained in the global MAINTAINERS or
TQ board MAINTAINERS.

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agotq: add TQ board MAINTAINERS
Max Merchel [Wed, 25 Mar 2026 09:19:53 +0000 (10:19 +0100)] 
tq: add TQ board MAINTAINERS

Add MAINTAINERS file containing board-specific information and
the name of the board maintainer.

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoMAINTAINERS: update entry for TQ-Systems
Markus Niebel [Wed, 25 Mar 2026 09:19:52 +0000 (10:19 +0100)] 
MAINTAINERS: update entry for TQ-Systems

- change TQ GROUP to TQ-Systems
- add TQ mailing list
- remove custodian tree
- add board directory
- add board configs
- add board device trees
- add board documentation directory
- add shared environment directory

Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoarm64: imx8mp: Add 4G 1r DRAM timings on DH i.MX8MP DHCOM SoM
Marek Vasut [Wed, 1 Apr 2026 21:02:20 +0000 (23:02 +0200)] 
arm64: imx8mp: Add 4G 1r DRAM timings on DH i.MX8MP DHCOM SoM

Introduce timing patch which converts 2 GiB DRAM timings to 4 GiB 1-rank
timings. This is a new configuration which carries IS43LQ32K01B DRAM part.
The 512 MiB SoM strapping that was never used is repurposed for this part.

Signed-off-by: Marek Vasut <marex@nabladev.com>
7 days agoarm64: imx8mp: Deduplicate 2G and 4G 2r DRAM timings on DH i.MX8MP DHCOM SoM
Marek Vasut [Wed, 1 Apr 2026 21:02:19 +0000 (23:02 +0200)] 
arm64: imx8mp: Deduplicate 2G and 4G 2r DRAM timings on DH i.MX8MP DHCOM SoM

The 2 GiB and 4 GiB 2-rank DRAM timings on i.MX8MP DHCOM are very
similar. Instead of carrying around two copies of almost identical
timing tables, implement a patch of the 2 GiB table to convert it
into 4 GiB 2-rank table and pass the result to DRAM initialization
code. This saves us 13640 Bytes in SPL, and frees up space for more
DRAM initialization tables.

Signed-off-by: Marek Vasut <marex@nabladev.com>
7 days agoarm64: imx8mp: Deduplicate DRAM size tables on DH i.MX8MP DHCOM SoM
Marek Vasut [Wed, 1 Apr 2026 21:02:18 +0000 (23:02 +0200)] 
arm64: imx8mp: Deduplicate DRAM size tables on DH i.MX8MP DHCOM SoM

The DRAM size tables are shared by SPL and U-Boot proper, deduplicate
those tables into lpddr4_timing.h . No functional change.

Signed-off-by: Marek Vasut <marex@nabladev.com>
7 days agoarm64: imx8mp: Fold inline ECC into spl.c on DH i.MX8MP DHCOM SoM
Marek Vasut [Wed, 1 Apr 2026 21:02:17 +0000 (23:02 +0200)] 
arm64: imx8mp: Fold inline ECC into spl.c on DH i.MX8MP DHCOM SoM

The inline ECC configuration is identical for 2 GiB DRAM variants
and 4 GiB DRAM variants of the SoM, no matter the rank count. Fold
the ECC configuration directly into spl.c to simplify the upcoming
deduplication. No functional change.

Signed-off-by: Marek Vasut <marex@nabladev.com>
7 days agoimx8mp: icore-edimm2.2: Convert to DM_PMIC
Peng Fan [Mon, 30 Mar 2026 14:04:06 +0000 (22:04 +0800)] 
imx8mp: icore-edimm2.2: Convert to DM_PMIC

Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC
handling.

Changes include:
- Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig.
- Drop legacy SPL I2C and PMIC options.
- Remove manual I2C1 pad setup and legacy power_pca9450_init() usage.
- Use DM-based pmic_get() with the DT node "pmic@25".
- Update PMIC register programming to use struct udevice API.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 days agoimx8mp: libra-fpsc: Convert to DM_PMIC
Peng Fan [Mon, 30 Mar 2026 14:04:05 +0000 (22:04 +0800)] 
imx8mp: libra-fpsc: Convert to DM_PMIC

Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC
handling.

Changes include:
- Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig.
- Drop legacy SPL I2C and PMIC options.
- Remove manual I2C1 pad setup and legacy power_pca9450_init() usage.
- Use DM-based pmic_get() with the DT node "pmic@25".
- Update PMIC register programming to use struct udevice API.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Yannic Moog <y.moog@phytec.de>
Tested-by: Yannic Moog <y.moog@phytec.de>
Reviewed-by: Teresa Remmet <t.remmet@phytec.de>
7 days agoimx8mp: verdin: Convert to DM_PMIC
Peng Fan [Mon, 30 Mar 2026 14:04:04 +0000 (22:04 +0800)] 
imx8mp: verdin: Convert to DM_PMIC

Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC
handling.

Changes include:
- Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig.
- Drop legacy SPL I2C and PMIC options.
- Remove manual I2C1 pad setup and legacy power_pca9450_init() usage.
- Use DM-based pmic_get() with the DT node "pmic@25".
- Update PMIC register programming to use struct udevice API.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Tested-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
7 days agoimx8mp: phyboard-pollux-rdk: Convert to DM_PMIC
Peng Fan [Mon, 30 Mar 2026 14:04:03 +0000 (22:04 +0800)] 
imx8mp: phyboard-pollux-rdk: Convert to DM_PMIC

Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC
handling.

Changes include:
- Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig.
- Drop legacy SPL I2C and PMIC options.
- Remove manual I2C1 pad setup and legacy power_pca9450_init() usage.
- Use DM-based pmic_get() with the DT node "pmic@25".
- Update PMIC register programming to use struct udevice API.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Yannic Moog <y.moog@phytec.de>
Tested-by: Yannic Moog <y.moog@phytec.de>
Reviewed-by: Teresa Remmet <t.remmet@phytec.de>
7 days agoconfigs: toradex-smarc-imx95: Add gpio-hog support
Franz Schnyder [Mon, 30 Mar 2026 07:59:42 +0000 (09:59 +0200)] 
configs: toradex-smarc-imx95: Add gpio-hog support

On the SMARC iMX95 the WiFI UART and JTAG signals are shared. The
WIFI_UART_EN signal is used to select between these two modes.
Currently, there is no hog present in the device tree but the
configuration needs to be added, as once the device tree comes from
mainline Linux, a hog will drive WIFI_UART_EN high to select by
default the UART function during boot.

Enable CONFIG_GPIO_HOG to apply gpio-hog definitions in the device tree.

Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com>
7 days agoarm: dts: imx95-toradex-smarc: migrate to OF_UPSTREAM
Franz Schnyder [Mon, 30 Mar 2026 07:59:41 +0000 (09:59 +0200)] 
arm: dts: imx95-toradex-smarc: migrate to OF_UPSTREAM

Allow CONFIG_OF_UPSTREAM to receive automatic device tree updates for
the Toradex SMARC iMX95.

Remove the now obsolete device tree files:
- imx95-toradex-smarc-dev.dts
- imx95-toradex-smarc.dtsi

Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com>
7 days agolibrem5: Drop unnecessary BOARD_EARLY_INIT_F usage
Tom Rini [Wed, 25 Mar 2026 19:00:47 +0000 (13:00 -0600)] 
librem5: Drop unnecessary BOARD_EARLY_INIT_F usage

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

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agoo4-imx6ull-nano: Drop unnecessary BOARD_EARLY_INIT_F usage
Tom Rini [Wed, 25 Mar 2026 19:00:45 +0000 (13:00 -0600)] 
o4-imx6ull-nano: Drop unnecessary BOARD_EARLY_INIT_F usage

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

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agomx6ullevk: Drop unnecessary BOARD_EARLY_INIT_F usage
Tom Rini [Wed, 25 Mar 2026 19:00:43 +0000 (13:00 -0600)] 
mx6ullevk: Drop unnecessary BOARD_EARLY_INIT_F usage

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

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 days agomx6sxsabreauto: Drop unnecessary BOARD_EARLY_INIT_F usage
Tom Rini [Wed, 25 Mar 2026 19:00:41 +0000 (13:00 -0600)] 
mx6sxsabreauto: Drop unnecessary BOARD_EARLY_INIT_F usage

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

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 days agomx6sllevk: Drop unnecessary BOARD_EARLY_INIT_F usage
Tom Rini [Wed, 25 Mar 2026 19:00:39 +0000 (13:00 -0600)] 
mx6sllevk: Drop unnecessary BOARD_EARLY_INIT_F usage

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

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 days agoimx93_frdm: Drop unnecessary BOARD_EARLY_INIT_F usage
Tom Rini [Wed, 25 Mar 2026 19:00:38 +0000 (13:00 -0600)] 
imx93_frdm: Drop unnecessary BOARD_EARLY_INIT_F usage

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

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agoimx8ulp_evk: Drop unnecessary BOARD_EARLY_INIT_F usage
Tom Rini [Wed, 25 Mar 2026 19:00:36 +0000 (13:00 -0600)] 
imx8ulp_evk: Drop unnecessary BOARD_EARLY_INIT_F usage

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

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 days agoosm-s-mx93: Drop unnecessary BOARD_EARLY_INIT_F usage
Tom Rini [Wed, 25 Mar 2026 19:00:34 +0000 (13:00 -0600)] 
osm-s-mx93: Drop unnecessary BOARD_EARLY_INIT_F usage

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

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de>
7 days agoengicam: Drop unnecessary BOARD_EARLY_INIT_F usage
Tom Rini [Wed, 25 Mar 2026 19:00:29 +0000 (13:00 -0600)] 
engicam: Drop unnecessary BOARD_EARLY_INIT_F usage

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

Signed-off-by: Tom Rini <trini@konsulko.com>
7 days agospi: fsl_espi: fix din offset
Tomas Alvarez Vanoli [Tue, 24 Mar 2026 17:02:12 +0000 (18:02 +0100)] 
spi: fsl_espi: fix din offset

In the case of SPI_XFER_BEGIN | SPI_XFER_END, the function creates a
buffer of double the size of the transaction, so that it can write the
data in into the second half. It sets the rx_offset to len, and in the
while loop we are setting an internal "din" to buffer + rx_offset.

However, at the end of each loop, the driver copies "buffer + 2 *
cmd_len" back to the data_in pointer.

This commit changes the source of the data to buffer + rx_offset.

Signed-off-by: Tomas Alvarez Vanoli <tomas.alvarez-vanoli@hitachienergy.com>
7 days agocrypto: fsl: Select ARCH_MISC_INIT for CAAM driver
Heiko Schocher [Tue, 24 Mar 2026 16:30:36 +0000 (17:30 +0100)] 
crypto: fsl: Select ARCH_MISC_INIT for CAAM driver

The CAAM JR driver is initialized from arch_misc_init(). If
ARCH_MISC_INIT is not enabled, the driver is never initialized,
which can lead to crashes or hangs (e.g. during hash operations).

Select ARCH_MISC_INIT when enabling FSL_CAAM to ensure proper
initialization.

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Suggested-by: Fabio Estevam <festevam@nabladev.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 days agoboard: tqma6: update eMMC DSR handling
Paul Gerber [Mon, 23 Mar 2026 13:47:40 +0000 (14:47 +0100)] 
board: tqma6: update eMMC DSR handling

New SoM revision use series termination for eMMC signals while older do
not. To prevent signal overshot on older revisions, DSR must be set and
limited. The eMMC type is used to differentiate between revisions.
Keep a table with all types, that are known to require DSR.

Signed-off-by: Paul Gerber <Paul.Gerber@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoboard: tqma6: use common TQ mmc function
Max Merchel [Mon, 23 Mar 2026 13:47:39 +0000 (14:47 +0100)] 
board: tqma6: use common TQ mmc function

Add function from common mmc header and
select TQ_COMMON_SDMMC Kconfig option for MBa6

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoboard/tq: Add common mmc API
Max Merchel [Mon, 23 Mar 2026 13:47:38 +0000 (14:47 +0100)] 
board/tq: Add common mmc API

Reduce code duplication by adding a default implementation

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoboard: tqma6: use common TQ baseboard
Paul Gerber [Mon, 23 Mar 2026 13:47:37 +0000 (14:47 +0100)] 
board: tqma6: use common TQ baseboard

Update functions to use the common baseboard header and
select TQ_COMMON_BB Kconfig option for MBa6 and WRU4.

While at it, remove empty implementations that are now covered by
board/tq/common.

Signed-off-by: Paul Gerber <Paul.Gerber@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoboard/tq: Add common baseboard API
Markus Niebel [Mon, 23 Mar 2026 13:47:36 +0000 (14:47 +0100)] 
board/tq: Add common baseboard API

TQMa6 and other SoMs from TQ-Systems GmbH need a baseboard. Therefore
functionality of U-Boot board callbacks may be distributed between SoM
and baseboard implementation.
To prevent code duplication and boilerplate implement a baseboard specific
API for TQ boards with weak defaults that can be filled out for baseboard
implementations as needed.

Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoconfigs: tqma6: change to include tqma6.h in baseboard headers
Max Merchel [Mon, 23 Mar 2026 13:47:35 +0000 (14:47 +0100)] 
configs: tqma6: change to include tqma6.h in baseboard headers

The SoM (TQMa6) can be used on various baseboards. No modifications to
the SoM files should be required to use the SoM on different baseboards.
Therefore, include the SoM headers in the baseboard.

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoboard: tqma6: change to use shareable tq environment
Max Merchel [Mon, 23 Mar 2026 13:47:34 +0000 (14:47 +0100)] 
board: tqma6: change to use shareable tq environment

Create tqma6 environment file and remove CFG_FEC_MXC_PHYADDR as it comes
from device tree.

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoconfigs: tqma6.h: remove unused define for PFUZE100_I2C
Max Merchel [Mon, 23 Mar 2026 13:47:33 +0000 (14:47 +0100)] 
configs: tqma6.h: remove unused define for PFUZE100_I2C

Remove the definition of CFG_POWER_PFUZE100_I2C_ADDR and
TQMA6_PFUZE100_I2C_BUS as it is not used.

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoconfigs: tqma6.h: remove unused define for PHYS_SDRAM_SIZE
Max Merchel [Mon, 23 Mar 2026 13:47:32 +0000 (14:47 +0100)] 
configs: tqma6.h: remove unused define for PHYS_SDRAM_SIZE

Remove the definition of PHYS_SDRAM_SIZE as it is not used.

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoenv: tq: add shareable environment settings
Markus Niebel [Mon, 23 Mar 2026 13:47:31 +0000 (14:47 +0100)] 
env: tq: add shareable environment settings

Prepare moving boiler plate code out of board confguration header and
prepare to share a lot of things between boards.

Signed-off-by: Markus Niebel <Markus.Niebel@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 days agoboard: phytec: phycore-imx91-93: Add phyCORE-i.MX91 support
Primoz Fiser [Tue, 17 Mar 2026 12:31:26 +0000 (13:31 +0100)] 
board: phytec: phycore-imx91-93: Add phyCORE-i.MX91 support

As the PHYTEC phyCORE-i.MX91 [1] is just another variant of the existing
PHYTEC phyCORE-i.MX93 SoM but with i.MX91 SoC populated instead, add it
to the existing board-code "phycore_imx93", and rename that board to
"phycore_imx91_93" to reflect the dual SoCs support. While at it, also
rename and change common files accordingly. This way i.MX91 and i.MX93
SoC variants of the phyCORE SoM share most of the code and documentation
without duplication, while maintaining own device-tree and defconfigs
for each CPU variant.

Supported features:
 - 1GB LPDDR4 RAM
 - Debug UART
 - EEPROM
 - eMMC
 - Ethernet
 - SD-card
 - USB

Product page SoM:
[1] https://www.phytec.eu/en/produkte/system-on-modules/phycore-imx-91-93/

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
7 days agopci: imx: Properly support upstream Linux reset-gpios property
Krzysztof Kozlowski [Thu, 12 Mar 2026 19:26:05 +0000 (20:26 +0100)] 
pci: imx: Properly support upstream Linux reset-gpios property

The driver requests explicitly "reset-gpio" property, not the one with
"gpios" suffix but upstream Linux kernel deprecated it in 2021.
Existing upstream Linux kernel DTS is being changed to "reset-gpios"
property, thus update the driver to read that one too.

Note that driver is probably broken already, because it parsed GPIO in
standard way respecting the flags and on top of that applied the
"reset-gpio-active-high" flag, thus "reset-gpio ACTIVE_LOW" with the
"reset-gpio-active-high" property would be double inverted.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
9 days agoMerge tag 'net-20260331' of https://source.denx.de/u-boot/custodians/u-boot-net into...
Tom Rini [Tue, 31 Mar 2026 16:47:15 +0000 (10:47 -0600)] 
Merge tag 'net-20260331' of https://source.denx.de/u-boot/custodians/u-boot-net into next

Pull request net-20260331.

net:
- airoha_eth & pcs_airoha driver fixes
- Rework some symbol dependencies
- dwc_eth_xgmac: Move DMA reset and pad calibration after PHY init
- rtl8169: add support for RTL8125d
- rswitch: Avoid NULL pointer dereference during PHY access
- rswitch: Remap CPU to bus addresses using dev_phys_to_bus()
- phy: dp83867: reset PHY on init to ensure clean state

net-lwip:
- nfs: fix buffer overflow when using symlinks
- tftp: update image_load_addr after successful transfer

[trini: Add missing "if NET" to CMD_DHCP select's CMD_BOOTP]
Signed-off-by: Tom Rini <trini@konsulko.com>
9 days agonet: rswitch: Remap CPU to bus addresses using dev_phys_to_bus()
Marek Vasut [Wed, 25 Mar 2026 01:10:43 +0000 (02:10 +0100)] 
net: rswitch: Remap CPU to bus addresses using dev_phys_to_bus()

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

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
9 days agonet: phy: dp83867: reset PHY on init to ensure clean state
Pranav Tilak [Wed, 25 Mar 2026 15:36:34 +0000 (16:36 +0100)] 
net: phy: dp83867: reset PHY on init to ensure clean state

After a warm reboot, the PHY is left in power-down state
(BMCR_PDOWN set) causing auto-negotiation to timeout when
running the dhcp command.

Fix this by calling phy_reset() in dp83867_config() which
brings the PHY to a known clean state. The existing
DP83867_SW_RESTART is removed as it is redundant after phy_reset().

Fixes: 721aed79126b ("net: phy: Add support for Texas Instruments DP83867")
Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
9 days agonet: lwip: tftp: update image_load_addr after successful transfer
Pranav Sanwal [Thu, 26 Mar 2026 10:41:58 +0000 (16:11 +0530)] 
net: lwip: tftp: update image_load_addr after successful transfer

do_tftpb() parses the load address into a local variable laddr but
never updates the global image_load_addr. Commands that rely on
image_load_addr as their default address (e.g. 'bmp info')
therefore operate on the wrong address when called without
an explicit argument after tftpboot.

Update image_load_addr to laddr only on a successful transfer, so
that it accurately reflects where data was actually loaded.

Fixes: 4d4d7838127e ("net: lwip: add TFTP support and tftpboot command")
Signed-off-by: Pranav Sanwal <pranav.sanwal@amd.com>
Reviewed-by: Jerome Forissier <jerome.forissier@arm.com>
9 days agonet: rswitch: Avoid NULL pointer dereference during PHY access
Marek Vasut [Wed, 25 Mar 2026 01:09:05 +0000 (02:09 +0100)] 
net: rswitch: Avoid NULL pointer dereference during PHY access

At the very early stage when PHY ID is being auto-detected, the
PHY device is not yet instantiated and rswitch_etha .phydev is
still NULL. Add missing check for this condition and perform C22
fallback access in this PHY ID auto-detection case.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
9 days agonet: bootp: Drop unused code
Marek Vasut [Wed, 25 Mar 2026 01:07:12 +0000 (02:07 +0100)] 
net: bootp: Drop unused code

This code is surely unused and there are not even commented out
references to the function name. Drop the code.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
9 days agocmd: dhcp: Select CMD_BOOTP
Marek Vasut [Wed, 25 Mar 2026 01:06:47 +0000 (02:06 +0100)] 
cmd: dhcp: Select CMD_BOOTP

The DHCP command depends on bootp_reset() function, which is implemented
only if CMD_BOOTP is enabled. Select CMD_BOOTP to satisfy the dependency.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
9 days agonet: Correct dependencies for HIFEMAC_ETH
Tom Rini [Mon, 23 Mar 2026 19:53:00 +0000 (13:53 -0600)] 
net: Correct dependencies for HIFEMAC_ETH

The HIFEMAC_ETH functionality can only work with both DM_ETH_PHY and
DM_MDIO enabled (it calls one of the functions that requires both), so
express this dependency in Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
9 days agonet: cmd: Correct dependencies for CMD_PXE
Tom Rini [Mon, 23 Mar 2026 19:52:53 +0000 (13:52 -0600)] 
net: cmd: Correct dependencies for CMD_PXE

The CMD_PXE functionality can only build with CMD_TFTPBOOT enabled (or
we get undefined references to do_tftpb), so express this dependency in
Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
9 days agortl8169: add support for RTL8125d
Javen Xu [Tue, 17 Mar 2026 07:24:56 +0000 (15:24 +0800)] 
rtl8169: add support for RTL8125d

This patch adds support for RTL8125d. Its chip version is 0x6a.

Signed-off-by: Javen Xu <javen_xu@realsil.com.cn>
[jf: add missing comma]
Signed-off-by: Jerome Forissier <jerome.forissier@arm.com>
9 days agonet: lwip: nfs: fix buffer overflow when using symlinks
Pranav Tilak [Mon, 23 Mar 2026 09:44:14 +0000 (15:14 +0530)] 
net: lwip: nfs: fix buffer overflow when using symlinks

When resolving a symlink, nfs_path points into a heap allocated buffer
which is just large enough to hold the original path with no extra
space. If the symlink target name is longer than the original
filename, the write goes beyond the end of the buffer corrupting
heap memory.

Fix this by ensuring nfs_path always points to a buffer large enough
to accommodate the resolved symlink path.

Fixes: 230cf3bc2776 ("net: lwip: nfs: Port the NFS code to work with lwIP")
Signed-off-by: Pranav Tilak <pranav.vinaytilak@amd.com>
Acked-by: Jerome Forissier <jerome.forissier@arm.com>
Reviewed-by: Jerome Forissier <jerome.forissier@arm.com>
9 days agonet: lwip: nfs: Add missing dependency
Tom Rini [Fri, 20 Mar 2026 20:53:29 +0000 (14:53 -0600)] 
net: lwip: nfs: Add missing dependency

In order to use NFS with lwIP we need to select PROT_UDP_LWIP.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jerome Forissier <jerome.forissier@arm.com>
9 days agonet: Rework dependencies around NET/NET_LWIP and NETDEVICES
Tom Rini [Fri, 20 Mar 2026 20:53:27 +0000 (14:53 -0600)] 
net: Rework dependencies around NET/NET_LWIP and NETDEVICES

Functionally, both networking stacks require DM_ETH. This is because
they both also require some networking devices to be enabled. Express
this more correctly by having both NET and NET_LWIP select NETDEVICES.
In turn NETDEVICES no longer depends on NET or NET_LWIP as it's not
prompted anymore.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Jerome Forissier <jerome.forissier@arm.com>
9 days agophy: micrel: ksz90x1: Issue PHY soft reset during configuration
Boon Khai Ng [Thu, 12 Mar 2026 11:22:47 +0000 (19:22 +0800)] 
phy: micrel: ksz90x1: Issue PHY soft reset during configuration

- Add a call to phy_reset() in ksz9031_config() to ensure the PHY is
  properly reset during initialization.
- This clears the power-down bit and ensures the PHY recovers correctly
  after Linux reboot.

Tested on Agilex5 hardware with KSZ90X1 PHY.

Signed-off-by: Boon Khai Ng <boon.khai.ng@altera.com>
9 days agonet: dwc_eth_xgmac: Move DMA reset and pad calibration after PHY init
Boon Khai Ng [Thu, 12 Mar 2026 11:22:46 +0000 (19:22 +0800)] 
net: dwc_eth_xgmac: Move DMA reset and pad calibration after PHY init

- Move DMA software reset and pad calibration in xgmac_start() to occur
  after the PHY is initialized and connected.
- This ensures the PHY is ready before performing these operations,
  which is necessary for proper recovery after reboot.

This change fixes issues where the PHY did not recover from power-down
state after a Linux reboot, for the board using Micrel KSZ90x1 PHY.

Signed-off-by: Boon Khai Ng <boon.khai.ng@altera.com>
9 days agonet: Rework some symbol dependencies
Tom Rini [Tue, 17 Mar 2026 01:24:23 +0000 (19:24 -0600)] 
net: Rework some symbol dependencies

As exposed by "make randconfig", we have a few dependency issues with
some network drivers:
- Both HIFEMAC_ETH and HIGMACV300_ETH functionally require both DM and
  OF_CONTROL. Further, HIFEMAC_ETH needs DM_CLK not just CLK to be
  selected.
- BNXT_ETH deals with it's PCI requirement in a backwards way. The
  symbol PCI_INIT_R is board specific, PCI alone is required to build.

Signed-off-by: Tom Rini <trini@konsulko.com>
9 days agonet: pcs-airoha: fix allyesconfig building
Mikhail Kshevetskiy [Sun, 15 Mar 2026 07:47:57 +0000 (10:47 +0300)] 
net: pcs-airoha: fix allyesconfig building

Airoha PCS driver depends on ARCH_AIROHA, so it should not be built
by allyesconfig configuration.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
9 days agonet: pcs-airoha: unify code using SCU regmap helper
Mikhail Kshevetskiy [Sun, 15 Mar 2026 07:47:56 +0000 (10:47 +0300)] 
net: pcs-airoha: unify code using SCU regmap helper

Use common code to get CHIP_SCU registers instead of driver one.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
9 days agonet: airoha: probe airoha switch mdio on airoha_eth probing
Mikhail Kshevetskiy [Sun, 15 Mar 2026 07:47:55 +0000 (10:47 +0300)] 
net: airoha: probe airoha switch mdio on airoha_eth probing

Airoha switch mdio maybe used not only by GDM1, but also by other GDM
ports (ex: as21xxx phy connected to GDM2 port). So it's better probe
airoha switch mdio a bit early in the airoha_eth_probe() code.

Also remove useless eth_phy_set_mdio_bus() call and related code.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>
10 days agoconfigs: imx93-phycore_defconfig: Enable CMD_USB_MASS_STORAGE
Wadim Egorov [Tue, 17 Mar 2026 10:07:03 +0000 (11:07 +0100)] 
configs: imx93-phycore_defconfig: Enable CMD_USB_MASS_STORAGE

This allows us to expose MMC devices to the host for easy
flashing via USB.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Primoz Fiser <primoz.fiser@norik.com>
10 days agoconfigs: phycore_am62x_a53_defconfig: Enable CMD_USB_MASS_STORAGE
Wadim Egorov [Tue, 17 Mar 2026 10:07:02 +0000 (11:07 +0100)] 
configs: phycore_am62x_a53_defconfig: Enable CMD_USB_MASS_STORAGE

This allows us to expose MMC devices to the host for easy
flashing via USB.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
10 days agoconsole: Prefer currently selected serial console as stdio device
Marek Vasut [Tue, 17 Mar 2026 02:17:40 +0000 (03:17 +0100)] 
console: Prefer currently selected serial console as stdio device

Adjust the scan for default console stdio device to prefer the
currently selected serial device. This is useful in combination
with CONFIG_SERIAL_PROBE_ALL=y, in which case the system would
instantiate all serial devices as stdio devices in the order in
which they are listed in control DT. The currently selected serial
device may not be the first device listed in DT, in which case the
current console_init_r() implementation unexpectedly switches to
another serial console after listing stderr using "Err:" line, and
just before showing U-Boot shell, which is not the desired behavior.

The scan now iterates over the entire list of stdio devices. If the
current iterator stdio device is the current serial device, or there
is no input or output stdio device assigned to the input or output
stream yet, then the current iterator stdio device is assigned to that
stream. This way, the first suitable stdio device is assigned to the
stream, but the current serial console stdio device can override that
assignment.

As a small optimization, if the current iterator stdio device is the
current serial device and both input and output streams as assigned,
then the loop can terminate, because the current serial device has a
chance to be used as a stdio device at this point.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
10 days agocore: Rework REGMAP symbols implementation
Tom Rini [Tue, 17 Mar 2026 01:24:19 +0000 (19:24 -0600)] 
core: Rework REGMAP symbols implementation

As exposed by "make randconfig", we have an issue with the dependencies
for REGMAP (and xPL variants). As this is a library function, it should
always be selected and not depended on by other functionality. This is
largely done correctly today, so just correct the few outliers.

Acked-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agousb: isp1760: Correct dependencies for USB_ISP1760
Tom Rini [Tue, 17 Mar 2026 01:24:16 +0000 (19:24 -0600)] 
usb: isp1760: Correct dependencies for USB_ISP1760

As exposed by "make randconfig", we have an issue with the dependencies
for USB_ISP1760. It depends on DM && OF_CONTROL being set and
functionally requires REGMAP. As part of fixing that issue, we change
"tristate" to "bool" and remove mentions of module support as that's not
a thing in U-Boot.

Reviewed-by: Marek Vasut <marek.vasut+usb@mailbox.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agotest: Correct dependencies for SPL_UNIT_TEST
Tom Rini [Tue, 17 Mar 2026 01:24:54 +0000 (19:24 -0600)] 
test: Correct dependencies for SPL_UNIT_TEST

As exposed by "make randconfig", we have an issue with the dependencies
for SPL_UNIT_TEST. In order to test SPL_DM_DEVICE_REMOVE we also need to
have ensured that SPL_DM is enabled, so select that as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agotimer: Correct dependencies for SPL_TIMER
Tom Rini [Tue, 17 Mar 2026 01:24:44 +0000 (19:24 -0600)] 
timer: Correct dependencies for SPL_TIMER

As exposed by "make randconfig", we have an issue with the dependencies
for SPL_TIMER. This depends not just on SPL but also SPL_DM to function,
so add that.

Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agopinctrl: Correct dependencies for PINCTRL_TH1520
Tom Rini [Tue, 17 Mar 2026 01:24:41 +0000 (19:24 -0600)] 
pinctrl: Correct dependencies for PINCTRL_TH1520

As exposed by "make randconfig", we have an issue with the dependencies
for PINCTRL_TH1520. It really needs to depend on PINCTRL_GENERIC rather
than select it, and PINCTRL_GENERIC in turn already depends on
PINCTRL_FULL.

Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agomisc: Correct dependencies on QCOM_GENI
Tom Rini [Tue, 17 Mar 2026 01:24:39 +0000 (19:24 -0600)] 
misc: Correct dependencies on QCOM_GENI

As exposed by "make randconfig", we have an issue with the dependencies
for QCOM_GENI. The symbol PARTITION_TYPE_GUID depends on EFI_PARTITION
and this driver cannot function without both being set, so select that
as well.

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agoinput: Correct dependencies for BUTTON_KEYBOARD
Tom Rini [Tue, 17 Mar 2026 01:24:37 +0000 (19:24 -0600)] 
input: Correct dependencies for BUTTON_KEYBOARD

As exposed by "make randconfig", we have an issue with the dependencies
for BUTTON_KEYBOARD. This needs to also depend on DM_GPIO, and then
select BUTTON as well as BUTTON_GPIO, in order to meet all its
requirements.

Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agoSPL: Rework logic around SPL_BLK_FS (and SPL_NVME)
Tom Rini [Tue, 17 Mar 2026 01:24:31 +0000 (19:24 -0600)] 
SPL: Rework logic around SPL_BLK_FS (and SPL_NVME)

As exposed by "make randconfig", we have an issue around SPL_BLK_FS.
This is functionally a library type symbol that should be selected when
required and select what it needs. Have SPL_BLK_FS select SPL_FS_LOADER
and then SPL_NVME will now correctly select SPL_FS_LOADER via
SPL_BLK_FS.

Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agoboot: Update dependencies for some UPL options
Tom Rini [Tue, 17 Mar 2026 01:24:29 +0000 (19:24 -0600)] 
boot: Update dependencies for some UPL options

As exposed by "make randconfig", we have an issue around SPL_UPL. This
depends on SPL_LIBGENERIC_SUPPORT indirectly. In turn, SPL_UPL_OUT needs
to next depend on SPL_UPL.

Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agoboot: Update tests around network symbols in BOOT_DEFAULTS_CMDS
Tom Rini [Tue, 17 Mar 2026 01:24:28 +0000 (19:24 -0600)] 
boot: Update tests around network symbols in BOOT_DEFAULTS_CMDS

As exposed by "make randconfig", we have an issues around a number of
symbols in BOOT_DEFAULTS_CMDS. Due to the nature of how we currently
handle other networking related command options, we need to be testing
for "!NO_NET" (which is the symbol for no networking stack) or "NET ||
NET_LWIP" rather than CMD_NET alone. For consistency and clarity here
use "CMD_NET && !NO_NET" here.

Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agosysreset: Rework tests around SYSRESET_CMD_POWEROFF
Tom Rini [Tue, 17 Mar 2026 01:24:24 +0000 (19:24 -0600)] 
sysreset: Rework tests around SYSRESET_CMD_POWEROFF

As exposed by "make randconfig", we have an issue around how
SYSRESET_CMD_POWEROFF is typically selected. We cannot rely only on
CMD_POWEROFF as SYSRESET_CMD_POWEROFF must also be tested for its own
dependency of SYSRESET.

Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agoxPL FIT: Rework SPL_FIT dependencies
Tom Rini [Tue, 17 Mar 2026 01:24:21 +0000 (19:24 -0600)] 
xPL FIT: Rework SPL_FIT dependencies

As exposed by "make randconfig", we have xPL_FIT select'ing
xPL_OF_CONTROL, and that in turn requires xPL_LIBGENERIC_SUPPORT. The
most reasonable solution here is to have xPL_FIT select
xPL_LIBGENERIC_SUPPORT.

Signed-off-by: Tom Rini <trini@konsulko.com>
10 days agoFIT: Image pre-load signature support must select not depends on FIT_SIGNATURE
Tom Rini [Mon, 16 Mar 2026 01:25:11 +0000 (19:25 -0600)] 
FIT: Image pre-load signature support must select not depends on FIT_SIGNATURE

The options to enable pre-load signature support (full U-Boot or in SPL)
must depend on FIT_SIGNATURE being enabled, and not select it.

Signed-off-by: Tom Rini <trini@konsulko.com>
13 days agoarm: relocate: Introduce data-only relocation mode
Marek Vasut [Sun, 15 Mar 2026 23:54:05 +0000 (00:54 +0100)] 
arm: relocate: Introduce data-only relocation mode

Introduce new mode of relocation which relocates only data, not code.
This is mainly meant to relocate data to read-write portion of the RAM,
while the code remains in read-only portion of the RAM from which it is
allowed to execute. This split configuration is present on various secure
cores.

The result of the relocation is U-Boot running at its original address,
data relocated to the end of DRAM, but with added read-write area offset.
The U-Boot binary area is not reserved from the end of the DRAM in this
relocation mode, because U-Boot itself is not relocated.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
13 days agoarm: Drop unused __XSCALE__ section
Marek Vasut [Sun, 15 Mar 2026 23:53:05 +0000 (00:53 +0100)] 
arm: Drop unused __XSCALE__ section

The code in the __XSCALE__ section is unused, since there is no more
XScale support in U-Boot. Remove the stale code. No functional change.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>