]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
7 weeks agoarch: imx9: Fix blk_dwrite/blk_derase error checking
Francois Berder [Sun, 24 May 2026 20:35:59 +0000 (22:35 +0200)] 
arch: imx9: Fix blk_dwrite/blk_derase error checking

blk_dwrite/blk_derase returns the number of blocks
written/erased. The existing check allowed partial
writes or partial erase to be considered successful.
Fix error handling of blk_dwrite/blk_derase by checking
that return value corresponds to the number of blocks
written/erased.

Signed-off-by: Francois Berder <fberder@outlook.fr>
7 weeks agoarm: imx8mp: Add new variant parts support
Ye Li [Fri, 22 May 2026 13:50:15 +0000 (21:50 +0800)] 
arm: imx8mp: Add new variant parts support

iMX8MP added 4 new variant parts for low cost industrial and HMI.
The parts disabled HIFI DSP and ISP while other functions are enabled.

Part number:
  - MIMX8ML2DVNLZAB and MIMX8ML2CVNKZAB (2-core)
  - MIMX8ML5DVNLZAB and MIMX8ML5CVNKZAB (4-core)

Signed-off-by: Ye Li <ye.li@nxp.com>
7 weeks agoboard: tqma7: update fastboot env
Alexander Feilke [Fri, 22 May 2026 11:09:15 +0000 (13:09 +0200)] 
board: tqma7: update fastboot env

Replace magic value with documented variable.
While at it, restrict fastboot env guard to USB
as its the only supported fastboot method.

Fixes d000ce5efee3 ("board: tqma7: add code for u-boot with spl")

Signed-off-by: Alexander Feilke <alexander.feilke@ew.tq-group.com>
7 weeks agoarm: gic-v3-its: Fix LPI pending table size calculation
Lyrix liu [Fri, 22 May 2026 08:06:22 +0000 (16:06 +0800)] 
arm: gic-v3-its: Fix LPI pending table size calculation

The variable `pend_tab_total_sz` is calculated using the macro
`LPI_PENDBASE_SZ`, which depends on the global variable `lpi_id_bits`.

However, `lpi_id_bits` is initialized later in the function based on
the GICD_TYPER register. This results in `pend_tab_total_sz` being
calculated with an uninitialized `lpi_id_bits` value (0), This leads
to the LPI pending tables being mapped with an incorrect size.

Fixes: 60b9b47d295b ("Revert "arch: arm: use dt and UCLASS_SYSCON to get gic lpi details"")
Signed-off-by: Lyrix liu <lyrix.liu@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
7 weeks agoconfigs: add defconfigs for TQMa6UL[L]x[L] SOM on MBa6ULx baseboard
Max Merchel [Tue, 19 May 2026 12:24:07 +0000 (14:24 +0200)] 
configs: add defconfigs for TQMa6UL[L]x[L] SOM on MBa6ULx baseboard

work around ERR11115:
The lower part of the OCRAM is unusable on i.MX6UL mask revision 2N52P
with date code before 9/22/2017. Adjust CONFIG_SPL_TEXT_BASE and
CONFIG_SPL_MAX_SIZE accordingly to fix boot on these SoCs.

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 weeks agoboard: tq: add TQMa6UL[L]x[L] SOM and MBa6ULx baseboard
Nora Schiffer [Tue, 19 May 2026 12:24:06 +0000 (14:24 +0200)] 
board: tq: add TQMa6UL[L]x[L] SOM and MBa6ULx baseboard

The TQMa6UL[L]x is a family of SoMs based on the i.MX6UL[L] SoCs.
They are available either with board connectors or as LGA packages
with solder balls. Add Support for the SoM and its combination with
our MBa6ULx carrier board. For use with the MBa6ULx carrier board,
the LGA variant is soldered onto an adapter board.

Signed-off-by: Nora Schiffer <nora.schiffer@ew.tq-group.com>
Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 weeks agoARM: dts: tqma6ul: add boot phase properties
Max Merchel [Tue, 19 May 2026 12:24:05 +0000 (14:24 +0200)] 
ARM: dts: tqma6ul: add boot phase properties

Add boot phase properties from U-Boot device tree.
Patches are integrated into Linux v7.1-rc1.
Revert this commit once the upstream linux device trees are
synchronized.

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 weeks agoARM: dts: add TQMa6UL[L]x[L] u-boot device tree fragments
Max Merchel [Tue, 19 May 2026 12:24:04 +0000 (14:24 +0200)] 
ARM: dts: add TQMa6UL[L]x[L] u-boot device tree fragments

Add u-boot specific device tree properties.

Signed-off-by: Max Merchel <Max.Merchel@ew.tq-group.com>
7 weeks agoimx: Remove hardcoded watchdog base address macros
Alice Guo [Tue, 19 May 2026 06:22:08 +0000 (14:22 +0800)] 
imx: Remove hardcoded watchdog base address macros

The watchdog base addresses are now obtained from the devicetree via
ofnode_* functions. Remove the hardcoded macro definitions as they are
no longer needed.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agowatchdog: ulp_wdog: Use driver model for reset_cpu()
Alice Guo [Tue, 19 May 2026 06:22:07 +0000 (14:22 +0800)] 
watchdog: ulp_wdog: Use driver model for reset_cpu()

Replace hardcoded WDOG_BASE_ADDR with driver model based dynamic address
lookup from device tree, allowing reset_cpu() to dynamically locate
watchdog devices from device tree.

This change also enables CONFIG_WDT for relevant boards and ensures the
watchdog nodes are available for driver model usage.

- Remove hardcoded WDOG_BASE_ADDR from hw_watchdog_* functions
- Reimplement reset_cpu() using UCLASS_WDT device iteration
- Add ulp_wdt_expire_now() callback for standard WDT interface
- Pass wdog register pointer to hw_watchdog_set_timeout()
- Enable CONFIG_WDT for boards using ULP watchdog
- Remove wdog3 status = "disabled" overrides from U-Boot device tree
  overlays, as the watchdog device needs to be accessible for driver
  model based reset functionality.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com> # Toradex boards
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoimx: soc: Get watchdog base addresses from device tree
Alice Guo [Tue, 19 May 2026 06:22:06 +0000 (14:22 +0800)] 
imx: soc: Get watchdog base addresses from device tree

Replace hardcoded watchdog base addresses with dynamic address lookup
from device tree for i.MX7ULP, i.MX8ULP, i.MX91, i.MX93, i.MX943, i.MX95
and i.MX952.

Move i.MX7ULP watchdog initialization from s_init() to
arch_cpu_init() because ofnode_* APIs depend on FDT, which is not
available during s_init().

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoarm: dts: imx: Update watchdog nodes for dynamic base address lookup
Alice Guo [Tue, 19 May 2026 06:22:05 +0000 (14:22 +0800)] 
arm: dts: imx: Update watchdog nodes for dynamic base address lookup

