]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
2 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks 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>
3 weeks agoarm: Introduce current_pl() on ARM32 and compatibility current_el()
Marek Vasut [Sun, 15 Mar 2026 23:50:33 +0000 (00:50 +0100)] 
arm: Introduce current_pl() on ARM32 and compatibility current_el()

The ARM32 has PLx Privilege Levels instead of Exception Levels present
on ARM64. Introduce current_pl() function which reports the current PL
on ARM32.

Introduce current_el() for ARM32 as well and current_pl() for ARM64
which each call the other matching function. This is mainly mean to
allow code like this to compile and retain compile time code coverage:

if (IS_ENABLED(CONFIG_ARM64) && current_el() != 3) { ... }
if (!IS_ENABLED(CONFIG_ARM64) && current_pl() != 0) { ... }

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
3 weeks agocmd: part: add part dupcheck subcommand
Padmarao Begari [Sun, 15 Mar 2026 13:15:29 +0000 (18:45 +0530)] 
cmd: part: add part dupcheck subcommand

Add a 'part dupcheck' subcommand that scans all block devices probed
in U-Boot and reports any partitions sharing the same PARTUUID or
PARTLABEL. This helps detect situations where the same disk image has
been flashed onto multiple boot devices (e.g., USB stick and UFS),
which can lead to unpredictable boot behavior. Duplicate
PARTUUIDs break UUID-based partition lookup in Linux, and duplicate
PARTLABELs cause the wrong partition to be silently selected in
bootscripts that reference partitions by name.

A single collection pass iterates over all block devices using
blk_foreach_probe() and records every partition that carries a UUID
or label into a dynamically allocated alist of struct part_seen
entries (UUID string, name string, device pointer, partition number).

Duplicates are detected by calling detect_duplicates() twice, once
for UUIDs and once for labels. Each call sorts the list with qsort()
using a comparator that places empty fields at the end, then performs
a single linear pass to identify consecutive equal entries as
duplicate groups. Each group is reported with the device name and
partition number of every copy, followed by a per-field summary
count. Per-field counts are used consistently in both the
duplicate-found and no-duplicates paths.

Example output (with duplicates):

=> part dupcheck
Warning: duplicate PARTUUID 1234abcd-01 (2 copies)
  found on usb_mass_storage.lun0:1
  found on ufs_scsi.id0lun0:1
Found 1 duplicate PARTUUID(s) (2 total copies) among 4 partitions

Warning: duplicate PARTLABEL primary (2 copies)
  found on usb_mass_storage.lun0:1
  found on ufs_scsi.id0lun0:1
Found 1 duplicate PARTLABEL(s) (2 total copies) among 4 partitions

Example output (mixed: UUID duplicates, no label duplicates):

=> part dupcheck
Warning: duplicate PARTUUID 1234abcd-01 (2 copies)
  found on usb_mass_storage.lun0:1
  found on ufs_scsi.id0lun0:1
Found 1 duplicate PARTUUID(s) (2 total copies) among 4 partitions
No duplicate PARTLABELs found (3 labels)

Example output (no duplicates):

=> part dupcheck
No duplicate PARTUUIDs or PARTLABELs found (4 UUIDs, 3 labels)

The CONFIG_CMD_PART_DUPCHECK Kconfig option (depends on
CMD_PART and BLK) controls inclusion of this subcommand and is
disabled by default.

Signed-off-by: John Toomey <john.toomey@amd.com>
Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
3 weeks agofs: fat: Refactor dirty flag handling
Daniel Palmer [Tue, 10 Mar 2026 22:06:18 +0000 (07:06 +0900)] 
fs: fat: Refactor dirty flag handling

Refactor the dirty flag handling a little bit so an inline
function is called instead of directly stuffing a value into
the variable.

This allows variable that holds the flag to be completely removed
if its not used i.e. CONFIG_FAT_WIRTE=n

Signed-off-by: Daniel Palmer <daniel@thingy.jp>
3 weeks agoRemove confusing NULL from error message
Ludwig Nussel [Tue, 10 Mar 2026 15:58:27 +0000 (16:58 +0100)] 
Remove confusing NULL from error message

If no signature could be verified and the loop terminates, the iterator
'noffset' has no meaningful value so name yields NULL.

Signed-off-by: Ludwig Nussel <ludwig.nussel@siemens.com>
3 weeks agoAdd back debug output of hashed nodes
Ludwig Nussel [Tue, 10 Mar 2026 15:58:26 +0000 (16:58 +0100)] 
Add back debug output of hashed nodes

