]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
10 hours agoMerge patch series "sc5xx Environment Cleanup and Fixes" next
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
10 hours 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
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
10 hours 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>
36 hours 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

36 hours 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.

38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
38 hours 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>
2 days 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>
2 days 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>
2 days 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>
2 days 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
2 days 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>
2 days 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>
2 days 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>
2 days 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>
2 days 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>
2 days 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
2 days 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>
2 days 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>
2 days 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>
5 days 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
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
5 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days 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>
6 days agoboard: phytec: phycore_am62x: Add tifs-rm-cfg
Wadim Egorov [Wed, 13 May 2026 07:18:59 +0000 (09:18 +0200)] 
board: phytec: phycore_am62x: Add tifs-rm-cfg

Add a separate tifs-rm-cfg.yaml so the TIFS bundle uses the trimmed
TIFS view instead of reusing rm-cfg.yaml, matching the rest of the
AM62 boards.

Mirrors commit 964bda9e805d ("board: ti: am62x: tifs-rm-cfg: Add the
missing tifs-rm-cfg:") for the phyCORE-AM62x SoM.

Signed-off-by: Wadim Egorov <w.egorov@phytec.de>
6 days agoMerge patch series "board: toradex: k3: Sync rm-cfg with TIFS v12.00.00 firmware"
Tom Rini [Fri, 29 May 2026 20:22:20 +0000 (14:22 -0600)] 
Merge patch series "board: toradex: k3: Sync rm-cfg with TIFS v12.00.00 firmware"

Ernest Van Hoecke <ernestvanhoecke@gmail.com> says:

This series updates the Resource Management configuration for Toradex
K3-based boards and makes sure the TIFS-specific RM configuration is
used where applicable.

For Verdin AM62P, the tifs-rm-cfg.yaml file is refreshed with
k3-resource-partition V12.00.00 so that it stays in sync with the
existing rm-cfg.yaml update for the v11.02.09 and v12.00.00 TIFS
firmware resource reservation.

For Verdin AM62, the missing tifs-rm-cfg.yaml file is added. The file
matches the TI AM62x configuration, and rm-cfg.yaml was verified to
remain unchanged when regenerated with the same tool version.

For Aquila AM69, both rm-cfg.yaml and tifs-rm-cfg.yaml are updated to
match the resource allocation changes already present in the TI J784S4
configuration files.

Finally, the Verdin AM62 and Verdin AM62P binman descriptions are
updated to use tifs-rm-cfg.yaml for the TIFS RM fragment when building
tiboot3 images, following the same pattern used by the corresponding TI
AM62x/AM62Px platforms.

The generated/updated files were compared against the matching TI board
configuration files where applicable.

Link: https://lore.kernel.org/r/20260508-v1-update-rm-cfg-v1-0-ec9d033f8ec1@toradex.com
6 days agoarm: dts: k3: k3-am62*5-verdin-binman: Enable tifs-rm-cfg in binman
Ernest Van Hoecke [Fri, 8 May 2026 08:52:12 +0000 (10:52 +0200)] 
arm: dts: k3: k3-am62*5-verdin-binman: Enable tifs-rm-cfg in binman

Add rcfg_yaml_tifs node overrides to use tifs-rm-cfg.yaml instead of
the default rm-cfg.yaml for Verdin AM62 and Verdin AM62P platforms.

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

This follows the changes done by TI to their am62x/am62px platforms. [1]

[1] commit 41814276f03e ("arm: dts: k3: am62x/am62px: Enable tifs-rm-cfg in binman")

Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
6 days agoboard: toradex: aquila-am69: update rm-cfg.yaml and tifs-rm-cfg.yaml
Ernest Van Hoecke [Fri, 8 May 2026 08:52:11 +0000 (10:52 +0200)] 
board: toradex: aquila-am69: update rm-cfg.yaml and tifs-rm-cfg.yaml

Repurpose the allocated resources with version V12.00.00 of
k3-resource-partition, matching the update made for the TI J784S4
configuration files. [1]

The Aquila AM69 rm-cfg.yaml and tifs-rm-cfg.yaml remain aligned with
board/ti/j784s4/*-rm-cfg.yaml.

[1] commit c4fcf9b806ae ("board: ti: j7*: Update rm-cfg and tifs-rm-cfg")

Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
6 days agoboard: toradex: verdin-am62: add missing tifs-rm-cfg.yaml
Ernest Van Hoecke [Fri, 8 May 2026 08:52:10 +0000 (10:52 +0200)] 
board: toradex: verdin-am62: add missing tifs-rm-cfg.yaml

Add the previously missing TIFS RM configuration, generated with
V12.00.00 of k3-resource-partition.

This file is exactly the same as board/ti/am62x/tifs-rm-cfg.yaml.

rm-cfg.yaml and tifs-rm-cfg.yaml need to be in sync, this was already
taken care of by TI. [1]

It was verified that rm-cfg.yaml also remained unchanged with V12.00.00
of the tool.

[1] commit 64ebab10b5ea ("toradex: verdin-am62: rm-cfg: Update rm-cfg to reflect new resource reservation")

Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
6 days agoboard: toradex: verdin-am62p: update tifs-rm-cfg
Ernest Van Hoecke [Fri, 8 May 2026 08:52:09 +0000 (10:52 +0200)] 
board: toradex: verdin-am62p: update tifs-rm-cfg

TI updated rm-cfg for v11.02.09 of the TIFS firmware. [1]

Refresh the tifs-rm-cfg.yaml as well, with version V12.00.00 of
k3-resource-partition, so that it remains in sync with rm-cfg.yaml.

rm-cfg.yaml was also updated with V12.00.00 of the tool and noted to
have no changes.

[1] commit a66704e9a18b ("board: toradex: verdin-am62p: rm-cfg: Update rm-cfg to reflect new resource reservation")

Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
6 days agoboard: ti: j722s: add processor ACL entry for wkup_r5
Abhash Kumar Jha [Fri, 15 May 2026 08:17:45 +0000 (13:47 +0530)] 
board: ti: j722s: add processor ACL entry for wkup_r5

On the j722s platform, the DM firmware resets the wkup_r5 core at boot to
enable both of its TCM memories.

This reset sequence involves three steps:
- Acquiring processor ownership of wkup_r5
- Configuring the core and requesting a reset via TIFS
- Releasing ownership.

When the Linux remoteproc driver comes up, it acquires ownership of wkup_r5
to query its state, making A53_2 the new owner.
During system suspend, TIFS saves the processor ACL[1] table to DDR as
part of its context.

On resume, TIFS restores the ACL table, leaving A53_2 as the owner of
wkup_r5. At this point, DM (WKUP_0_R5_0 host[2]) no longer has ownership
and is therefore unable to perform the reset sequence it needs,
causing it to crash.

To fix this, configure the wkup_r5[3] processor with dual ownership:
- WKUP_0_R5_0 (Secure) as primary owner.
- A53_2 (Non-Secure) as secondary owner.

[1] https://software-dl.ti.com/tisci/esd/latest/3_boardcfg/BOARDCFG_SEC.html#pub-boardcfg-proc-acl
[2] https://software-dl.ti.com/tisci/esd/latest/5_soc_doc/j722s/hosts.html
[3] https://software-dl.ti.com/tisci/esd/latest/5_soc_doc/j722s/processors.html

Signed-off-by: Abhash Kumar Jha <a-kumar2@ti.com>
Reviewed-by: Neha Malcom Francis <n-francis@ti.com>
6 days agoMerge patch series "Update envs to use Kconfig values"
Tom Rini [Fri, 29 May 2026 20:04:00 +0000 (14:04 -0600)] 
Merge patch series "Update envs to use Kconfig values"

Anshul Dalal <anshuld@ti.com> says:

Some minor fixes to K3's env to avoid using hardcoded addresses but
instead move to Kconfig symbols.

Link: https://lore.kernel.org/r/20260518-env_to_kconfig_migration-v1-0-24c8fba75ad3@ti.com
6 days agoenv: ti: k3_dfu: use Kconfig options for addresses
Anshul Dalal [Mon, 18 May 2026 08:22:53 +0000 (13:52 +0530)] 
env: ti: k3_dfu: use Kconfig options for addresses

The load addresses for DFU download binaries were hardcoded for K3
devices which required redefinition of such env for boards that deviated
from the expected K3 memory map (such as AM6254atl EMV).

This patch replaces the hardcoded addresses with their corresponding
Kconfig options making the k3_dfu.env more general.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
6 days agoenv: ti: k3_dfu: load only the next stage binary
Anshul Dalal [Mon, 18 May 2026 08:22:52 +0000 (13:52 +0530)] 
env: ti: k3_dfu: load only the next stage binary

In the TI's K3 bootflow of tiboot3.bin -> tispl.bin -> u-boot.img:
                             (R5 SPL)      (A53 SPL)

We currently provide a common dfu_alt_info_ram for both R5 SPL and A53
SPL which is not intuitive in a regular bootflow where each binary
should only request it's immediate next stage.

This patch updates dfu_alt_info_ram such that the R5 SPL would only
request for tispl.bin and A53 SPL would only request u-boot.img.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
8 days agoam33xx: don't assume we have a UCLASS_MISC device present
Jeremy Kerr [Fri, 8 May 2026 07:11:32 +0000 (15:11 +0800)] 
am33xx: don't assume we have a UCLASS_MISC device present

Boot on am33xx without CONFIG_USB will currently fail, as we error-out
of arch_misc_init() if no UCLASS_MISC device is found. This requirement
was introduced in commit 3aec2648698d ("am33xx: board: probe misc
drivers to register musb devices").

Instead, only attempt the UCLASS_MISC init if we would expect the MUSB
TI device to be present. Add a comment to explain why we're doing the
device lookup (which we immediately discard).

Fixes: 3aec2648698d ("am33xx: board: probe misc drivers to register musb devices")
Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 days agocommon/command.c: Avoid NULL pointer use in cmd_auto_complete
Adam Lackorzynski [Fri, 15 May 2026 20:47:30 +0000 (22:47 +0200)] 
common/command.c: Avoid NULL pointer use in cmd_auto_complete

Avoid using ps_prompt having a NULL pointer. For that, use the same
approach as in uboot_cli_readline().

Suggested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Adam Lackorzynski <adam@l4re.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 days agofs: fat: fix seconds in timestamp
Heinrich Schuchardt [Sat, 16 May 2026 18:37:00 +0000 (20:37 +0200)] 
fs: fat: fix seconds in timestamp

The FAT time format stores seconds/2 in bits 4:0. The expression
'tm.tm_sec > 1' is a boolean comparison (yields 0 or 1) where a
right-shift 'tm.tm_sec >> 1' was intended.  As a result every
file timestamp written by U-Boot has its seconds field set to
either 0 or 1, depending on whether tm_sec is greater than 1.

Also fix the indentation of the tm_hour line.

Fixes: ba23c378c544 ("fs: fat: fill creation and change date")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 days agoMerge patch series "fit: dm-verity support"
Tom Rini [Wed, 27 May 2026 19:44:20 +0000 (13:44 -0600)] 
Merge patch series "fit: dm-verity support"

Daniel Golle <daniel@makrotopia.org> says:

This series adds dm-verity support to U-Boot's FIT image infrastructure.
It is the first logical subset of the larger OpenWrt boot method series
posted as an RFC in February 2026 [1], extracted here for independent
review and merging.

OpenWrt's firmware model embeds a read-only squashfs or erofs root
filesystem directly inside a uImage.FIT container as a FILESYSTEM-type
loadable FIT image. At boot the kernel maps this sub-image directly from
the underlying block device via the fitblk driver (/dev/fit0, /dev/fit1,
...), the goal is that the bootloader never even copies it to RAM.

dm-verity enables the kernel to verify the integrity of those mapped
filesystems at read time, with a Merkle hash tree stored contiguously in
the same sub-image just after the data. Two kernel command-line
parameters are required:

  dm-mod.create=   -- the device-mapper target table for the verity device
  dm-mod.waitfor=  -- a comma-separated list of block devices to wait for
                      before dm-init sets up the targets (needed when fitblk
                      probes late, e.g. because it depends on NVMEM
                      calibration data)

The FIT dm-verity node schema was upstreamed into the flat-image-tree
specification [2], which this implementation tries to follow exactly.

The runtime feature is guarded behind CONFIG_FIT_VERITY. If not
enabled the resulting binary size remains unchanged. If enabled the
binary size increases by about 3kB.

[1] previous submissions:
    RFC: https://www.mail-archive.com/u-boot@lists.denx.de/msg565945.html
    v1:  https://www.mail-archive.com/u-boot@lists.denx.de/msg569472.html
    v2:  https://www.mail-archive.com/u-boot@lists.denx.de/msg570599.html
    v3:  https://www.mail-archive.com/u-boot@lists.denx.de/msg573223.html
    v4:  https://www.mail-archive.com/u-boot@lists.denx.de/msg574000.html

[2] flat-image-tree dm-verity node spec:
    https://github.com/open-source-firmware/flat-image-tree/commit/795fd5fd7f0121d0cb03efb1900aafc61c704771

Link: https://lore.kernel.org/r/cover.1778887196.git.daniel@makrotopia.org
8 days agoconfigs: sandbox: enable CONFIG_FIT_VERITY
Daniel Golle [Fri, 15 May 2026 23:38:54 +0000 (00:38 +0100)] 
configs: sandbox: enable CONFIG_FIT_VERITY

Enable FIT_VERITY in the sandbox configs that build a full U-Boot
binary so CI may exercise the new dm-verity unit test
(test/boot/fit_verity.c) and the mkimage pytest
(test/py/tests/test_fit_verity.py) introduced earlier in this series.

The SPL/VPL/noinst variants only load U-Boot proper, never an OS, so
dm-verity is meaningless there and is not enabled.

Suggested-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
8 days agotest: py: add mkimage dm-verity round-trip test
Daniel Golle [Fri, 15 May 2026 23:38:39 +0000 (00:38 +0100)] 
test: py: add mkimage dm-verity round-trip test

Add test/py/tests/test_fit_verity.py covering:
 - mkimage writes correct dm-verity properties for matched and
   mismatched block sizes (4096/4096 and 4096/1024);
 - veritysetup verify re-checks the digest against the .itb's
   external data section;
 - mkimage rejects dm-verity images built without -E.

All tests are skipped if veritysetup is not installed on the host.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 days agotest: boot: add runtime unit test for fit_verity_build_cmdline()
Daniel Golle [Fri, 15 May 2026 23:38:27 +0000 (00:38 +0100)] 
test: boot: add runtime unit test for fit_verity_build_cmdline()

Add test/boot/fit_verity.c with four tests that construct FIT blobs
in memory and exercise fit_verity_build_cmdline().

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 days agodoc: fit: add dm-verity boot parameter documentation
Daniel Golle [Fri, 15 May 2026 23:38:16 +0000 (00:38 +0100)] 
doc: fit: add dm-verity boot parameter documentation

Add documentation for CONFIG_FIT_VERITY which allows U-Boot to
construct dm-mod.create= and dm-mod.waitfor= kernel command-line
parameters from dm-verity metadata embedded in FIT filesystem
sub-images.

The new document covers the relationship between FIT loadable indices
and the /dev/fitN block devices that the Linux uImage.FIT block driver
creates, provides a complete .its example with a dm-verity-protected
SquashFS root filesystem, describes all required and optional dm-verity
subnode properties and explains how mkimage generates the verity
metadata automatically.

dm-verity is only supported for external-data FIT images (mkimage -E);
mkimage aborts with an error if the flag is omitted.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 days agotools: mkimage: add dm-verity Merkle-tree generation
Daniel Golle [Fri, 15 May 2026 23:38:07 +0000 (00:38 +0100)] 
tools: mkimage: add dm-verity Merkle-tree generation

When mkimage encounters a dm-verity subnode inside a component image
node it now automatically invokes veritysetup(8) with --no-superblock
to generate the Merkle hash tree, screen-scrapes the Root hash and Salt
from the tool output, and writes the computed properties back into the
FIT blob.

The user only needs to specify algorithm, data-block-size, and
hash-block-size in the ITS; mkimage fills in digest, salt,
num-data-blocks, and hash-start-block. Because --no-superblock is
used, hash-start-block equals num-data-blocks with no off-by-one.

The image data property is replaced with the expanded content (original
data followed directly by the hash tree) so that subsequent hash and
signature subnodes operate on the complete image.

fit_image_add_verification_data() is restructured into two passes:
dm-verity first (may grow data), then hashes and signatures.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 days agoinclude: hexdump: make hex2bin() usable from host tools
Daniel Golle [Fri, 15 May 2026 23:37:59 +0000 (00:37 +0100)] 
include: hexdump: make hex2bin() usable from host tools

Make hexdump.h work in host-tool builds by using 'uint8_t' instead
of 'u8', and including either user-space libc <ctype.h> for host-tools
or <linux/ctype.h> when building U-Boot itself.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Simon Glass <sjg@chromium.org>