Update watchdog device tree nodes to enable dynamic base address
retrieval for i.MX7ULP, i.MX8ULP, i.MX91, i.MX93, i.MX943, i.MX95 and
i.MX952. This allows the bootloader to obtain watchdog base addresses
from the device tree instead of using hardcoded values.

- imx7ulp: Add wdog2 node
- imx8ulp: Mark wdog3 available
- imx91/imx93: Add wdog4 and wdog5 nodes
       Mark wdog3/wdog4/wdog5 available
- imx943: Add wdog4 node and mark wdog3/wdog4 available
- imx95/imx952: Add wdog4 node and mark wdog3/wdog4 available

Watchdog nodes are marked with "bootph-all" to ensure availability
during early boot stages when init_wdog() occurs.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoimx93_var_som: Switch to OF_UPSTREAM
Alice Guo [Tue, 19 May 2026 06:22:04 +0000 (14:22 +0800)] 
imx93_var_som: Switch to OF_UPSTREAM

Enable OF_UPSTREAM and remove local device tree files in favor of
upstream device trees from Linux kernel.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
7 weeks agoimx93-frdm: Switch to OF_UPSTREAM
Alice Guo [Tue, 19 May 2026 06:22:03 +0000 (14:22 +0800)] 
imx93-frdm: Switch to OF_UPSTREAM

Switch the i.MX93 FRDM board to use the upstream device tree instead of
maintaining a local copy.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoimx91: Switch to OF_UPSTREAM
Alice Guo [Tue, 19 May 2026 06:22:02 +0000 (14:22 +0800)] 
imx91: Switch to OF_UPSTREAM

Migrate i.MX91 boards to use OF_UPSTREAM feature, which allows U-Boot
to directly use device trees from the Linux kernel upstream.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoimx7ulp: Switch to OF_UPSTREAM
Alice Guo [Tue, 19 May 2026 06:22:01 +0000 (14:22 +0800)] 
imx7ulp: Switch to OF_UPSTREAM

Migrate i.MX7ULP boards to use OF_UPSTREAM feature, which allows U-Boot
to directly use device trees from the Linux kernel upstream.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoimx8mp: msc-sm2s: Switch to OF_UPSTREAM
Peng Fan [Mon, 18 May 2026 02:18:13 +0000 (10:18 +0800)] 
imx8mp: msc-sm2s: Switch to OF_UPSTREAM

In Upstream Linux, the board dts is imx8mp-msc-sm2s-ep1.dts which is
also showed in msc_sm2s_imx8mp_defconfig:CONFIG_DEFAULT_FDT_FILE.

Upstream file imx8mp-msc-sm2s.dtsi is almost same as U-Boot
imx8mp-msc-sm2s.dts, so directly use imx8mp-msc-sm2s-ep1.dts as U-Boot
device tree and rename the u-boot.dtsi to
imx8mp-msc-sm2s-ep1-u-boot.dtsi.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoimx8mm: pgh: Switch to OF_UPSTREAM
Peng Fan [Mon, 18 May 2026 02:18:12 +0000 (10:18 +0800)] 
imx8mm: pgh: Switch to OF_UPSTREAM

The U-Boot copy of the board device trees for this board is almost same as
the ones in dts/upstream except some differences in display which not
impact U-Boot as of now, so switch to the board to OF_UPSTREAM, by dropping
the U-Boot copies and selecting OF_UPSTREAM.

There are some changes in imx8mm-tqma8mqml.dtsi regarding sdhc2 supply,
select DM_PMIC_PCA9450, DM_REGULATOR_PCA9450 and SPL_DM_REGULATOR_PCA9450
to avoid breaking sd.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoimx8mp: icore-mx8mp-edimm2.2: Switch to OF_UPSTREAM
Peng Fan [Mon, 18 May 2026 02:18:11 +0000 (10:18 +0800)] 
imx8mp: icore-mx8mp-edimm2.2: Switch to OF_UPSTREAM

The U-Boot copy of the board device trees for this board is same as the
ones in dts/upstream, so switch to the board to OF_UPSTREAM, by dropping
the U-Boot copies and selecting OF_UPSTREAM.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoimx8mm: icore-mx8mm: Switch to OF_UPSTREAM
Peng Fan [Mon, 18 May 2026 02:18:10 +0000 (10:18 +0800)] 
imx8mm: icore-mx8mm: Switch to OF_UPSTREAM

arch/arm/dts/imx8mm-icore-mx8mm[ctouch2.dts,edimm2.2.dts] are same as
the one in dts/upstream, so drop the copy and switch to OF_UPSTREAM by
updating config and selecting OF_UPSTREAM.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agoMerge patch series "sc5xx Environment Cleanup and Fixes"
Tom Rini [Thu, 4 Jun 2026 18:24:50 +0000 (12:24 -0600)] 
Merge patch series "sc5xx Environment Cleanup and Fixes"

Caleb Ethridge <caleb.ethridge@analog.com> says:

This series performs a general cleanup of the default U-boot environment
for sc5xx boards, stemming from the decision to no longer store the
environment in the SPI flash. The environments for each board have been
edited to contain the minimum number of commands needed for all supported
boot modes to avoid confusion, and the default boot command synced to spi
for all boards that support it. The filesystem for the SPI flash has also
been changed from jffs2 to ubifs.

A bug with the Ethernet reset line on the sc594 has been fixed, and the
sc573 has been renamed from the EZKIT to the EZLITE to match the name of the
publically available board. EZKIT was only used internally before release.
Preliminary binman support for sc5xx boards has been removed as it was unused
and full support never added.

Link: https://lore.kernel.org/r/cover.1779370141.git.caleb.ethridge@analog.com
7 weeks agoMerge patch series "Cleanup some linker list usage issues"
Tom Rini [Thu, 4 Jun 2026 18:20:25 +0000 (12:20 -0600)] 
Merge patch series "Cleanup some linker list usage issues"

Tom Rini <trini@konsulko.com> says:

In looking at some other issues, I saw the comment in include/event.h
about LTO discarding linker lists sometimes. Upon further investigation,
this was a sandbox-specific problem for which this problem was a
symptom. Also, the linker list code has always marked itself as "unused"
and while Marek thinks this might have been due to warnings at the time,
that is no longer the case. This series corrects sandbox to not have an
issue with linker lists in two files, stops marking linker lists as
unused and removes a now obsolete comment.

Link: https://lore.kernel.org/r/20260520001234.1555120-1-trini@konsulko.com
7 weeks agoevent: Remove obsolete comment and __used attributes
Tom Rini [Wed, 20 May 2026 00:09:54 +0000 (18:09 -0600)] 
event: Remove obsolete comment and __used attributes

Now that we have both resolved the problem on sandbox that lead to a comment
about linker list entries being omitted as well as made linker lists
never list themselves as unused, we can update the event header file.
Remove the now obsolete comment and "__used" attribute marker.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agolinker_lists: Do not set "unused" attribute
Tom Rini [Wed, 20 May 2026 00:09:53 +0000 (18:09 -0600)] 
linker_lists: Do not set "unused" attribute