Commit 2092322b31cc ("boot: Add fit_config_get_hash_list() to build
signed node list") removed printing the list of hashed nodes during
verification. Add it back to have a chance to compare the list when
debugging.

Signed-off-by: Ludwig Nussel <ludwig.nussel@siemens.com>
3 weeks agoMerge tag 'xilinx-for-v2026.07-rc1-v2' of https://source.denx.de/u-boot/custodians...
Tom Rini [Fri, 27 Mar 2026 18:11:33 +0000 (12:11 -0600)] 
Merge tag 'xilinx-for-v2026.07-rc1-v2' of https://source.denx.de/u-boot/custodians/u-boot-microblaze into next

AMD/Xilinx/FPGA changes for v2026.07-rc1 v2

Kconfig:
- Correct XILINX_TIMER entry
- Rework TARGET_MICROBLAZE_GENERIC
- Fix CPU_MICROBLAZE PVR logic
- Remove non existing SPL_BINMAN_FDT

i2c:
- Wire pca9848 support

spi/cadence-qspi:
- Disable DAC mode
- Do reset pulse

net/gem:
- Disable broadcast packets
- Clear TXSR transfer complete
- Add support for dma-coherent

versal2:
- Enable GIC600 support
- Fix UFS distro boot wiring

3 weeks agoMerge tag 'doc-2026-04-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 27 Mar 2026 15:20:45 +0000 (09:20 -0600)] 
Merge tag 'doc-2026-04-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request doc-2026-04-rc6

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

Documentation:

* TI boards
  - fix OP-TEE args
  - fix incorrect labels for boot switches
* Fix typo in pstore documentation.
* Fix document references pointing to replaced uImage.FIT.
* buildman: Add missing :: for examples.
* overlay-fdt-boot: .dtbos do not need load addresses.
* When building the documentation use sys.path.append for pytests.

3 weeks agocpu: microblaze: Fix unmet direct dependencies for XILINX_MICROBLAZE0_PVR
Michal Simek [Tue, 17 Mar 2026 16:26:22 +0000 (17:26 +0100)] 
cpu: microblaze: Fix unmet direct dependencies for XILINX_MICROBLAZE0_PVR

As exposed by "make randconfig", CPU_MICROBLAZE uses select to
force-enable XILINX_MICROBLAZE0_PVR, but that symbol depends on
TARGET_MICROBLAZE_GENERIC. The select bypasses this dependency chain,
triggering a Kconfig warning:

  WARNING: unmet direct dependencies detected for XILINX_MICROBLAZE0_PVR
    Depends on [n]: MICROBLAZE [=y] && TARGET_MICROBLAZE_GENERIC [=n]
    Selected by [y]:
    - CPU_MICROBLAZE [=y] && CPU [=y] && MICROBLAZE [=y]

Change XILINX_MICROBLAZE0_PVR from select to depends on, so that the
CPU driver is only available when PVR support has been explicitly
enabled.

Fixes: 816226d27efa ("cpu: add CPU driver for microblaze")
Reported-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/61ddd555f58ef5169c48b190423640d949e4aad1.1773764781.git.michal.simek@amd.com
3 weeks agodoc: overlay-fdt-boot: .dtbos do not need load addresses
Rasmus Villemoes [Tue, 17 Mar 2026 13:13:36 +0000 (14:13 +0100)] 
doc: overlay-fdt-boot: .dtbos do not need load addresses

The requirement that .dtbos have load addresses in the FIT image
vanished five years ago with

  4c531d9f58b ("fit: Load DTO into temporary buffer and ignore load address")

Fix the documentation accordingly.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
3 weeks agodoc: board: ti: fix incorrect labels for boot switches
Anshul Dalal [Fri, 13 Mar 2026 09:41:44 +0000 (15:11 +0530)] 
doc: board: ti: fix incorrect labels for boot switches

The labels for the boot mode switches were incorreclty documented for
some TI boards, this patch fixes them as per the official user guides
linked below:

  AM62x     https://www.ti.com/lit/ug/spruj40e/spruj40e.pdf
  AM62dx    https://www.ti.com/lit/ug/sprujg2/sprujg2.pdf
  AM62ax    https://www.ti.com/lit/ug/spruj66b/spruj66b.pdf
  AM62px    https://www.ti.com/lit/ug/spruj40e/spruj40e.pdf
  AM6254atl https://www.ti.com/lit/ug/spruja1a/spruja1a.pdf

Signed-off-by: Anshul Dalal <anshuld@ti.com>
3 weeks agodoc: board: fix OPTEE args for TI SoCs
Anshul Dalal [Thu, 12 Mar 2026 09:32:49 +0000 (15:02 +0530)] 
doc: board: fix OPTEE args for TI SoCs

CFG_WITH_SOFTWARE_PRNG=y was added as an OPTEE argument to workaround
some bugs related to TRNG which have been fixed now[1]. Therefore this
patch drops the redundant argument from the documentation.

[1]: https://github.com/OP-TEE/optee_os/commit/e313f4765fd0478bb66985827441411793433773

Signed-off-by: Anshul Dalal <anshuld@ti.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com> # Toradex Verdin AM62
3 weeks agodoc: Use sys.path.append for pytests being found
Tom Rini [Mon, 9 Mar 2026 18:09:52 +0000 (12:09 -0600)] 
doc: Use sys.path.append for pytests being found

Rather than having our "docs" build tagets modify PTYHONPATH, have
doc/conf.py append the required paths at runtime instead. This will
ensure that our builds from readthedocs will also find all of the
required files.

Signed-off-by: Tom Rini <trini@konsulko.com>
3 weeks agodoc/buildman: fix missing :: on examples
David Lechner [Fri, 6 Mar 2026 19:52:49 +0000 (13:52 -0600)] 
doc/buildman: fix missing :: on examples

Fix 4 instances in buildman.rst where examples were missing :: for
proper formatting. Three cases just had a single : and in one case,
: didn't make grammatical sense, so it gets a stand-alone :: along
with fixing the indent.

Signed-off-by: David Lechner <dlechner@baylibre.com>
3 weeks agodoc: pstore: fix typo
Aristo Chen [Fri, 27 Feb 2026 16:15:06 +0000 (16:15 +0000)] 
doc: pstore: fix typo

Use "parameters have been set" and "they need" for correct grammar
in the pstore documentation.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
3 weeks agotreewide: fix uImage.FIT document paths
Daniel Golle [Fri, 27 Feb 2026 00:03:29 +0000 (00:03 +0000)] 
treewide: fix uImage.FIT document paths

Commit 488445cefa1 ("doc: Move FIT into its own directory") moved the
documentation in doc/uImage.FIT to doc/usage/fit, subsequently all
documents and example sources have been converted to reStructuredText.

Fix (almost) all of the remaining occurrences of the old path and
filenames across the tree.

The exception is doc/uImage.FIT/command_syntax_extensions.txt which
apparently has been removed entirely, or at least I was unable to
locate where that document is now.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
3 weeks agoMerge patch series "Introduce SQUASHFS support in SPL"
Tom Rini [Thu, 26 Mar 2026 17:04:41 +0000 (11:04 -0600)] 
Merge patch series "Introduce SQUASHFS support in SPL"

Richard Genoud <richard.genoud@bootlin.com> says:

SquashFS has support in U-Boot, but not in SPL.

This series adds the possibility for the SPL to load files from SquashFS
partitions.
This is useful, for instance, when there's a SquashFS rootfs containing
U-Boot binary.

NB: falcon mode is not supported yet.

Link: https://lore.kernel.org/r/20260313104229.1555236-1-richard.genoud@bootlin.com
3 weeks agoMAINTAINERS: SQUASHFS: Add myself as co-maintainer
Richard Genoud [Fri, 13 Mar 2026 10:42:29 +0000 (11:42 +0100)] 
MAINTAINERS: SQUASHFS: Add myself as co-maintainer

I propose myself to maintain the squashfs files with João.

Also, reorder patterns in alphabetical order.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
3 weeks agoMAINTAINERS: SQUASHFS: update João Marcos Costa email
Richard Genoud [Fri, 13 Mar 2026 10:42:28 +0000 (11:42 +0100)] 
MAINTAINERS: SQUASHFS: update João Marcos Costa email

João is using his Bootlin address now.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
3 weeks agospl: mmc: support squashfs
Richard Genoud [Fri, 13 Mar 2026 10:42:27 +0000 (11:42 +0100)] 
spl: mmc: support squashfs

spl_mmc_do_fs_boot supports now loading an image from squashfs.

Also, convert #if defined(CONFIG_SPL_xx) to if (CONFIG_IS_ENABLED(xx))

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
3 weeks agospl: add squashfs support
Richard Genoud [Fri, 13 Mar 2026 10:42:26 +0000 (11:42 +0100)] 
spl: add squashfs support

Implement spl_load_image_sqfs() in spl code.

This will be used in MMC to read a file from a squashfs partition.

Also, loosen squashfs read checks on file size by not failing when a
bigger size than the actual file size is requested. (Just read the file)
This is needed for FIT loading, because the length is ALIGNed.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
3 weeks agofs/squashfs: squashfs.h: include file should be self dependent
Richard Genoud [Fri, 13 Mar 2026 10:42:25 +0000 (11:42 +0100)] 
fs/squashfs: squashfs.h: include file should be self dependent

Otherwise, we get a lot of errors when including this file.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
3 weeks agofs/squashfs: sqfs_decompressor: simplify code
Richard Genoud [Fri, 13 Mar 2026 10:42:24 +0000 (11:42 +0100)] 
fs/squashfs: sqfs_decompressor: simplify code

Switch to if (CONFIG_IS_ENABLED()) instead of #if when possible and
remove unnecessary cases.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
3 weeks agofs/squashfs: fix sqfs_decompressor.c build in SPL
Richard Genoud [Fri, 13 Mar 2026 10:42:23 +0000 (11:42 +0100)] 
fs/squashfs: fix sqfs_decompressor.c build in SPL

CONFIG_IS_ENABLED() must be used in place of IS_ENABLED() for config
options that have a _SPL_ counterpart.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
3 weeks agoMerge tag 'fwu-next-26032026' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Thu, 26 Mar 2026 17:03:07 +0000 (11:03 -0600)] 
Merge tag 'fwu-next-26032026' of https://source.denx.de/u-boot/custodians/u-boot-tpm into next

