]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
4 days agoboot: pxe_utils: Add extension board devicetree overlay support
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:11 +0000 (17:45 +0100)] 
boot: pxe_utils: Add extension board devicetree overlay support

Add support for scanning and applying extension board devicetree
overlays during PXE boot. After loading the main board devicetree,
the system now scans for available extension boards and applies their
overlays automatically.

This enables dynamic hardware configuration for systems with extension
boards during boot scenarios which are using pxe_utils.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 days agoboot: extension: Move overlay apply custom logic to command level
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:10 +0000 (17:45 +0100)] 
boot: extension: Move overlay apply custom logic to command level

The extension_overlay_cmd environment variable approach is specific to
the U-Boot extension_board command, while other boot flows (pxe_utils,
bootstd) handle overlay loading differently.

Move the extension_overlay_cmd execution out of the core extension
framework to the command level. This decouples the framework from
command-specific behavior and prepares for future extension support
in other boot flows.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 days agoboot: Remove legacy extension board support
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:09 +0000 (17:45 +0100)] 
boot: Remove legacy extension board support

Remove the legacy extension board implementation now that all boards
have been converted to use the new UCLASS-based framework. This
eliminates lines of legacy code while preserving functionality
through the modern driver model approach.

Update the bootstd tests, due to the removal of extension hunter.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoboard: compulab: Convert imx8mm-cl-iot-gate to UCLASS extension framework
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:08 +0000 (17:45 +0100)] 
board: compulab: Convert imx8mm-cl-iot-gate to UCLASS extension framework

Migrate CompuLab imx8mm-cl-iot-gate board extension detection from legacy
implementation to the new UCLASS-based extension board framework.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoboard: sandbox: Convert extension support to UCLASS framework
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:07 +0000 (17:45 +0100)] 
board: sandbox: Convert extension support to UCLASS framework

Migrate sandbox extension board detection from legacy implementation to
the new UCLASS-based extension board framework.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 days agoboard: sandbox: Improve extension board scan implementation
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:06 +0000 (17:45 +0100)] 
board: sandbox: Improve extension board scan implementation

Enhance the extension board scanning code in sandbox with better error
handling and code organization.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 days agoboard: sunxi: Convert extension support to UCLASS framework
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:05 +0000 (17:45 +0100)] 
board: sunxi: Convert extension support to UCLASS framework

Migrate sunxi board extension detection from legacy implementation to
the new UCLASS-based extension board framework.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoboard: sunxi: Refactor CHIP board extension code
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:04 +0000 (17:45 +0100)] 
board: sunxi: Refactor CHIP board extension code

Clean up and improve code structure in the sunxi CHIP board extension
detection implementation.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoboard: ti: Convert cape detection to use UCLASS framework
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:03 +0000 (17:45 +0100)] 
board: ti: Convert cape detection to use UCLASS framework

Migrate TI board cape detection from legacy extension support to the
new UCLASS-based extension board framework.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoboard: ti: Refactor cape detection code for readability
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:02 +0000 (17:45 +0100)] 
board: ti: Refactor cape detection code for readability

Clean up and reorganize cape detection code structure for improved
maintainability and readability.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoboot: Add UCLASS support for extension boards
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:01 +0000 (17:45 +0100)] 
boot: Add UCLASS support for extension boards

Introduce UCLASS-based extension board support to enable more
standardized and automatic loading of extension board device tree
overlays in preparation for integration with bootstd and pxe_utils.

Several #if CONFIG_IS_ENABLED are used in cmd/extension_board.c to ease the
development but don't worry they are removed later in the series.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
4 days agoboot: Move extension board support from cmd/ to boot/
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:45:00 +0000 (17:45 +0100)] 
boot: Move extension board support from cmd/ to boot/

Relocate extension board support from cmd/ to boot/ directory in
preparation for converting the extension framework to use UCLASS.
Also improve code style by applying reverse xmas tree ordering.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoinclude: extension_board: Document the extension structure
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:44:59 +0000 (17:44 +0100)] 
include: extension_board: Document the extension structure

Add documentation to describe the extension structure.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoboard: compulab: Exclude compulab extension board detection from XPL builds
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:44:58 +0000 (17:44 +0100)] 
board: compulab: Exclude compulab extension board detection from XPL builds

Disable compulab extension board detection functionality in XPL (eXtended
Program Loader) images to reduce size and complexity in the early boot
stage.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoboard: sunxi: Exclude DIP detection from XPL builds
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:44:57 +0000 (17:44 +0100)] 
board: sunxi: Exclude DIP detection from XPL builds

Disable DIP detection functionality in XPL (eXtended Program Loader)
images to reduce size and complexity in the early boot stage.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoboard: ti: Fix CAPE_EEPROM_BUS_NUM Kconfig dependency
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:44:56 +0000 (17:44 +0100)] 
board: ti: Fix CAPE_EEPROM_BUS_NUM Kconfig dependency

The CAPE_EEPROM_BUS_NUM configuration option was incorrectly depending
on CMD_EXTENSION, which represents the extension board command. However,
the cape scan functionality can be built and used independently of the
command interface through the SUPPORT_EXTENSION_SCAN option.

Change the dependency from CMD_EXTENSION to SUPPORT_EXTENSION_SCAN to
properly reflect that the I2C bus configuration is needed for the cape
scan function itself, not specifically for the command.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoboard: ti: Exclude cape detection from xPL builds
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:44:55 +0000 (17:44 +0100)] 
board: ti: Exclude cape detection from xPL builds

Disable cape detection functionality in xPL images to reduce size and
complexity in the early boot stage.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
4 days agoMAINTAINERS: Add maintainer for extension board support
Kory Maincent (TI.com) [Thu, 30 Oct 2025 16:44:54 +0000 (17:44 +0100)] 
MAINTAINERS: Add maintainer for extension board support