Whenever we declare something to be in a linker list, we want it to be
included. This is why all of our linker scripts have a line similar to:
KEEP(*(SORT(__u_boot_list*)));
to ensure that any linker list found in any of the archives we are
linking together makes it to the final object. Remove the places where
we set an attribute saying that it is unused, or maybe_unused.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agosandbox: Drop special link order treatment of start.o and sdl.o
Tom Rini [Wed, 20 May 2026 00:09:52 +0000 (18:09 -0600)] 
sandbox: Drop special link order treatment of start.o and sdl.o

On hardware architectures, we need to treat start.o (generated from
start.S) very special due to the constraints of being a program running
on hardware in an unknown state. These objects are treated a little
different than the rest by the linker and linker scripts on various
architectures.

Sandbox is different, and doesn't need to do that. In fact, it can lead
to hard to diagnose problems because of just how subtly different the
treatment is. For example, the comment about LTO in include/event.h
introduced with commit 87a5d1b5d012 ("event: Add basic support for
events") was only a sandbox issue because of the event in start.c and
in turn linking start.o isn't treated the same way as an archive with
all its sections considered.

Correct all of this by removing the "head-" lines for cpu.o and sdl.o
from arch/sandbox/Makefile (and unused cmd_cc_sdl.o lines) and change
arch/sandbox/cpu/Makefile to treating them both with "obj-" and not
"extra-".

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agomach-sc5xx: Remove unused image offset Kconfig options
Caleb Ethridge [Thu, 21 May 2026 13:53:27 +0000 (09:53 -0400)] 
mach-sc5xx: Remove unused image offset Kconfig options

Remove SC5XX_UBOOT_SPL_OFFSET, SC5XX_UBOOT_OFFSET, SC5XX_FITIMAGE_OFFSET
and SC5XX_ROOTFS_OFFSET as they are no longer needed in the Kconfig.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 weeks agoarm: sc5xx: Add fdt_addr_r, kernel_addr_r, and ramdisk_addr_r
Caleb Ethridge [Thu, 21 May 2026 13:53:26 +0000 (09:53 -0400)] 
arm: sc5xx: Add fdt_addr_r, kernel_addr_r, and ramdisk_addr_r

Add fdt_addr_r, kernel_addr_r, and ramdisk_addr_r to the SC5xx boards.
These variables are currently unused in the environment but will be
used in the future once support for booti commands is added to the
SC5xx boards.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
7 weeks agoarm: sc5xx: add missing boot env selectors
Ozan Durgut [Thu, 21 May 2026 13:53:25 +0000 (09:53 -0400)] 
arm: sc5xx: add missing boot env selectors

Define the boot options for SC598 SOM EZ-LITE so the shared ADI boot
environment includes the expected boot commands for this board.

SC598 SOM EZ-LITE board environment utilizes the shared ADI boot
environment, but it does not define any of the USE_* boot mode selectors.
Without those selectors, the shared env does not generate the board boot
commands such as `spiboot`. This leaves the default `bootcmd=run spiboot`
without a matching environment command and breaks autoboot.

Fixes: c9e893d6266d ("board: adi: Add support for SC598")
Signed-off-by: Ozan Durgut <ozan.durgut@analog.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 weeks agoarm: sc5xx: Remove SC5XX_LOADADDR
Caleb Ethridge [Thu, 21 May 2026 13:53:24 +0000 (09:53 -0400)] 
arm: sc5xx: Remove SC5XX_LOADADDR

Remove the SC5XX_LOADADDR Kconfig option, replace its users with
CONFIG_SYS_LOAD_ADDR, and update the ADI boot environment to use
`loadaddr`.

SC5XX_LOADADDR was an ADI-specific duplicate of standard U-Boot
load address handling. U-Boot already uses CONFIG_SYS_LOAD_ADDR
for the default load address and `loadaddr` for boot commands,
so keeping separate SC5XX-specific names is redundant.

Signed-off-by: Ozan Durgut <ozan.durgut@analog.com>
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
7 weeks agoconfigs: sc5xx: Set default bootcmd to SPI boot
Caleb Ethridge [Thu, 21 May 2026 13:53:23 +0000 (09:53 -0400)] 
configs: sc5xx: Set default bootcmd to SPI boot

Align configs to use the same default bootcommand. With the environment
no longer stored in the SPI, SPI boot is the intended default boot
method for all sc5xx platforms, with the exception of the sc573, and the
sc584.

The sc59x boards, the sc594 and the sc598, additionally have the option
of using OSPI for boot, but the default boot method for these boards is
still SPI.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 weeks agomach-sc5xx: Update SPI bootargs for ubifs
Caleb Ethridge [Thu, 21 May 2026 13:53:22 +0000 (09:53 -0400)] 
mach-sc5xx: Update SPI bootargs for ubifs

Update the bootargs used in SPI/OSPI bootmode
to reflect change from jffs2 to ubifs for the
SPI's filesystem, and remove the jffs2file variable
from the environment as it is now unused.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
7 weeks agomach-sc5xx: Update image load address
Caleb Ethridge [Thu, 21 May 2026 13:53:21 +0000 (09:53 -0400)] 
mach-sc5xx: Update image load address

Update the load address for the image in
each environment to match the updated partitions
in Linux.

The partitions in Linux for the spi are named as follows:
 - u-boot-spl
 - u-boot
 - kernel
 - rootfs

The kernel partition is at 0x100000 for sc59x family boards,
and 0xd0000 for all other sc5xx boards.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
7 weeks agomach-sc5xx: sc573: Rename EZKIT board to EZLITE
Caleb Ethridge [Thu, 21 May 2026 13:53:20 +0000 (09:53 -0400)] 
mach-sc5xx: sc573: Rename EZKIT board to EZLITE

Rename the SC573 EZKIT board to EZLITE across the device tree,
defconfig, board file, and related Kconfig/Makefile entries to
match with release naming. EZKIT was used internally before the
official product release.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 weeks agodts: sc594: Fix gige-reset line on EZKIT
Caleb Ethridge [Thu, 21 May 2026 13:53:19 +0000 (09:53 -0400)] 
dts: sc594: Fix gige-reset line on EZKIT

The gige-reset line on the EZKIT was updated for the
sc598 but not the sc594. This commit aligns the two .dts
files since they are describing the same hardware, the
EZKIT carrier board.

Fixes: be7937847b7c ("board: adi: Add support for SC594")
Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 weeks agomach-sc5xx: Remove preliminary binman support
Caleb Ethridge [Thu, 21 May 2026 13:53:18 +0000 (09:53 -0400)] 
mach-sc5xx: Remove preliminary binman support

Remove preliminary binman support from all sc5xx ADSP boards.
Full support was never added because it was unused.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 weeks agomach-sc5xx: Add USB boot command
Caleb Ethridge [Thu, 21 May 2026 13:53:17 +0000 (09:53 -0400)] 
mach-sc5xx: Add USB boot command

Add the USB boot command to the environments
of the boards that support it.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
7 weeks agomach-sc5xx: Switch from tftp to wget
Caleb Ethridge [Thu, 21 May 2026 13:53:16 +0000 (09:53 -0400)] 
mach-sc5xx: Switch from tftp to wget

Switch the nfsboot and other relevant commands to use
wget instead of tftp. This also includes the addition of
the httpdstp variable for selecting the wget port.

There is no longer any automatic DHCP configuration. Before
running a command with wget, either 'dhcp' must be run or
the 'ipaddr' and 'serverip' variables must be set. Additionally,
the nfsboot command looks for the file named 'fitImage' on the
server to use to boot.

The default port is set to 8000 instead of the usual 80
to allow for use with an unprivileged web server.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 weeks agomach-sc5xx: Update boot commands
Caleb Ethridge [Thu, 21 May 2026 13:53:15 +0000 (09:53 -0400)] 
mach-sc5xx: Update boot commands

Update the default boot commands to match the expected
bootargs in Linux and new SPI partitioning scheme.

Because the environment is no longer stored in the SPI
flash, imagesize has been removed and replaced with a fixed
length read to load from the SPI. Additionally the partitions
of the mmc have been updated. The first partition holds the fitImage
at /fitImage, and the second partition contains the rootfs.
With this change, the imagefile environment variable has also been
eliminated, the image in the first partition is expected to always
be named fitImage.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
7 weeks agomach-sc59x: Add CONFIG_SC5XX_LOADADDR
Caleb Ethridge [Thu, 21 May 2026 13:53:14 +0000 (09:53 -0400)] 
mach-sc59x: Add CONFIG_SC5XX_LOADADDR

Add CONFIG_SC5XX_LOADADDR to the sc59x family of
boards to set the default load address for the
loaded fit image. This value is autopopulated into
the environment variable loadaddr.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
7 weeks agomach-sc5xx: Remove update commands from default environment
Caleb Ethridge [Thu, 21 May 2026 13:53:13 +0000 (09:53 -0400)] 
mach-sc5xx: Remove update commands from default environment

Remove the update_spi family of commands from the U-Boot
environment. These commands are not standard in U-Boot,
and boot media programming has moved to Linux, so the
commands can be safely removed.

Additionally, this commit removes the adi_stage2_offset,
adi_rfs_offset, imagefile, jffs2file, and init_ethernet variables that
were consumed by the update commands as they are no longer needed.
CONFIG_SC5XX_UBOOT_OFFSET and CONFIG_SC5XX_ROOTFS_OFFSET are also
removed.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
7 weeks agoconfigs: sc5xx: Do not store environment in SPI flash
Caleb Ethridge [Thu, 21 May 2026 13:53:12 +0000 (09:53 -0400)] 
configs: sc5xx: Do not store environment in SPI flash

Remove config option enabling storage of the environment
in the SPI flash, to match shift of programming boot media
to Linux.

Signed-off-by: Caleb Ethridge <caleb.ethridge@analog.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 weeks agoMerge tag 'net-next-20260603' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Wed, 3 Jun 2026 16:49:11 +0000 (10:49 -0600)] 
Merge tag 'net-next-20260603' of https://source.denx.de/u-boot/custodians/u-boot-net into next