CI: https://source.denx.de/u-boot/custodians/u-boot-tpm/-/pipelines/29677

Add a new fwumdata tool to allows users to read, display, and modify FWU
(Firmware Update) metadata from Linux userspace. It provides
functionality similar to fw_printenv/fw_setenv but for FWU metadata.
Users can view metadata, change active/previous bank indices, modify
bank states, and set image acceptance flags. Configuration is done via
fwumdata.config file.

3 weeks agoMerge tag 'rpi-2026.04-rc5' of https://source.denx.de/u-boot/custodians/u-boot-raspbe...
Tom Rini [Thu, 26 Mar 2026 15:02:05 +0000 (09:02 -0600)] 
Merge tag 'rpi-2026.04-rc5' of https://source.denx.de/u-boot/custodians/u-boot-raspberrypi

Updates for RPi for 2026.04-rc5:

- rpi: Update the naming for bcm2712 SoC RevD naming
- arm: bcm: Include missing errno.h

3 weeks agorpi: Update the naming for bcm2712 SoC RevD naming
Peter Robinson [Fri, 13 Mar 2026 17:08:36 +0000 (17:08 +0000)] 
rpi: Update the naming for bcm2712 SoC RevD naming

The downstream Raspberry Pi uses two namings for the revD
SoC device trees, both bcm2712d0-rpi-5-b and bcm2712-d-rpi-5-b
but it seems upstream has settled on just the later, so lets
use that as it's the name that maps both upstream and downstream.