Add myself as maintainer for the extension board support that was
originally added to track ongoing development and maintenance.

Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
4 weeks agoimx93_frdm: Fix USB vendor ID
Mathieu Dubois-Briand [Wed, 8 Oct 2025 09:08:16 +0000 (11:08 +0200)] 
imx93_frdm: Fix USB vendor ID

NXP manufacturing tools expect the device to have the NXP 0x1fc9 vendor
ID instead of 0x0525. This is the value already used by other i.MX8 and
i.MX9 boards.

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
4 weeks agoimx: kontron-sl-mx8mm: Convert to OF_UPSTREAM
Frieder Schrempf [Tue, 7 Oct 2025 08:16:10 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Convert to OF_UPSTREAM

Switch to OF_UPSTREAM to make use of the upstream devicetree.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Force default environment for serial loader boot
Eberhard Stoll [Tue, 7 Oct 2025 08:16:09 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Force default environment for serial loader boot

Enable CONFIG_ENV_IS_NOWHERE and force default environment when SoC
boots from serial loader. In this case the U-Boot environment cannot
be stored to flash with the 'saveenv' command.

This makes serial loader boot completely independent from any
environment stored in flash.

Signed-off-by: Eberhard Stoll <eberhard.stoll@kontron.de>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Autostart fastboot if booted from USB
Frieder Schrempf [Tue, 7 Oct 2025 08:16:08 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Autostart fastboot if booted from USB

This is useful for development and manufacturing setups as fastboot
can be used without requiring any user input on the device.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Enable USB hub on BL i.MX8MM OSM-S board
Frieder Schrempf [Tue, 7 Oct 2025 08:16:07 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Enable USB hub on BL i.MX8MM OSM-S board

Probe the USB hub on the BL i.MX8MM OSM-S board.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Enable standard boot and disable legacy distro boot
Frieder Schrempf [Tue, 7 Oct 2025 08:16:06 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Enable standard boot and disable legacy distro boot

The bootstd framework is the new way to support various bootflows
and media. Use it instead of legacy distro boot.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Enable multiple useful commands, drivers and features
Frieder Schrempf [Tue, 7 Oct 2025 08:16:05 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Enable multiple useful commands, drivers and features

Enable a bunch of useful features such as:

* Linux devicetree fixups
* devicetree overlay support
* secure boot dependencies
* commands (filesystems, disks, etc.)
* fastboot support
* USB storage/ethernet

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Export current env config to devicetree
Frieder Schrempf [Tue, 7 Oct 2025 08:16:04 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Export current env config to devicetree

This allows userspace tools like libubootenv to determine the
location of the currently used environment and select a
matching config.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Use eMMC boot part for environment if booting from eMMC
Frieder Schrempf [Tue, 7 Oct 2025 08:16:03 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Use eMMC boot part for environment if booting from eMMC

Depending on the MMC boot device, select the proper location for the
environment.

* SD card and eMMC main partition: use offsets from CONFIG_ENV_OFFSET
  and CONFIG_ENV_OFFSET_REDUND.
* eMMC boot partition: use offset -2*ENV_SIZE and -ENV_SIZE from the
  end of the partition.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Add support for EEPROM on OSM-S module
Frieder Schrempf [Tue, 7 Oct 2025 08:16:02 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Add support for EEPROM on OSM-S module

Enable config options to access the EEPROM on the OSM-S i.MX8MM
SoM module.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Enable fixed regulators
Frieder Schrempf [Tue, 7 Oct 2025 08:16:01 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Enable fixed regulators

Enable support for using fixed regulators from the devicetree and
auto enable them if requested.

This way U-Boot will enable the CARRIER_PWR_EN signal of the OSM
module automatically while initializing the board.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Remove deprecation warning for old modules
Frieder Schrempf [Tue, 7 Oct 2025 08:16:00 +0000 (10:16 +0200)] 
imx: kontron-sl-mx8mm: Remove deprecation warning for old modules

The module version this warning is referring to never really existed
except for in-house development and there is a conflict with the
I2C address used for detecting it and the I2C EEPROM of the latest
OSM-S module. Remove the check.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Enable SDP support for loading via USB
Frieder Schrempf [Tue, 7 Oct 2025 08:15:59 +0000 (10:15 +0200)] 
imx: kontron-sl-mx8mm: Enable SDP support for loading via USB

Enable everything that is required to load via USB. The SPL needs
SDP support so it can load the U-Boot proper image via USB after
it has been loaded via serial loader mode of the i.MX.

This way we can use the uuu tool for loading SPL and U-Boot
proper like this:

  uuu -brun flash.bin

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoimx: kontron-sl-mx8mm: Increase CONFIG_SPL_MAX_SIZE
Frieder Schrempf [Tue, 7 Oct 2025 08:15:58 +0000 (10:15 +0200)] 
imx: kontron-sl-mx8mm: Increase CONFIG_SPL_MAX_SIZE

The limit of 0x27000 (156 KiB) was valid at times the DDR firmware
required a fixed amount of 96 KiB of space. Now that we use binman
to include the DDR firmware it only needs around 57 KiB of space and
there is more room for the SPL.

Increase the max SPL size to 196 KiB so there is still 60 KiB for DDR
firmware. This allows us to enable USB and SDP support in SPL.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
4 weeks agoboard: phytec: phycore_imx8mp: Add rauc to bootmeths
Martin Schwan [Thu, 2 Oct 2025 11:20:37 +0000 (13:20 +0200)] 
board: phytec: phycore_imx8mp: Add rauc to bootmeths

Add rauc to bootmeths variable if BOOTMETH_RAUC is enabled. This is
setting a proper default for RAUC enabled systems.

Signed-off-by: Martin Schwan <m.schwan@phytec.de>
4 weeks agoMerge branch 'next'
Tom Rini [Mon, 6 Oct 2025 19:20:24 +0000 (13:20 -0600)] 
Merge branch 'next'

Merge the outstanding changes from the 'next' branch to master.

4 weeks agoPrepare v2025.10 v2025.10
Tom Rini [Mon, 6 Oct 2025 19:13:09 +0000 (13:13 -0600)] 
Prepare v2025.10

Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoMerge branch 'next' of git://source.denx.de/u-boot-usb into next next
Tom Rini [Sun, 5 Oct 2025 15:50:57 +0000 (09:50 -0600)] 
Merge branch 'next' of git://source.denx.de/u-boot-usb into next

- Make the i2c-bus property for an onboard USB hub optional

4 weeks agousb: onboard-hub: Make i2c-bus optional
Michal Simek [Wed, 1 Oct 2025 06:20:07 +0000 (08:20 +0200)] 
usb: onboard-hub: Make i2c-bus optional

DT binding doesn't mandate i2c-bus as required property because hub itself
doesn't need to have i2c connected.
It can be in standalone mode that only power regulator and reset should be
handled.
Or hub should be configured via spi interface.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
4 weeks agoglobal: Add expected space between '#include' and directive
Tom Rini [Sat, 4 Oct 2025 19:31:01 +0000 (13:31 -0600)] 
global: Add expected space between '#include' and directive

These files had '#include<file.h>' rather than '#include <file.h>' which
while functional is not the correct style.

Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agoclk: ti: fix K3 clock driver help texts
Yegor Yefremov [Mon, 22 Sep 2025 13:27:00 +0000 (15:27 +0200)] 
clk: ti: fix K3 clock driver help texts

Add "in SPL" to the SPL related driver help texts.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 weeks agoenv: fix typo in multiple Kconfig descriptions
Thomas Bonnefille [Wed, 24 Sep 2025 19:21:51 +0000 (21:21 +0200)] 
env: fix typo in multiple Kconfig descriptions

%s/environemt/environment

Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
4 weeks agoMerge patch series "Drop ATAGS for B&R boards"
Tom Rini [Fri, 3 Oct 2025 21:20:58 +0000 (15:20 -0600)] 
Merge patch series "Drop ATAGS for B&R boards"

Wolfgang Wallner <wolfgang.wallner@br-automation.com> says:

There was recently a discussion on which boards need ATAGS support.
The B&R boards which have this support enabled actualyl don't need it.
This patch series drops the settings from the relevant defconfigs.

Link: https://lore.kernel.org/r/20250919134308.122437-1-wolfgang.wallner@br-automation.com
4 weeks agocmd: spl: Remove ATAG support from this command
Tom Rini [Mon, 15 Sep 2025 19:05:48 +0000 (13:05 -0600)] 
cmd: spl: Remove ATAG support from this command

While we continue to have some systems which support extremely legacy
OS booting methods, we do not have use cases for supporting this in
Falcon mode anymore. Remove this support and references from the
documentation.

Co-developed-by: Anshul Dalal <anshuld@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
4 weeks agolinux/kernel.h: Update upper_NN_bits() and lower_NN_bits() macros
Marek Vasut [Mon, 22 Sep 2025 12:29:22 +0000 (14:29 +0200)] 
linux/kernel.h: Update upper_NN_bits() and lower_NN_bits() macros

Synchronize upper_NN_bits() and lower_NN_bits() macros with Linux 6.16
commit 118d777c4cb4 ("wordpart.h: Add REPEAT_BYTE_U32()"). This fixes the
lower_32_bits() macros and assures it works with 64bit systems correctly.
This also adds 16bit variants of these macros, which will be used by the
Airoha PHY driver.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
4 weeks agoconfigs: brcp170: Drop CONFIG_SUPPORT_PASSING_ATAGS
Wolfgang Wallner [Fri, 19 Sep 2025 13:43:02 +0000 (15:43 +0200)] 
configs: brcp170: Drop CONFIG_SUPPORT_PASSING_ATAGS

CONFIG_SUPPORT_PASSING_ATAGS is not needed for this board.

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
4 weeks agoconfigs: brcp150: Drop CONFIG_SUPPORT_PASSING_ATAGS
Wolfgang Wallner [Fri, 19 Sep 2025 13:43:01 +0000 (15:43 +0200)] 
configs: brcp150: Drop CONFIG_SUPPORT_PASSING_ATAGS

CONFIG_SUPPORT_PASSING_ATAGS is not needed for this board.

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
4 weeks agoconfigs: brcp1: Drop CONFIG_SUPPORT_PASSING_ATAGS
Wolfgang Wallner [Fri, 19 Sep 2025 13:43:00 +0000 (15:43 +0200)] 
configs: brcp1: Drop CONFIG_SUPPORT_PASSING_ATAGS

CONFIG_SUPPORT_PASSING_ATAGS is not needed for these boards.

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
4 weeks agoarm: armv8: remove redundant definition of mmu_status
Anshul Dalal [Tue, 16 Sep 2025 11:22:05 +0000 (16:52 +0530)] 
arm: armv8: remove redundant definition of mmu_status

mmu_status is used in io memcpy functions to prevent accesses to non
8-byte aligned addresses when the mmu is disabled. Though there is a
redundant definition enabled when icaches is turned off by setting
SYS_ICACHE_OFF.

This patch removes the redundant definition, allowing mmu_status to
properly report the status regardless of config settings. This shouldn't
be a problem since access to non 8-byte aligned data can be done
irrespective of icache state.

Fixes: 268f6ac1f95c ("arm64: Update memcpy_{from, to}io() helpers")
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
5 weeks agoRevert "fdt: Make sure there is no stale initrd left"
Sam Protsenko [Mon, 29 Sep 2025 22:19:26 +0000 (17:19 -0500)] 
Revert "fdt: Make sure there is no stale initrd left"

This reverts commit 9fe2e4b46458f9c4ec6b8115ebf18b4b26fe6127.

Commit 9fe2e4b46458 ("fdt: Make sure there is no stale initrd left")
introduces a regression in case when U-Boot transfers control to an EFI
app which acts as a subsequent bootloading program. Such an app might
try to set "linux,initrd-start" and "linux,initrd-end" fdt properties,
but by that time those properties are already removed by the code added
in the mentioned commit.

Particularly, the issue was observed on the E850-96 board where GBL EFI
app [1] can't run Android successfully anymore. More specifically, the
kernel can't see the ramdisk and panics with next messages:

    /dev/root: Can't open blockdev
    VFS: Cannot open root device "" or unknown-block(0,0): error -6
    Please append a correct "root=" boot option; ...
    Kernel panic - not syncing: VFS: Unable to mount root fs on
    unknown-block(0,0)

fdt_initrd() function (where initrd dts properties are removed) is
called two times:

1. First it's called by EFI boot manager (e.g. as a part of U-Boot
Standard Boot mechanism) when it's installing FDT:

    fdt_initrd
    image_setup_libfdt
    efi_install_fdt
    efi_bootmgr_run
    efi_mgr_boot

It's already enough for EFI app to malfunction. But then it's also
called second time:

2. From the EFI app, via EFI DT fixup protocol:

    fdt_initrd
    image_setup_libfdt
    efi_dt_fixup
    struct efi_dt_fixup_protocol efi_dt_fixup_prot = {
        .fixup = efi_dt_fixup
    };

See [2] for specific GBL code which sets those fdt properties and then
runs DT fixup protocol callback.

This issue was discussed [3], but no action was taken since then. Revert
this patch for now, until a proper solution can be found.

[1] https://source.android.com/docs/core/architecture/bootloader/generic-bootloader/gbl-dev
[2] https://android.googlesource.com/platform/bootable/libbootloader/+/refs/heads/gbl-mainline/gbl/libgbl/src/android_boot/mod.rs#208
[3] https://lists.denx.de/pipermail/u-boot/2025-July/593879.html

Fixes: 9fe2e4b46458 ("fdt: Make sure there is no stale initrd left")
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
5 weeks agoMerge tag 'doc-202510-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 3 Oct 2025 13:43:36 +0000 (07:43 -0600)] 
Merge tag 'doc-202510-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request doc-202510-rc6

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

* Update coding style to recommend b4 for patch submission
* pytest: Fix inline code and other formatting
* develop: fix grammar and syntax

5 weeks agodoc: pytest: Fix inline code and other formatting
Martin Schwan [Wed, 1 Oct 2025 07:44:37 +0000 (09:44 +0200)] 
doc: pytest: Fix inline code and other formatting

Mainly fix inline code and some other formatting mistakes. Inline code
uses double backticks `` in reStructuredText instead of single backticks
as in Markdown.

Also fix some smaller formatting issues, such as excess colons before
literal blocks.

Signed-off-by: Martin Schwan <m.schwan@phytec.de>
5 weeks agodoc: Update coding style to recommend b4 for patch submission
Javier Tia [Tue, 30 Sep 2025 12:53:28 +0000 (06:53 -0600)] 
doc: Update coding style to recommend b4 for patch submission

Replace references to patman with b4 as the recommended tool for
preparing and sending patches. b4 is widely adopted in the Linux kernel
community and U-Boot ships with configuration to simplify its use with
the project mailing list.

The updated guidelines describe how to prepare series with b4, handle
cover letters and recipient lists, run style checks, and send patches
safely. Instructions also highlight how to collect and apply review tags
before resending.

This change documents the preferred workflow for contributors and
ensures consistency with common practices across related upstream
communities.

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Signed-off-by: Javier Tia <javier.tia@linaro.org>
5 weeks agodoc: develop: fix grammar and syntax
Yegor Yefremov [Tue, 30 Sep 2025 11:08:39 +0000 (13:08 +0200)] 
doc: develop: fix grammar and syntax

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
5 weeks agoenv: spi: Fix gd->env_valid for the first write
Michal Simek [Mon, 22 Sep 2025 16:03:39 +0000 (18:03 +0200)] 
env: spi: Fix gd->env_valid for the first write

When both SPI environment locations are invalid (gd->env_valid ==
ENV_INVALID), the first call to saveenv writes to the primary location and
sets the active flag. However, the logic for updating gd->env_valid
incorrectly sets it to ENV_REDUND, which does not match the actual location
written. This causes the first two writes to target the same location, and
alternation only begins after the second write.

Update the logic to alternate gd->env_valid based on whether the last write
was to the primary or redundant location, ensuring the first write sets
ENV_VALID and subsequent writes alternate as expected. This aligns
env_valid with the actual storage location and fixes the alternation
sequence from the first write.

With this change, the "Valid environment" printout correctly reflects the
active location after each save, and the alternation between primary and
redundant locations works as intended from the start.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Acked-by: E Shattow <e@freeshell.de>
5 weeks agob4-config: Improve b4 config for correct operation
Andrew Goodbody [Wed, 1 Oct 2025 09:28:37 +0000 (10:28 +0100)] 
b4-config: Improve b4 config for correct operation

The recent change to .b4-config resulted in some expected recipients not
being added to the address lists. Rework the commands so that all
expected recipients are added while maintaining the ordering from the
first change.

Fixes: 26efc940c86 ("b4-config: configure `b4` for U-Boot")
Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
5 weeks agoMerge tag 'u-boot-dfu-next-20251001' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 2 Oct 2025 17:20:01 +0000 (11:20 -0600)] 
Merge tag 'u-boot-dfu-next-20251001' of https://source.denx.de/u-boot/custodians/u-boot-dfu into next

u-boot-dfu-next-20251001

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

Fastboot:
- Fix has-slot command when using nand back-end.

USB gadget:
- Add missing null checks to atmel, dwc2 drivers (smatch)
- Remove redundant check in dwc3 gadget (smatch)

5 weeks agoMerge tag 'u-boot-socfpga-next-20250930' of https://source.denx.de/u-boot/custodians...
Tom Rini [Tue, 30 Sep 2025 22:11:23 +0000 (16:11 -0600)] 
Merge tag 'u-boot-socfpga-next-20250930' of https://source.denx.de/u-boot/custodians/u-boot-socfpga into next

SoCFPGA updates for v2025.10:

CI: https://source.denx.de/u-boot/custodians/u-boot-socfpga/-/pipelines/27762

This pull request brings a set of updates across SoCFPGA platforms
covering Agilex5, Agilex7, N5X, and Stratix10. The changes include:

* Agilex5 enhancements:
  - USB3.1 enablement and DWC3 host driver support
  - System Manager register configuration for USB3
  - Watchdog timeout increase and SDMMC clock API integration
  - dcache handling improvements in SMC mailbox path
  - Enable SPL_SYS_DCACHE_OFF in defconfig

* Clock driver improvements:
  - Introduce dt-bindings header for Agilex clocks
  - Add enable/disable API and EMAC clock selection fixes
  - Replace manual shifts with FIELD_GET usage

* DDR updates:
  - IOSSM mailbox compatibility check
  - Correct DDR calibration status handling

* Device tree changes:
  - Agilex5: disable cache allocation for reads
  - Stratix10: add NAND IP node
  - Enable driver model watchdog
  - Enable USB3.1 node for Agilex5

* Config cleanups:
  - Simplify Agilex7 VAB defconfig
  - Remove obsolete SYS_BOOTM_LEN from N5X VAB config
  - Enable CRC32 support for SoCFPGA
  - Increase USB hub debounce timeout

Overall this set improves reliability of DDR and cache flows,
adds missing USB and MMC features for Agilex5, and refines clock
and configuration handling across platforms.

This patch set has been tested on Agilex 5 devkit, and Agilex devkit.

5 weeks agoMerge tag 'u-boot-amlogic-next-20250930' of https://source.denx.de/u-boot/custodians...
Tom Rini [Tue, 30 Sep 2025 22:01:05 +0000 (16:01 -0600)] 
Merge tag 'u-boot-amlogic-next-20250930' of https://source.denx.de/u-boot/custodians/u-boot-amlogic into next

- set reversed bit when using internal phy on GXL SoCs
- support gpio toggle command for amlogic gpio
- fix saradc
- remove unreachable in meson clk driver
- Stop premature exit from for loop in meson pwm driver
- fix JetHub D1 eth mac fallback generation

5 weeks agoARM: amlogic: fix JetHub D1 eth mac fallback generation
Viacheslav Bocharov [Wed, 3 Sep 2025 11:06:03 +0000 (14:06 +0300)] 
ARM: amlogic: fix JetHub D1 eth mac fallback generation

JetHome has allocated a special range for MAC fallback on JetHub D1/D1+
devices.

Signed-off-by: Viacheslav Bocharov <adeep@lexina.in>
Link: https://lore.kernel.org/r/20250903110726.546083-1-adeep@lexina.in
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
5 weeks agopwm: meson: Stop premature exit from for loop
Andrew Goodbody [Fri, 8 Aug 2025 09:34:43 +0000 (10:34 +0100)] 
pwm: meson: Stop premature exit from for loop

In meson_pwm_probe the for loop attempts to get the name of a clock but
the following if..else statements only perform useful work if -ENODATA
is returned from clk_get_by_name. If clk_get_by_name simply succeeds
then this results in a premature exit from the for loop and the
following code can never be reached. Make the else clause only apply for
an error return from clk_get_by_name.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20250808-pwm_meson-v1-1-cddb7e5f76bd@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
5 weeks agoclk: meson: Remove unreachable code
Andrew Goodbody [Wed, 23 Jul 2025 16:37:24 +0000 (17:37 +0100)] 
clk: meson: Remove unreachable code

A second return following the first return is unreachable code so remove
it.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20250723-clk_meson-v1-1-8cd6e73145a4@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
5 weeks agoadc: meson-saradc: uint cannot be less than zero
Andrew Goodbody [Tue, 22 Jul 2025 14:06:14 +0000 (15:06 +0100)] 
adc: meson-saradc: uint cannot be less than zero

timeout is declared as a uint but then tested for being less than zero
which must always fail. Change the while loop for a pre-decrement on
timeout and test timeout for being zero.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20250722-meson_saradc-v1-1-1ab45d53da9d@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
5 weeks agopinctrl: meson: support gpio toggle command
Yang Xiwen [Mon, 16 Jun 2025 17:01:17 +0000 (01:01 +0800)] 
pinctrl: meson: support gpio toggle command

meson_gpio_get() always assumes gpio is configured to input mode. This
is incorrect and breaks `gpio toggle` command:

gpio: pin aobus-banks2 (gpio 2) value is 0
   Warning: value of pin is still 1

Fix it by adding the logic to handle both input and output mode.

Fixes: 2009a8d03fe5 ("pinctrl: meson: add GPIO support")
Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20250617-meson_ppinctrl-v3-1-218d9321a8d2@outlook.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
5 weeks agonet: mdio: mux-meson-gxl: set reversed bit when using internal phy
Neil Armstrong [Fri, 2 May 2025 06:51:45 +0000 (08:51 +0200)] 
net: mdio: mux-meson-gxl: set reversed bit when using internal phy

This bit is necessary to receive packets from the internal PHY.
Without this bit set, no activity occurs on the interface.

Normally u-boot sets this bit, but if u-boot is compiled without
net support, the interface will be up but without any activity.

The vendor SDK sets this bit along with the PHY_ID bits.

Ported from the Linux change at [1] from Da Xu merged in
commit [2].

[1] https://lore.kernel.org/all/20250425192009.1439508-1-da@libre.computer/
[2] b23285e93bef ("net: mdio: mux-meson-gxl: set reversed bit when using internal phy")

Suggested-by: Da Xue <da@libre.computer>
Link: https://lore.kernel.org/r/20250502-u-boot-topic-mdio-mux-gxl-bit28-v1-1-399f6c3db154@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
5 weeks agoMerge tag 'u-boot-stm32-20250930' of https://source.denx.de/u-boot/custodians/u-boot-stm
Tom Rini [Tue, 30 Sep 2025 16:47:19 +0000 (10:47 -0600)] 
Merge tag 'u-boot-stm32-20250930' of https://source.denx.de/u-boot/custodians/u-boot-stm

CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/27776

- stm32mp1: Fix env_get_location()
- stm32mp2: Update register used by BL31 for boot parameter

5 weeks agoboard: mpfs_icicle: fix pointer assignment in board_fdt_blob_setup()
Jamie Gibbons [Tue, 30 Sep 2025 15:45:34 +0000 (16:45 +0100)] 
board: mpfs_icicle: fix pointer assignment in board_fdt_blob_setup()

Correct the assignment in board_fdt_blob_setup() to use *fdtp instead of
fdtp, ensuring the caller receives the correct FDT address. This
resolves an issue where the device tree pointer was not properly set due
to assigning to the local parameter rather than the dereferenced
pointer.

Fixes: 7c16ebba1ed ("board: mpfs_icicle: implement board_fdt_blob_setup()/board_fit_config_name_match()")
Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
5 weeks agostm32mp2: update register used by BL31 for boot parameter
Patrick Delaunay [Wed, 17 Sep 2025 12:31:30 +0000 (14:31 +0200)] 
stm32mp2: update register used by BL31 for boot parameter

Use the ARM64 kernel booting register settings, defined in Linux
documentation Documentation/arch/arm64/booting.rst:

 x0 = physical address of device tree blob (dtb) in system RAM.

so kernel can replace U-Boot in FIP without modification of BL31.

Use x0 for future TF-A version and keep x2 as fallback to be compatible
with previous version of TF-A BL31.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
5 weeks agoMerge tag 'net-20250930' of https://source.denx.de/u-boot/custodians/u-boot-net
Tom Rini [Tue, 30 Sep 2025 14:57:25 +0000 (08:57 -0600)] 
Merge tag 'net-20250930' of https://source.denx.de/u-boot/custodians/u-boot-net

Pull request net-20250930

net-common:
- DesignWare: avoid regulator enable failure
- Fix RMII help text

net-lwip:
- Ensure alignment of packet buffers
- Use NTP server(s) obtained from DHCP

5 weeks agoRevert "board: st: stm32mp1: Clean env_get_location()"
Kory Maincent [Wed, 17 Sep 2025 14:17:35 +0000 (16:17 +0200)] 
Revert "board: st: stm32mp1: Clean env_get_location()"

This reverts commit d37641c61ba212241c38e3fd22f0335fc0bebc96.

Restore support for environment storage in EXT4 filesystem on eMMC boot.
The previous cleanup incorrectly removed this fallback option which is
needed for boards that store their environment in an EXT4 partition.

This configuration is OS-specific rather than board-dependent and should
remain as it is configurable via menuconfig. Even if it is not described
in ST defconfigs people may have enabled it in their defconfig.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
5 weeks agonet: lwip: ensure alignment of packet buffers
Tim Harvey [Mon, 29 Sep 2025 19:21:49 +0000 (12:21 -0700)] 
net: lwip: ensure alignment of packet buffers

Network packet buffers should be aligned to PKTALIGN. Add a compiler
attribute to ensure this.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
[jf: use __aligned(x) from <linux/compiler_attributes.h>]
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
5 weeks agonet: lwip: dhcp: set ntpserverip environment variable
Jerome Forissier [Mon, 22 Sep 2025 09:35:43 +0000 (11:35 +0200)] 
net: lwip: dhcp: set ntpserverip environment variable

Once the DHCP exchange is complete, if we have an IP address for an NTP
server, set the ntpserverip environment variable accordingly. Although
not necessary to make the sntp command use that server (since it is
known internally to the lwIP stack), this makes the behavior in line
with the legacy NET stack. This is also consistent with exporting the
DNS servers etc.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Suggested-by: Michal Simek <michal.simek@amd.com>
5 weeks agonet: lwip: dhcp: make NTP servers usable by the sntp command
Jerome Forissier [Mon, 22 Sep 2025 09:35:42 +0000 (11:35 +0200)] 
net: lwip: dhcp: make NTP servers usable by the sntp command

When both CMD_DHCP and CMD_SNTP are enabled, one would expect the NTP
servers received by DHCP to be used by the sntp command by default. Fix
dhcp_loop() so that it is indeed the case.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reported-by: Michal Simek <michal.simek@amd.com>
5 weeks agonet: lwip: enable debug traces for SNTP when CONFIG_LWIP_DEBUG is set
Jerome Forissier [Mon, 22 Sep 2025 09:35:41 +0000 (11:35 +0200)] 
net: lwip: enable debug traces for SNTP when CONFIG_LWIP_DEBUG is set

Now that SNTP is supported, enable SNTP debug traces when LWIP_DEBUG is
enabled. In particular, this allows to see which NTP servers are
received during DHCP.

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
5 weeks agonet: designware: avoid regulator enable failure
Ben Wolsieffer [Wed, 27 Aug 2025 18:27:05 +0000 (14:27 -0400)] 
net: designware: avoid regulator enable failure

Use regulator_set_enable_if_allowed() to avoid failure if regulator is
shared between multiple devices.

Signed-off-by: Ben Wolsieffer <ben.wolsieffer@hefring.com>
5 weeks agonet: fix RMII help text
Yegor Yefremov [Mon, 22 Sep 2025 13:32:29 +0000 (15:32 +0200)] 
net: fix RMII help text

Replace MII with RMII as it is a Reduced Media-Independent Interface.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agousb: dwc3: Remove redundant test
Andrew Goodbody [Mon, 29 Sep 2025 09:11:57 +0000 (10:11 +0100)] 
usb: dwc3: Remove redundant test

In dwc3_ep0_complete_data there is a test for 'r' being null and the
code will return at that point if so. After that point 'r' is guaranteed
to not be null and testing for that is redundant. Remove the test for
'r' being non-null.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Link: https://lore.kernel.org/r/20250929-dwc3_ep0-v1-1-1d5c58933bde@linaro.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
5 weeks agousb: dwc2: Add missing null check
Andrew Goodbody [Mon, 29 Sep 2025 16:40:43 +0000 (17:40 +0100)] 
usb: dwc2: Add missing null check

Add in the missing null check for dev->driver that is present at other
points in the function before it is dereferenced.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Link: https://lore.kernel.org/r/20250929-usb_dwc2-v1-1-863133dcbcde@linaro.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
5 weeks agousb: gadget: atmel: Add missing null check
Andrew Goodbody [Mon, 29 Sep 2025 16:25:23 +0000 (17:25 +0100)] 
usb: gadget: atmel: Add missing null check

Add in the missing null check for udc->driver that is present at other
points in the function before it is dereferenced.

This issue was found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
Link: https://lore.kernel.org/r/20250929-atmel_usba_udc-v1-1-e1426271e12a@linaro.org
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
5 weeks agofastboot: Fix has-slot command always returning yes for fb_nand
Chance Yang [Tue, 26 Aug 2025 03:36:17 +0000 (11:36 +0800)] 
fastboot: Fix has-slot command always returning yes for fb_nand

The issue was a mismatch in return value conventions between functions:
- getvar_get_part_info() expects >= 0 for success
- fb_nand_lookup() returns 0 on success, 1 on failure (from
mtdparts_init and find_dev_and_part)

When partition didn't exist, fb_nand_lookup returned 1, but
fastboot_nand_get_part_info passed it directly to getvar_get_part_info,
which treated 1 >= 0 as success, causing has-slot to always return yes.

Fix by converting positive return values to -ENOENT in
fastboot_nand_get_part_info to match the expected error convention.

Signed-off-by: Chance Yang <chance.yang@kneron.us>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
Link: https://lore.kernel.org/r/20250826-master-v2-1-30b787a2f9fd@kneron.us
Signed-off-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
5 weeks agoarch: arm: socfpga: Configure USB3 System Manager registers
Naresh Kumar Ravulapalli [Wed, 24 Sep 2025 07:49:11 +0000 (00:49 -0700)] 
arch: arm: socfpga: Configure USB3 System Manager registers

For successful reset staggering pulse operation, reset pulse
override bit is set. Port overcurrent bit 1, which in reality
reflects PIPE power present signal is set to avoid giving
false information of Vbus status to HPS controller.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: Increase USB Hub debounce timeout in Agilex5
Naresh Kumar Ravulapalli [Wed, 24 Sep 2025 07:49:10 +0000 (00:49 -0700)] 
configs: Increase USB Hub debounce timeout in Agilex5

Some legacy USB mass storage devices during connection were
observed to have debounce issues. Hence, increasing the default
USB Hub debounce timeout value to handle this issue for devices
connected to Agilex5 boards.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: Enable USB DWC3 host drivers for Agilex5
Naresh Kumar Ravulapalli [Wed, 24 Sep 2025 07:49:09 +0000 (00:49 -0700)] 
configs: Enable USB DWC3 host drivers for Agilex5

Required USB DWC3 host driver configurations are enabled
for Agilex5.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoarch: arm: dts: Enable USB3.1 for Agilex5
Naresh Kumar Ravulapalli [Wed, 24 Sep 2025 07:49:08 +0000 (00:49 -0700)] 
arch: arm: dts: Enable USB3.1 for Agilex5

USB 3.1 node is enabled for Agilex5.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agodrivers: clk: agilex: Use FIELD_GET during EMAC clock selection
Naresh Kumar Ravulapalli [Thu, 11 Sep 2025 05:21:12 +0000 (22:21 -0700)] 
drivers: clk: agilex: Use FIELD_GET during EMAC clock selection

FIELD_GET() macro is used during EMAC clock source selection
for better code readability and maintainability.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agodrivers: clk: agilex: Fix EMAC clock source selection
Naresh Kumar Ravulapalli [Thu, 11 Sep 2025 05:21:11 +0000 (22:21 -0700)] 
drivers: clk: agilex: Fix EMAC clock source selection

Fix the incorrect bit masking and bit shift used to compute EMAC
control which in turn is used to select EMAC clock from EMAC
source A or B.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agommc: socfpga_dw_mmc: Enable/disable SDMMC clock via API
Alif Zakuan Yuslaimi [Tue, 9 Sep 2025 02:11:16 +0000 (19:11 -0700)] 
mmc: socfpga_dw_mmc: Enable/disable SDMMC clock via API

Update the driver to enable or disable the SDMMC clock via
clock driver model API instead of doing it in the driver itself.

This allows for scalability of the driver for various SoCFPGA
devices.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: agilex5: Enable config SPL_SYS_DCACHE_OFF
Boon Khai Ng [Thu, 14 Aug 2025 03:17:41 +0000 (11:17 +0800)] 
configs: agilex5: Enable config SPL_SYS_DCACHE_OFF

Add SPL_SYS_DCACHE_OFF to Agilex5 defconfig to disable data cache for SPL

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agodrivers: clk: agilex: Support for enable/disable API
Alif Zakuan Yuslaimi [Tue, 9 Sep 2025 02:11:15 +0000 (19:11 -0700)] 
drivers: clk: agilex: Support for enable/disable API

Update Agilex clock driver to support enabling or disabling
the peripheral clocks via clock driver model APIs.

The caller will pass the clock ID to this driver and the driver
will then proceed to manipulate the desired bit in the Agilex clock
manager peripheral PLL register based on the given clock ID.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agocache: Check dcache availability before calling cache functions
Boon Khai Ng [Thu, 14 Aug 2025 03:17:40 +0000 (11:17 +0800)] 
cache: Check dcache availability before calling cache functions

When the data cache (dcache) is disabled, calling related
status functions can lead to compilation errors due to
undefined references.

Adding a !CONFIG_IS_ENABLED(SYS_DCACHE_OFF) check before
invoking dcache_status() (used in common/memsize.c:get_ram_size())
and mmu_status() (from arch/arm/include/asm/io.h).

Without this check, builds with dcache disabled will fail to compile.

Signed-off-by: Boon Khai Ng <boon.khai.ng@altera.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 weeks agoinclude: dt-bindings: clk: agilex: Add Agilex clock definitions header file
Alif Zakuan Yuslaimi [Tue, 9 Sep 2025 02:11:14 +0000 (19:11 -0700)] 
include: dt-bindings: clk: agilex: Add Agilex clock definitions header file

Introduce header file to define the clock indexes for the Agilex
platform.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoarch: arm: mach-socfpga: smc: Add dcache flushing and invalidation in smc_send_mailbox()
Boon Khai Ng [Thu, 14 Aug 2025 03:17:39 +0000 (11:17 +0800)] 
arch: arm: mach-socfpga: smc: Add dcache flushing and invalidation in smc_send_mailbox()

Adding the dcache flushing and invalidation in the smc_send_mailbox()
At the same time replace the use of u64 with uintptr_t to ensure
compatibility across different architectures and correct the
pointer arithmetic for buffer end address calculation.

Signed-off-by: Mahesh Rao <mahesh.rao@altera.com>
Signed-off-by: Boon Khai Ng <boon.khai.ng@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: agilex5: Increase watchdog timeout
Alif Zakuan Yuslaimi [Fri, 15 Aug 2025 03:40:22 +0000 (20:40 -0700)] 
configs: agilex5: Increase watchdog timeout

Linux kernel will fail to boot due to exceeding timeout trying to
probe I3C device.

Increasing the watchdog timeout 30 seconds will give enough time for
Linux to probe the I3C device and will be able to boot up successfully.

User is expected to fine tune the watchdog timeout for the complete
boot in production.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoarm: socfpga: mailbox: Remove CONFIG_CADENCE_QSPI guard from QSPI mailbox API declara...
Alif Zakuan Yuslaimi [Tue, 23 Sep 2025 01:31:47 +0000 (18:31 -0700)] 
arm: socfpga: mailbox: Remove CONFIG_CADENCE_QSPI guard from QSPI mailbox API declarations

The QSPI mailbox API function declarations (mbox_qspi_close and
mbox_qspi_open) in mailbox_s10.h were guarded by CONFIG_CADENCE_QSPI
preprocessor conditional. This prevented their prototypes from being
visible to code that may use the stub implementations when
CONFIG_CADENCE_QSPI is disabled.

Remove the CONFIG_CADENCE_QSPI preprocessor conditional so these functions
are always declared, regardless of the configuration. This avoids potential
build or linkage errors when stubs are used.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoarm: socfpga: Define Use FPGA switch handoff section size for Agilex5
Alif Zakuan Yuslaimi [Fri, 29 Aug 2025 03:42:59 +0000 (20:42 -0700)] 
arm: socfpga: Define Use FPGA switch handoff section size for Agilex5

Agilex5 FPGA switch section in the handoff data is larger by 32 bytes
than the default value as these extra sections contains I3C0 and I3C1
register offsets and values with 4 bytes each.

This requires 4 more times of reading the FPGA switch section of the
handoff data to fully populate the handoff data table in the memory
during runtime.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agodrivers: ddr: altera: Correct DDR calibration status check
Naresh Kumar Ravulapalli [Fri, 8 Aug 2025 09:42:42 +0000 (02:42 -0700)] 
drivers: ddr: altera: Correct DDR calibration status check

Bit 3 of the seq2core register is no longer set to indicate
calibration completion. Instead, added polling of the seq2core
register until it reads 0b00000111, signaling that the Nios
processor has started the calibration process.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agodrivers: ddr: altera: Check IOSSM mailbox compatibility
Naresh Kumar Ravulapalli [Fri, 8 Aug 2025 09:36:59 +0000 (02:36 -0700)] 
drivers: ddr: altera: Check IOSSM mailbox compatibility

Compatibility check of IOSSM mailbox with U-Boot is performed
by verifying the mailbox specification version. If check fails,
appropriate error message is displayed.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: socfpga: Remove SYS_BOOTM_LEN from N5X VAB config
Naresh Kumar Ravulapalli [Tue, 19 Aug 2025 04:34:40 +0000 (21:34 -0700)] 
configs: socfpga: Remove SYS_BOOTM_LEN from N5X VAB config

Remove the current CONFIG_SYS_BOOTM_LEN in N5X VAB defconfig.
Previously, the size was set to 32MB, but due to larger kernel image,
64MB size is required. This 64MB configuration has been set as
default in the Kconfig.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: socfpga: Add CRC32 support
Naresh Kumar Ravulapalli [Tue, 19 Aug 2025 04:24:04 +0000 (21:24 -0700)] 
configs: socfpga: Add CRC32 support

CRC32 support for SoC64 devices is added.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: Simplify Agilex7 VAB defconfig
Naresh Kumar Ravulapalli [Fri, 8 Aug 2025 09:30:41 +0000 (02:30 -0700)] 
configs: Simplify Agilex7 VAB defconfig

To ensure unintentional bugs occurring because of config changes
in master defconfig and its VAB variants, VAB defconfig files now
include the master defconfig and enable config values specific to
VAB functionality only.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoarm: dts: socfpga: Enable driver model for watchdog timer
Naresh Kumar Ravulapalli [Tue, 19 Aug 2025 04:16:04 +0000 (21:16 -0700)] 
arm: dts: socfpga: Enable driver model for watchdog timer

All SoCFPGA platforms are switching to CONFIG_WDT (driver
model for watchdog timer drivers) from CONFIG_HW_WATCHDOG. Status
of watchdog is enabled to assist with this switching.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoarch: arm: socfpga: Remove speed and mode from flash probe
Naresh Kumar Ravulapalli [Tue, 19 Aug 2025 04:25:55 +0000 (21:25 -0700)] 
arch: arm: socfpga: Remove speed and mode from flash probe

Change is to allow the user to choose speed and mode values
from dts or the default ones.

Signed-off-by: Naresh Kumar Ravulapalli <nareshkumar.ravulapalli@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>