Pull request net-next-20260603

- eth, phy: Convert several drivers to use the dev APIs
- Guard SYS_RX_ETH_BUFFER with NET
- phy: Kconfig: use bool instead of tristate

7 weeks agoMerge branch 'next' of git://source.denx.de/u-boot-usb into next
Tom Rini [Wed, 3 Jun 2026 16:48:04 +0000 (10:48 -0600)] 
Merge branch 'next' of git://source.denx.de/u-boot-usb into next

- Add "static" and "const" keywords to structs where they are missing
  and would be useful to have in the DWC3 framework.

7 weeks agonet: mvpp2: convert FDT access to ofnode API
Peng Fan [Thu, 28 May 2026 08:00:24 +0000 (16:00 +0800)] 
net: mvpp2: convert FDT access to ofnode API

Convert mvpp2 driver from legacy fdtdec/fdt_* APIs to the ofnode-based
interfaces.

Replace usage of dev_of_offset(), fdtdec_lookup_phandle(),
fdtdec_get_int(), fdt_parent_offset(), and related helpers with their
ofnode equivalents, including dev_ofnode(), ofnode_parse_phandle(),
ofnode_read_s32_default(), ofnode_get_parent(), and
ofnode_for_each_subnode().

Remove direct dependencies on gd->fdt_blob.

Main changes:
- Use ofnode_valid() instead of integer checks for node presence
- Switch fixed-link detection to ofnode_find_subnode()
- Replace uclass_get_device_by_of_offset() with
  uclass_get_device_by_ofnode()
- Update subnode iteration and device binding to use ofnode

No functional changes.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agonet: mvpp2: Use dev_read_addr_index_ptr()
Peng Fan [Thu, 28 May 2026 08:00:23 +0000 (16:00 +0800)] 
net: mvpp2: Use dev_read_addr_index_ptr()

Use dev_read_addr_index_ptr() which supports both live device tree and
flat DT backends, avoiding direct dependency on devfdt_* helpers.

No functional changes.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agonet: dc2114x: Use dev_remap_addr()
Peng Fan [Thu, 28 May 2026 08:00:22 +0000 (16:00 +0800)] 
net: dc2114x: Use dev_remap_addr()

Use dev_remap_addr() to simplify code.

dev_remap_addr() does same thing as dev_read_addr() + map_physmem(). And
it supports both live device tree and flat DT backends, avoiding direct
dependency on devfdt_* helpers.

No functional changes.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agonet: calxedaxgmac: Use dev_read_addr()
Peng Fan [Thu, 28 May 2026 08:00:21 +0000 (16:00 +0800)] 
net: calxedaxgmac: Use dev_read_addr()

Use dev_read_addr() which supports both live device tree and flat DT
backends, avoiding direct dependency on devfdt_* helpers.

No functional changes.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agonet: qe: dm_qe_uec: Use dev_read_addr()
Peng Fan [Thu, 28 May 2026 08:00:20 +0000 (16:00 +0800)] 
net: qe: dm_qe_uec: Use dev_read_addr()

Use dev_read_addr() which supports both live device tree and flat DT
backends, avoiding direct dependency on devfdt_* helpers.

No functional changes.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
7 weeks agonet: ethoc: Use dev_read_addr_index()
Peng Fan [Thu, 28 May 2026 08:00:19 +0000 (16:00 +0800)] 
net: ethoc: Use dev_read_addr_index()

Use dev_read_addr_index() which supports both live device tree and flat DT
backends, avoiding direct dependency on devfdt_* helpers.