Fixes: c15a7919725 ("board/raspberrypi: add bcm2712d0-rpi-5-b for Raspberry Pi 5")
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
3 weeks agoarm: bcm: Include missing errno.h
Marek Vasut [Sun, 15 Mar 2026 23:58:06 +0000 (00:58 +0100)] 
arm: bcm: Include missing errno.h

The msg.c file uses EIO macro defined in errno.h , include errno.h
to avoid build failure:

"
arch/arm/mach-bcm283x/msg.c: In function 'bcm2835_power_on_module':
arch/arm/mach-bcm283x/msg.c:73:25: error: 'EIO' undeclared (first use in this function)
   73 |                 return -EIO;
      |                         ^~~
"

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
3 weeks agotools: mkfwumdata: Remove dependency on fwu_mdata.h header
Kory Maincent [Mon, 23 Feb 2026 13:18:40 +0000 (14:18 +0100)] 
tools: mkfwumdata: Remove dependency on fwu_mdata.h header

The dependency on fwu_mdata.h creates unnecessary configuration
requirements. To generate metadata V1, CONFIG_FWU_MDATA_V1 must be
enabled, which in turn requires enabling FWU_MULTI_BANK_UPDATE,
EFI_CAPSULE_ON_DISK, PARTITION_TYPE_GUID, and other unrelated configs.
This is not suitable for a simple standalone tool.

Additionally, even with the "-v 1" option to generate V1 metadata, the
tool will still include the firmware store description if
CONFIG_FWU_MDATA_V1 is not enabled. This structure should only be
present in metadata V2.