No functional changes.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
7 weeks agophy: cadence: Use device API
Peng Fan [Tue, 26 May 2026 06:39:16 +0000 (14:39 +0800)] 
phy: cadence: Use device API

Use dev_remap_addr_index() and dev_read_addr_size_index() which support
both live device tree and flat DT backends, avoiding direct dependency on
devfdt_* helpers.

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
7 weeks agophy: marvell: comphy: Use dev_read_addr_index_ptr()
Peng Fan [Tue, 26 May 2026 06:39:15 +0000 (14:39 +0800)] 
phy: marvell: comphy: Use dev_read_addr_index_ptr()

Use dev_read_addr_index_ptr() which supports both live device tree and flat
DT backends, avoiding direct dependency on devfdt_* helpers.

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
7 weeks agophy: ti-pipe3: Use device API for DT parsing
Peng Fan [Tue, 26 May 2026 06:39:14 +0000 (14:39 +0800)] 
phy: ti-pipe3: Use device API for DT parsing

Replace legacy FDT parsing in get_reg() with the device API
dev_read_phandle_with_args() which removes direct access to gd->fdt_blob
and aligns the driver with modern U-Boot DT handling.

The offset is retrieved from the phandle argument instead of manually
parsing the property cells. Add validation for the argument
count to avoid out-of-bounds access on malformed DTs.

Also switch from devfdt_get_addr_size_index() to dev_read_addr_size_index()
for consistency with the DM API.

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
7 weeks agophy: Kconfig: use bool instead of tristate
David Lechner [Wed, 13 May 2026 14:11:52 +0000 (09:11 -0500)] 
phy: Kconfig: use bool instead of tristate

Change all uses of tristate in the PHY Kconfigs to bool. U-Boot does
not support modules, so tristate does not make sense here.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Casey Connolly <casey.connolly@linaro.org>
7 weeks agonet: SYS_RX_ETH_BUFFER defaults to 8 when CONFIG_FSL_ENETC=y
Quentin Schulz [Thu, 7 May 2026 10:37:12 +0000 (12:37 +0200)] 
net: SYS_RX_ETH_BUFFER defaults to 8 when CONFIG_FSL_ENETC=y

drivers/net/fsl_enetc.h specifies ENETC_BD_CNT "buffer descriptors count
must be a multiple of 8". This constant is set to
CONFIG_SYS_RX_ETH_BUFFER which defaults to 4.

All defconfigs enabling CONFIG_FSL_ENETC fortunately have it set to 8,
according to
./tools/qconfig.py -l -f CONFIG_FSL_ENETC '~CONFIG_SYS_RX_ETH_BUFFER=8'.

Let's make sure the default is sane by having it set to 8 when this
driver is enabled. Note that originally[1] it was said EEPRO100 and 405
EMAC should be 8 or higher. 405 (PPC405?) support seems to have been
dropped in commit b5e7c84f72ee ("ppc4xx: remove ASH405 board"), 11 years
ago. Maybe there's something we can do for EEPRO100 though?

Start all lines with a tab instead of spaces.

Specify limitation for FSL_ENETC in the help text.

[1] commit 53cf9435ccf9 ("- CFG_RX_ETH_BUFFER added.")
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agonet: guard SYS_RX_ETH_BUFFER with NET
Quentin Schulz [Thu, 7 May 2026 10:37:11 +0000 (12:37 +0200)] 
net: guard SYS_RX_ETH_BUFFER with NET

SYS_RX_ETH_BUFFER represents the number of Ethernet receive packet
buffers. It therefore doesn't make sense it's reachable if NET isn't
enabled.

Direct users of SYS_RX_ETH_BUFFER are:
- drivers/net/rtl8169.c, only compiled if CONFIG_RTL8169=y, depends on
  CONFIG_NETDEVICES=y, depends on CONFIG_NET=y,
- drivers/net/fsl_enetc.h, via ENETC_BD_CNT, included in
    drivers/net/{fsl_enetc.c,fsl_enetc_mdio.c,mscc_eswitch/felix_switch.c}
  First two only compiled if CONFIG_FSL_ENETC=y, latter with
  CONFIG_MSCC_FELIX_SWITCH=y. Both symbols depends on
  CONFIG_NETDEVICES=y, depends on CONFIG_NET=y.
- include/net-common.h via PKTBUFSRX,

Indirect users via PKTBUFSRX:
- arch/sandbox/include/asm/eth.h
  - according to ./tools/qconfig.py -l -f CONFIG_SANDBOX CONFIG_NO_NET,
    all sandbox defconfigs have network enabled so ignore this for now,
- drivers/dma/ti/k3-udma.c
  - sets UDMA_RX_DESC_NUM to that if defined, else 4. PKTBUFSRX is
    CONFIG_SYS_RX_ETH_BUFFER which defaults to 4. According to
    ./tools/qconfig.py -l -f CONFIG_TI_K3_NAVSS_UDMA '~CONFIG_SYS_RX_ETH_BUFFER=4'
    no defconfig enabling this DMA driver sets CONFIG_SYS_RX_ETH_BUFFER
    to anything but the default of 4, so regardless of NET being built
    UDMA_RX_DESC_NUM will always be 4 with current defconfigs.
- drivers/net/{airoha_eth.c,bcm6348-eth.c,bcm6368-eth.c,cortina_ni.c,
dc2114x.c,eepro100.c,essedma.c,ethoc.c,ftgmac100.c,ftmac100.c,
hifemac.c,mcffec.c,mpc8xx_fec.c,pic32_eth.c,sandbox.c,sni_ave.c,
sni_netsec.c,ti/am65-cpsw-nuss.c,ti/cpsw.c,ti/icssg_prueth.c,
tsec.c} all depends on CONFIG_NETDEVICES=y, depends on
  CONFIG_NET=y,
- net/lwip/net-lwip.c, only compiled if CONFIG_NET_LWIP=y, depends on
  CONFIG_NET=y,
- net/{net.c,tcp.c}, only compiled if CONFIG_NET_LEGACY=y, depends on
  CONFIG_NET=y,
- net/net-common.c, only compiled if CONFIG_NET=y,
- test/cmd/wget.c, only compiled if CONFIG_NET_LEGACY=y, depends on
  CONFIG_NET=y,
- test/image/spl_load_net.c, only compiled if CONFIG_SPL_UT_LOAD_NET=y,
  depends on CONFIG_SPL_ETH=y, depends on CONFIG_SPL_NET=y, depends on
  CONFIG_NET_LEGACY=y, depends on CONFIG_NET=y,

Indirect users via net_rx_packets[PKTBUFSRX]. This array is only
externally defined in net/net-common.c which is only compiled if
CONFIG_NET=y.