Replace the fwu_mdata.h dependency with the new fwumdata header to make
the tool compatible with both V1 and V2 without requiring any defconfig
changes. This also uses the access helper functions from the header to
eliminate code duplication.

Acked-by: Sughosh Ganu <sughosh.ganu@arm.com>
Tested-by: Sughosh Ganu <sughosh.ganu@arm.com>
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 weeks agotools: Add support for fwumdata tool
Kory Maincent [Mon, 23 Feb 2026 13:18:39 +0000 (14:18 +0100)] 
tools: Add support for fwumdata tool

Add a new fwumdata tool to allows users to read, display, and modify FWU
(Firmware Update) metadata from Linux userspace. It provides functionality
similar to fw_printenv/fw_setenv but for FWU metadata. Users can view
metadata, change active/previous bank indices, modify bank states, and set
image acceptance flags. Configuration is done via fwumdata.config file.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 weeks agotools: mkfwumdata: Add bank count validation for FWU metadata v2
Kory Maincent [Mon, 23 Feb 2026 13:18:38 +0000 (14:18 +0100)] 
tools: mkfwumdata: Add bank count validation for FWU metadata v2

The FWU metadata specification version 2 supports a maximum of 4 banks.
Add validation to enforce this limit and prevent creation of non-compliant
metadata structures when using version 2.

Without this check, users could inadvertently create invalid metadata by
specifying more than 4 banks, leading to potential compatibility issues
with FWU-compliant firmware update implementations.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 weeks agotools: mkfwumdata: Improve error message specificity
Kory Maincent [Mon, 23 Feb 2026 13:18:37 +0000 (14:18 +0100)] 
tools: mkfwumdata: Improve error message specificity

Replace the generic error message with a more informative one.
This helps users quickly understand the correct command-line argument
format when the tool reports an error.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 weeks agotools: Reorganize mkfwumdata tool into fwumdata_src directory
Kory Maincent [Mon, 23 Feb 2026 13:18:36 +0000 (14:18 +0100)] 
tools: Reorganize mkfwumdata tool into fwumdata_src directory

Update FWU metadata-related tools by moving mkfwumdata.c into a new
tools/fwumdata_src/ directory structure. This refactoring prepares for the
addition of the fwumdata runtime tool, which will allow editing FWU
metadata directly from the target.

The Kconfig and Makefile entries are also moved into separate files within
the new directory (Kconfig and fwumdata.mk respectively) to keep all FWU
metadata tool configurations together and improve maintainability.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 weeks agotools: gitignore: Add mkfwumdata to the git ignore file
Kory Maincent [Mon, 23 Feb 2026 13:18:35 +0000 (14:18 +0100)] 
tools: gitignore: Add mkfwumdata to the git ignore file

mkfwumdata is a built image. Add it to .gitignore.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
3 weeks agoMerge patch series "test/py: gpio: cleanups and improvement"
Tom Rini [Wed, 25 Mar 2026 20:38:28 +0000 (14:38 -0600)] 
Merge patch series "test/py: gpio: cleanups and improvement"

David Lechner <dlechner@baylibre.com> says:

I wanted to do some quick tests to make sure gpios were working without
having to dig out a schematic. Which means I didn't want to set any GPIO
as an output first without checking. So the main point here is the last
patch which allows gpio_op_pin to be optional and skip the test instead
of failing with exception. This works similar to several other config
options that are already optional in this module.

I also noticed a few easy things to clean up while I was looking at the
file, so there are a couple of extra patches for that.

Link: https://lore.kernel.org/r/20260312-test-gpio-cleanup-v1-0-bcf549671eb1@baylibre.com
3 weeks agotest/py: gpio: allow omitting gpio_op_pin
David Lechner [Thu, 12 Mar 2026 20:33:41 +0000 (15:33 -0500)] 
test/py: gpio: allow omitting gpio_op_pin

Modify tests that make use of gpio_op_pin from env__gpio_dev_config to
be skipped if gpio_op_pin is not provided. This is useful in cases where
one might not be sure which GPIOs are safe to use as outputs that can be
toggled without causing problems.

Signed-off-by: David Lechner <dlechner@baylibre.com>
3 weeks agotest/py: gpio: removing trailing semicolons
David Lechner [Thu, 12 Mar 2026 20:33:40 +0000 (15:33 -0500)] 
test/py: gpio: removing trailing semicolons

Remove trailing semicolons in test_gpio.py. Python does not require
them and they are considered improper style.

Signed-off-by: David Lechner <dlechner@baylibre.com>