Users of net_rx_packets are:
- drivers/net/{airoha_eth.c,bcm6348-eth.c,bcm6368-eth.c,cortina_ni.c,
dc2114x.c,dm9000x.c,essedma.c,ethoc.c,fsl_enetc.c,ftgmac100.c,
ftmac100.c,hifemac.c,ks8851_mll.c,macb.c,mcffec.c,mpc8xx_fec.c,
        mscc_eswitch/jr2_switch.c,mscc_eswitch/luton_switch.c,
        mscc_eswitch/ocelot_switch.c,mscc_eswitch/serval_switch.c,
        mscc_eswitch/servalt_switch.c,pic32_eth.c,sandbox-raw.c,
sandbox.c,smc911x.c,sni_ave.c,sni_netsec.c,ti/am65-cpsw-nuss.c,
ti/cpsw.c,ti/icssg_prueth.c,tsec.c,xilinx_axi_mrmac.c} all
depends on CONFIG_NETDEVICES=y, depends on CONFIG_NET=y,
- drivers/usb/gadget/ether.c only built if CONFIG_$(PHASE_)USB_ETHER=y,
  depends on CONFIG_NET=y/CONFIG_SPL_NET=y,
- net/lwip/net-lwip.c only compiled if CONFIG_NET_LWIP=y, depends on
  CONFIG_NET=y,
- net/net.c, only compiled if CONFIG_NET_LEGACY=y, depends on
  CONFIG_NET=y,
- net/net-common.c, only compiled if CONFIG_NET=y,

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agonet: tsec: make tsec_private a private structure
Quentin Schulz [Thu, 7 May 2026 10:37:10 +0000 (12:37 +0200)] 
net: tsec: make tsec_private a private structure

Move the definition of tsec_private within the only file that makes use
of it.

This adds the benefit of include/tsec.h not referencing PKTBUFSRX (which
is set to CONFIG_SYS_RX_ETH_BUFFER, which we're trying to move to be
under CONFIG_NET dependency) anymore. Considering drivers/net/tsec.c is
only built if CONFIG_NET=y, this is fine.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agoarm: ls102xa: use platform data to check Ethernet interface is not SGMII
Quentin Schulz [Thu, 7 May 2026 10:37:09 +0000 (12:37 +0200)] 
arm: ls102xa: use platform data to check Ethernet interface is not SGMII

tsec_private should, as its name suggests, be private. In the next
commit, it'll be moved from a publicly available header file to the C
file that requires it. ls102xa currently does not allow us to do that
because it uses the structure.

The flag is actually set if the Ethernet PHY interface is SGMII in
drivers/net/tsec.c, so simply replace the current check with the same
check made in drivers/net/tsec.c to set the flag.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agols1028a: only include drivers/net/fsl_enetc.h when driver is compiled
Quentin Schulz [Thu, 7 May 2026 10:37:08 +0000 (12:37 +0200)] 
ls1028a: only include drivers/net/fsl_enetc.h when driver is compiled

As hinted by its path, it's not really meant to be included outside of
the driver itself. This header uses CONFIG_SYS_RX_ETH_BUFFER which we
are trying to move under CONFIG_NET dependency. This file here can be
compiled without network support so make sure this only gets included
when needed.

The function from that header (fdt_fixup_enetc_mac) is already guarded
by CONFIG_FSL_ENETC so simply guard the inclusion of the header the same
way.

This was tested by building ls1028aqds_tfa_defconfig with
CONFIG_MSCC_FELIX_SWITCH and CONFIG_FSL_ENETC disabled.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
7 weeks agousb: dwc3: generic: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:16:33 +0000 (19:16 +0200)] 
usb: dwc3: generic: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
7 weeks agousb: dwc3: sti: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:16:32 +0000 (19:16 +0200)] 
usb: dwc3: sti: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
7 weeks agousb: dwc3: am62: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:16:31 +0000 (19:16 +0200)] 
usb: dwc3: am62: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
7 weeks agoMerge patch series "Enable splashscreen functionality on AM62X"
Tom Rini [Tue, 2 Jun 2026 19:48:15 +0000 (13:48 -0600)] 
Merge patch series "Enable splashscreen functionality on AM62X"

Swamil Jain <s-jain1@ti.com> says:

This patch series introduces splashscreen support for
AM62x platforms by adding configuration fragments and implementing
selective splashscreen enablement across different boot configurations.

The series adds two configuration fragments: am62x_a53_splashscreen.config
and am62x_evm_prune_splashscreen.config. These fragments allow platforms
to selectively enable or disable splashscreen functionality based on
their specific requirements. The prune fragment is particularly useful
for platforms like AM62P where splashscreen must be disabled when using
TI-DM firmware with display sharing features.

The series enables splashscreen on AM62X.

Link: https://lore.kernel.org/r/20260519141716.1346635-1-s-jain1@ti.com
7 weeks agoconfigs: am62x_evm_a53_defconfig: Enable A53 splashscreen at u-boot SPL
Swamil Jain [Tue, 19 May 2026 14:17:16 +0000 (19:47 +0530)] 
configs: am62x_evm_a53_defconfig: Enable A53 splashscreen at u-boot SPL

Enable A53 splashscreen at u-boot SPL stage. SPL_MAX_SIZE is bumped up
to 0x80000 to accommodate splash related code. Include
splashscreen.config to enable splashscreen.

Signed-off-by: Swamil Jain <s-jain1@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
7 weeks agoconfigs: am62x_evm_a53_ethboot_defconfig: Disable splashscreen
Swamil Jain [Tue, 19 May 2026 14:17:15 +0000 (19:47 +0530)] 
configs: am62x_evm_a53_ethboot_defconfig: Disable splashscreen

The ethboot configuration inherits splashscreen settings from
am62x_evm_a53_defconfig. Use the prune fragment to disable this
functionality as a baseline before adding targeted splashscreen support
in follow-up commits.

Signed-off-by: Swamil Jain <s-jain1@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
7 weeks agoconfigs: am62x: Add splashscreen prune config fragment
Devarsh Thakkar [Tue, 19 May 2026 14:17:14 +0000 (19:47 +0530)] 
configs: am62x: Add splashscreen prune config fragment

Add config fragment to disable splashscreen. This is especially useful
for platforms such as AM62P as splash needs to be disabled while using
TI-DM firmware with display sharing feature enabled.

Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Signed-off-by: Swamil Jain <s-jain1@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
7 weeks agoconfigs: am62x: Add splashscreen config fragment
Devarsh Thakkar [Tue, 19 May 2026 14:17:13 +0000 (19:47 +0530)] 
configs: am62x: Add splashscreen config fragment

Add config fragment to enable splashscreen functionality for AM62x
platforms. This fragment can be included by defconfigs that require
splashscreen support.

Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Signed-off-by: Swamil Jain <s-jain1@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
7 weeks agotimer: sp804: Fix dev_read_addr error check
Francois Berder [Tue, 19 May 2026 09:41:54 +0000 (11:41 +0200)] 
timer: sp804: Fix dev_read_addr error check

dev_read_addr returns FDT_ADDR_T_NONE (-1) in case of error
and not 0.

Signed-off-by: Francois Berder <fberder@outlook.fr>
7 weeks agoMerge patch series "Clean up bloblist initialization"
Tom Rini [Tue, 2 Jun 2026 15:30:33 +0000 (09:30 -0600)] 
Merge patch series "Clean up bloblist initialization"

Tom Rini <trini@konsulko.com> says:

This series does a few small but important cleanups to how we check for,
and initialize a bloblist. The first thing is that the way things are
done today, our HANDOFF code can only work with a fixed bloblist
location, so express that requirement in Kconfig. Next, we demote the
scary message about "Bloblist at ... not found" to a debug because we
most often see that because the bloblist doesn't (and can't) exist yet.
Finally, we remove bloblist_maybe_init and split this in to an exists
and a real init. This results in practically no growth (between 8 bytes
growth to 12 bytes saved, with some outliers saving much more thanks to
knowing it's impossible to have been passed a bloblist yet). This also
cleans up some of the code around checking for / knowing about a
bloblist existing.

Link: https://lore.kernel.org/r/20260519162225.770071-1-trini@konsulko.com
7 weeks agobloblist: Rework bloblist_init and bloblist_maybe_init
Tom Rini [Tue, 19 May 2026 16:20:56 +0000 (10:20 -0600)] 
bloblist: Rework bloblist_init and bloblist_maybe_init

With bloblist, we need to both see if one already exists as well as
create one if it does not. However, the current implementation leads to
odd cases where we attempt to create a bloblist before this is possible
and have things be overly complicated when we are given one to work
with.

This reworks things to instead have a bloblist_exists function, which as
the name implies checks for an existing bloblist. This is used in
the case of booting, to see if we have one and in turn if we have a
device tree there as well as in the bloblist_init function to see if we
need to do anything.

In practical details, we move the logic from bloblist_init that was
checking for a bloblist to the new bloblist_exists function and then can
clarify the logic as it is much easier to state when we know we do not
have one rather than all the ways we might have one. Then we have the
locations that set gd->bloblist now also set the GD_FLG_BLOBLIST_READY
flag.

Reviewed-by: Raymond Mao <raymondmaoca@gmail.com>
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agobloblist: Demote not finding a bloblist to a debug
Tom Rini [Tue, 19 May 2026 16:20:55 +0000 (10:20 -0600)] 
bloblist: Demote not finding a bloblist to a debug

The message about not finding a bloblist will quite often be seen at
least once, and is non-fatal. Demote this to a log_debug message from a
log_warning message.

Reviewed-by: Raymond Mao <raymondmaoca@gmail.com>
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agobloblist / handoff: Make this depend on BLOBLIST_FIXED
Tom Rini [Tue, 19 May 2026 16:20:54 +0000 (10:20 -0600)] 
bloblist / handoff: Make this depend on BLOBLIST_FIXED

Currently, the only way we support passing a bloblist from one stage to
the next is via the BLOBLIST_FIXED mechanism. Update the Kconfig logic
to express this constraint.

Reviewed-by: Raymond Mao <raymondmaoca@gmail.com>
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agoMerge patch series "video: bridge: anx6345: Staticize and constify driver ops"
Tom Rini [Fri, 29 May 2026 23:22:43 +0000 (17:22 -0600)] 
Merge patch series "video: bridge: anx6345: Staticize and constify driver ops"

This series from Marek Vasut <marek.vasut+renesas@mailbox.org> adds
"static" and "const" keywords to structs where they are missing and
would be useful to have.

Link: https://lore.kernel.org/r/20260510171723.56866-1-marek.vasut+renesas@mailbox.org
7 weeks agovideo console: add 6x8 console font from linux
Alexey Charkov [Tue, 12 May 2026 19:31:50 +0000 (23:31 +0400)] 
video console: add 6x8 console font from linux

Small screens on the order of 256x144 pixels can't fit much text at 8x16,
and 4x6 is virtually illegible, so add an in-between 6x8 font from Linux.

Font data obtained from lib/fonts/font_6x8.c in the Linux kernel at commit
db65872b38dc ("lib/fonts: Remove internal symbols and macros from public
header file")

Link: https://github.com/torvalds/linux/blob/db65872b38dc9f18a62669d6ae1e4ec7868a85a9/lib/fonts/font_6x8.c
Signed-off-by: Alexey Charkov <alchark@flipper.net>
7 weeks agovideo: kconfig: replace tristate with bool for LCD panel drivers
Dario Binacchi [Tue, 12 May 2026 07:54:01 +0000 (09:54 +0200)] 
video: kconfig: replace tristate with bool for LCD panel drivers

U-Boot does not support loadable modules, therefore using 'tristate'
in Kconfig is incorrect since the 'm' option cannot be selected.

Replace tristate with bool for the affected LCD panel drivers to
reflect the U-Boot build model and avoid misleading configuration
options.

No functional change intended.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com>
7 weeks agovideo: Kconfig: fix indentation of help text
Dario Binacchi [Tue, 12 May 2026 07:51:40 +0000 (09:51 +0200)] 
video: Kconfig: fix indentation of help text

Fix the indentation of the help text for VIDEO_LCD_NOVATEK_NT35510 and
VIDEO_LCD_ORISETECH_OTM8009A to align with the standard Kconfig format.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
7 weeks agovideo: simplefb: Parse memory region from memory-region property
Aelin Reidel [Sun, 3 May 2026 19:34:53 +0000 (21:34 +0200)] 
video: simplefb: Parse memory region from memory-region property

Linux' simplefb driver allows setting the memory-region property to a
phandle to a node that describes the memory to be used for the
framebuffer. If it is present, it will override the "reg" property.

This adds support for parsing the property and prefers it if present.

Signed-off-by: Aelin Reidel <aelin@mainlining.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
7 weeks agovideo: simplefb: Map framebuffer region on probe on ARM64
Luca Weiss [Wed, 8 Apr 2026 12:04:28 +0000 (14:04 +0200)] 
video: simplefb: Map framebuffer region on probe on ARM64

The framebuffer buffer might not be mapped on some devices.

This is #ifdef'ed for ARM64 since mmu_map_region() is not defined for
any other architecture.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Acked-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
7 weeks agovideo: Correct dependencies for VIDEO_TIDSS
Tom Rini [Mon, 23 Mar 2026 19:53:11 +0000 (13:53 -0600)] 
video: Correct dependencies for VIDEO_TIDSS

The VIDEO_TIDSS functionality can only work with PANEL enabled, so
express this dependency in Kconfig for all phases.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agovideo: Correct dependencies for VIDEO_LCD_RAYDIUM_RM68200
Tom Rini [Mon, 23 Mar 2026 19:53:09 +0000 (13:53 -0600)] 
video: Correct dependencies for VIDEO_LCD_RAYDIUM_RM68200

The VIDEO_LCD_RAYDIUM_RM68200 functionality can only work with BACKLIGHT
enabled, so express this dependency in Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agovideo: Correct dependencies of LOGICORE_DP_TX
Tom Rini [Fri, 20 Mar 2026 20:53:54 +0000 (14:53 -0600)] 
video: Correct dependencies of LOGICORE_DP_TX

In order to build LOGICORE_DP_TX we must also have enabled AXI, so add
that as a dependency as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
7 weeks agocommon: splash_source: fix cryptic error messages
Anshul Dalal [Thu, 12 Mar 2026 05:00:12 +0000 (10:30 +0530)] 
common: splash_source: fix cryptic error messages

Some error messages emitted while loading the splash image are too
cryptic and don't provide any insights into the failure being a splash
related issue, such as 'Error (-2): cannot determine file size' etc.

This patch fixes the error codes by adding the function name to the
error print.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
[trini: Add missing ',' and wrap to 80-width]
Signed-off-by: Tom Rini <trini@konsulko.com>
8 weeks agovideo: tegra: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:17:06 +0000 (19:17 +0200)] 
video: tegra: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agovideo: tda19988: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:17:05 +0000 (19:17 +0200)] 
video: tda19988: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agovideo: stm32: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:17:04 +0000 (19:17 +0200)] 
video: stm32: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Raphaƫl Gallais-Pou <rgallaispou@gmail.com>
8 weeks agovideo: imx: ldb: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:17:03 +0000 (19:17 +0200)] 
video: imx: ldb: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agovideo: dw_mipi_dsi: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:17:02 +0000 (19:17 +0200)] 
video: dw_mipi_dsi: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agovideo: console: truetype: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:17:01 +0000 (19:17 +0200)] 
video: console: truetype: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agovideo: console: rotate: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:17:00 +0000 (19:17 +0200)] 
video: console: rotate: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agovideo: console: normal: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:16:59 +0000 (19:16 +0200)] 
video: console: normal: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agovideo: bridge: ptn3460: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:16:58 +0000 (19:16 +0200)] 
video: bridge: ptn3460: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agovideo: bridge: ps862x: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:16:57 +0000 (19:16 +0200)] 
video: bridge: ps862x: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agovideo: bridge: anx6345: Staticize and constify driver ops
Marek Vasut [Sun, 10 May 2026 17:16:56 +0000 (19:16 +0200)] 
video: bridge: anx6345: Staticize and constify driver ops

Set the ops structure as static const. The structure is not accessible
from outside of this driver and is not going to be modified at runtime.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agoboot: cedit: Check ofnode_read_prop return value
Francois Berder [Mon, 18 May 2026 14:39:27 +0000 (16:39 +0200)] 
boot: cedit: Check ofnode_read_prop return value

In h_read_settings, val variable could be NULL due to
ofnode_read_prop returning an error. This variable
would then be used as the src in strcpy.

Add a NULL check after calling ofnode_read_prop.

Signed-off-by: Francois Berder <fberder@outlook.fr>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 weeks agoMerge patch series "board: phytec: Update rm-cfgs, env and docs"
Tom Rini [Fri, 29 May 2026 20:23:01 +0000 (14:23 -0600)] 
Merge patch series "board: phytec: Update rm-cfgs, env and docs"

Wadim Egorov <w.egorov@phytec.de> says:

This is a small updates across all K3 based phytec SoMs.
Update docs, rm-cfg yaml files and drop rauc environment.

Link: https://lore.kernel.org/r/20260513071905.83522-1-w.egorov@phytec.de
8 weeks agodoc: board: phytec: Document DDR size override Kconfigs
Wadim Egorov [Wed, 13 May 2026 07:19:05 +0000 (09:19 +0200)] 
doc: board: phytec: Document DDR size override Kconfigs

The phyCORE-AM62x and phyCORE-AM64x R5 SPL detects the populated DDR
size from the SoM EEPROM and falls back to 2 GB if detection fails. For
boards without a populated EEPROM or if no detection needed, the detection
can be bypassed via CONFIG_PHYCORE_AM6{2,4}X_RAM_SIZE_FIX and one of
the CONFIG_PHYCORE_AM6{2,4}X_RAM_SIZE_<size> choices.

Add a "DDR RAM Size" section to both board docs describing this
behaviour and listing the available size options (1/2/4 GB for AM62x,
1/2 GB for AM64x).

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
8 weeks agodoc: board: phytec: k3: Document boot flow and watchdog
Wadim Egorov [Wed, 13 May 2026 07:19:04 +0000 (09:19 +0200)] 
doc: board: phytec: k3: Document boot flow and watchdog

Add two short sections to the common K3 phyCORE docs.
Describe the default boot flow and its deprecated version.
And write down the use of the watchdog.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
8 weeks agodoc: board: phytec: Fix typos and copy-paste errors in K3 docs
Wadim Egorov [Wed, 13 May 2026 07:19:03 +0000 (09:19 +0200)] 
doc: board: phytec: Fix typos and copy-paste errors in K3 docs

A handful of small inaccuracies had crept into the phyCORE-AM6x docs.
Mostly typos and formatting Issues. Fix them. While at it, update the
am62a board to use the correct product link.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
8 weeks agoinclude: env: phytec: Drop legacy RAUC boot logic
Wadim Egorov [Wed, 13 May 2026 07:19:02 +0000 (09:19 +0200)] 
include: env: phytec: Drop legacy RAUC boot logic

RAUC slot selection is now handled by the RAUC bootmeth, which all
phytec K3 boards use. Remove the unused env-based logic.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Reviewed-by: Martin Schwan <m.schwan@phytec.de>
8 weeks agoboard: phytec: phycore_am68x: Update rm-cfg
Wadim Egorov [Wed, 13 May 2026 07:19:01 +0000 (09:19 +0200)] 
board: phytec: phycore_am68x: Update rm-cfg

Mirror the j721s2 changes from commit c4fcf9b806ae ("board: ti: j7*:
Update rm-cfg and tifs-rm-cfg") to repurpose allocated resources with
version V11.02.07 of k3-resource-partition.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
Acked-by: Dominik Haller <d.haller@phytec.de>
8 weeks agoarm: dts: k3-am625-phycore-som-binman: Enable tifs-rm-cfg
Wadim Egorov [Wed, 13 May 2026 07:19:00 +0000 (09:19 +0200)] 
arm: dts: k3-am625-phycore-som-binman: Enable tifs-rm-cfg

Add rcfg_yaml_tifs node override to use tifs-rm-cfg.yaml instead of
the default rm-cfg.yaml for the phyCORE-AM62x SoM.

This enables binman to include the tifs-rm-cfg.yaml configuration
when building tiboot3 images, bringing the phyCORE-AM62x SoM in line
with other K3 devices that already use tifs-rm-cfg.yaml.

This builds on the tifs-rm-cfg file added earlier in this series.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>