]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
5 months agoCI: Add "allyesconfig" to one of the build jobs
Tom Rini [Wed, 31 Dec 2025 17:13:41 +0000 (11:13 -0600)] 
CI: Add "allyesconfig" to one of the build jobs

Now that we can have "make allyesconfig" build and link, add this type
of build to the job which builds host tools as well. In GitLab, make
this job rather than binman testsuite be the job which unblocks the next
stage of the pipeline. This is because we had been using that job for
"sandbox builds", and now that we have an explicit test for that, we
should use it.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agospi: Correct dependencies on AIROHA_SNFI_SPI
Tom Rini [Tue, 30 Dec 2025 17:10:38 +0000 (11:10 -0600)] 
spi: Correct dependencies on AIROHA_SNFI_SPI

This driver is only possible to build on ARCH_AIROHA, so update the
dependencies.

Fixes: 6134e4efd432 ("spi: airoha: Add Airoha SPI NAND driver")
Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agoconfigs: Resync with savedefconfig
Tom Rini [Tue, 6 Jan 2026 15:13:29 +0000 (09:13 -0600)] 
configs: Resync with savedefconfig

Resync all defconfig files using qconfig.py

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agoMerge branch 'next'
Tom Rini [Mon, 5 Jan 2026 21:12:02 +0000 (15:12 -0600)] 
Merge branch 'next'

5 months agoPrepare v2026.01 v2026.01
Tom Rini [Mon, 5 Jan 2026 20:49:22 +0000 (14:49 -0600)] 
Prepare v2026.01

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agokbuild: Produce diff between base DT and U-Boot augmented DT if DEVICE_TREE_DEBUG=1
Marek Vasut [Fri, 19 Dec 2025 02:40:44 +0000 (03:40 +0100)] 
kbuild: Produce diff between base DT and U-Boot augmented DT if DEVICE_TREE_DEBUG=1

In case DEVICE_TREE_DEBUG is set, produce a diff between the base DT and
DT with U-Boot extras, to show how much does the U-Boot DT differ from
the base DT. This is particularly useful together with OF_UPSTREAM, to
minimize the diff between upstream DTs and U-Boot DTs.

This requires DTC 1.7.2 which does not resolve phandles when used in
the 'dtc -I dts -O dts ...' mode. With older DTC, the diff is full of
churn due to the resolved phandles.

Example usage:
$ make r8a779g3_sparrowhawk_defconfig && make DEVICE_TREE_DEBUG=1
$ cat ./dts/upstream/src/arm64/renesas/r8a779g3-sparrow-hawk.dtb.diff

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agoscripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c
Marek Vasut [Tue, 2 Dec 2025 19:32:50 +0000 (20:32 +0100)] 
scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c

Synchronize local copy of DTC with Linux 6.17 . This includes the
following picked and squashed commits from Linux kernel. The squash
was necessary, since the DTC here contains changes which were also
part of DTC in Linux alraedy, and the squash helped resolve those
without going back and forth with the changes.

The following commits from Linux are picked:

8f324cd712df7 # scripts/dtc: consolidate include path options in Makefile
b5b3d9b63b0ee # scripts/dtc: Add yamltree.c to dtc sources
7d97a76f226d6 # scripts/dtc: Update to upstream version v1.4.7-14-gc86da84d30e4
ea6f243be74e5 # scripts/dtc: Update to upstream version v1.4.7-57-gf267e674d145
02d435d4eccd8 # scripts/dtc: Update to upstream version v1.5.0-23-g87963ee20693
6e321b7637396 # scripts/dtc: Update to upstream version v1.5.0-30-g702c1b6c0e73
9f19ec91a7a35 # scripts/dtc: dtx_diff - add color output support
8287d642f38d1 # scripts/dtc: Update to upstream version v1.5.1-22-gc40aeb60b47a
4c52deef9225d # scripts/dtc: Revert "yamltree: Ensure consistent bracketing of properties with phandles"
5d3827e1452ed # scripts/dtc: Remove unused makefile fragments
40dd266887654 # scripts/dtc: Update to upstream version v1.6.0-2-g87a656ae5ff9
8d4cf6b6acb59 # scripts/dtc: use pkg-config to include <yaml.h> in non-standard path
b9bf9ace5ae90 # scripts/dtc: Update to upstream version v1.6.0-11-g9d7888cbf19c
69a883b6f5ac0 # scripts/dtc: dtx_diff - make help text formatting consistent
8f829108b8aed # scripts/dtc: only append to HOST_EXTRACFLAGS instead of overwriting
b39b4342ac495 # scripts/dtc: Update to upstream version v1.6.0-31-gcbca977ea121
93c6424c486b3 # scripts: dtc: Fetch fdtoverlay.c from external DTC project
0dd574a1d75c3 # scripts/dtc: Update to upstream version v1.6.0-51-g183df9e9c2b9
ec38b5df8a231 # scripts: dtc: Build fdtoverlay tool
a0c8c431411f5 # scripts: dtc: Remove the unused fdtdump.c file
e7dc653d4e890 # scripts/dtc: Add missing fdtoverlay to gitignore
d2bf5d2e3f09c # scripts/dtc: Update to upstream version v1.6.1-19-g0a3a9d3449c8
a60878f5532d0 # scripts/dtc: dtx_diff: remove broken example from help text
8b739d8658a9b # scripts/dtc: Call pkg-config POSIXly correct
b6eeafa67df00 # scripts/dtc: Update to upstream version v1.6.1-63-g55778a03df61
f96cc4c787588 # scripts/dtc: Update to upstream version v1.6.1-66-gabbd523bae6e
09ab9c092ef2b # scripts/dtc: Update to upstream version v1.7.0-93-g1df7b047fe43
ded8a5a498f2d # scripts/dtc: Update to upstream version v1.7.0-95-gbcd02b523429
ee6ff6fca7e71 # scripts/dtc: Update to upstream version v1.7.2-35-g52f07dcca47c

This also includes forward port of U-Boot commit
e8c2d25845c7 ("libfdt: Revert 6dcb8ba4 from upstream libfdt")
to avoid binary size growth.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agoMerge tag 'scmi-master-2026-1-5' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Mon, 5 Jan 2026 14:39:49 +0000 (08:39 -0600)] 
Merge tag 'scmi-master-2026-1-5' of https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq

CI: https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq/-/pipelines/28902

- Fix non-CCF priv initialization in scmi_clk_gate()
- Fix typo in scmi_clk_get_attibute()
- Remove duplicated scmi_generic_protocol_version() request

5 months agoclk: scmi: Remove duplicated scmi_generic_protocol_version() request
Patrice Chotard [Thu, 18 Dec 2025 17:27:03 +0000 (18:27 +0100)] 
clk: scmi: Remove duplicated scmi_generic_protocol_version() request

scmi_generic_protocol_version() request is done twice in scmi_clk_probe().
Remove first call which is useless.

Fixes: ae7e0330ce22 ("clk: scmi: add compatibility with clock protocol 2.0")
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agoclk: scmi: Fix priv initialization in scmi_clk_gate()
Patrice Chotard [Thu, 18 Dec 2025 17:27:02 +0000 (18:27 +0100)] 
clk: scmi: Fix priv initialization in scmi_clk_gate()

In scmi_clk_probe(), in case of CLK_CCF is not enabled, parent private
data is not set, so in scmi_clk_gate(), an uninitialized priv struct is
retrieved.

SCMI request is performed either using scmi_clk_state_in_v1 or
scmi_clk_state_in_v2 struct depending of the unpredictable value of
priv->version which leads to error during SCMI clock enable.

Issue detected on STM32MP157C-DK2 board using the SCMI device tree
stm32mp157c-dk2-scmi.dts.

Fixes: 0619cb32030b ("firmware: scmi: Add clock v3.2 CONFIG_SET support")
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agoclk: scmi: Fix typo scmi_clk_get_attibute
Patrice Chotard [Thu, 18 Dec 2025 17:27:01 +0000 (18:27 +0100)] 
clk: scmi: Fix typo scmi_clk_get_attibute

Fix typo attibute, rename scmi_clk_get_attibute() to
scmi_clk_get_attribute().

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agoconfigs: qemu_arm64: disable SEMIHOSTING
Heinrich Schuchardt [Tue, 9 Dec 2025 23:59:05 +0000 (00:59 +0100)] 
configs: qemu_arm64: disable SEMIHOSTING

Semihosting allows a virtual machine to write to the host file system.
Such dangerous settings should not be in a defconfig.

Move it to a CI configuration override.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
5 months agolib/bcd: optimize _bin2bcd() for improved performance
Kuan-Wei Chiu [Thu, 11 Dec 2025 18:31:30 +0000 (18:31 +0000)] 
lib/bcd: optimize _bin2bcd() for improved performance

[ Upstream commit cbf164cd44e06c78938b4a4a4479d3541779c319 ]

The original _bin2bcd() function used / 10 and % 10 operations for
conversion.  Although GCC optimizes these operations and does not generate
division or modulus instructions, the new implementation reduces the
number of mov instructions in the generated code for both x86-64 and ARM
architectures.

This optimization calculates the tens digit using (val * 103) >> 10, which
is accurate for values of 'val' in the range [0, 178].  Given that the
valid input range is [0, 99], this method ensures correctness while
simplifying the generated code.

Link: https://lkml.kernel.org/r/20240812170229.229380-1-visitorckw@gmail.com
Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
Cc: Ching-Chun Huang (Jim) <jserv@ccns.ncku.edu.tw>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
[visitorckw@gmail.com: Adapt to bin2bcd() in include/bcd.h]
Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com>
5 months agocmd: onenand: Fix handling error path in onenand_block_test
Francois Berder [Thu, 18 Dec 2025 06:48:51 +0000 (07:48 +0100)] 
cmd: onenand: Fix handling error path in onenand_block_test

If memory allocation for verify_buf fails, then one
needs to make sure that memory allocated for buf is
released.

Signed-off-by: Francois Berder <fberder@outlook.fr>
5 months agodm: crypto: Check malloc return value
Francois Berder [Thu, 4 Dec 2025 19:34:12 +0000 (20:34 +0100)] 
dm: crypto: Check malloc return value

tmp_buffer is allocated using malloc but failure
is not handled.
This commit ensures that we do not use a NULL pointer
if malloc fails.

Signed-off-by: Francois Berder <fberder@outlook.fr>
5 months agoconfigs: sandbox: Select environment in FAT FS support
Marek Vasut [Wed, 17 Dec 2025 20:02:50 +0000 (21:02 +0100)] 
configs: sandbox: Select environment in FAT FS support

Commit 2a38e712652f ("sandbox: add FAT to the list of usable env drivers")
made environment storage in FAT available on sandbox, but did not enable
the matching ENV_IS_IN_FAT in sandbox configs. This leads to environment
driver lookup failure when env in non-EXT4 is selected using 'env select':

"
env_driver_lookup: No environment driver for location 3
priority not found
"

Enable the missing ENV_IS_IN_FAT to fix this.

Fixes: 2a38e712652f ("sandbox: add FAT to the list of usable env drivers")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agocmd: bdinfo: fix incorrect Kconfig options check for print_eth()
Quentin Schulz [Thu, 18 Dec 2025 10:59:58 +0000 (11:59 +0100)] 
cmd: bdinfo: fix incorrect Kconfig options check for print_eth()

CMD_NET_LWIP has never existed so it cannot be right. I'm guessing the
intent was to allow print_eth() to be called when NET_LWIP is defined
(NET means "legacy networking stack" as opposed to NET_LWIP which is the
 newest (and incompatible) stack). There probably was some mix-up
between CMD_NET and NET options.

The dependency on CMD_NET seems unnecessary as it seems perfectly fine
to run bdinfo without CMD_NET (build and run tested). So let's instead
make the dependency on NET || NET_LWIP.

Let's sync the unit test as well.

Fixes: 95744d2527cb ("cmd: bdinfo: enable -e when CONFIG_CMD_NET_LWIP=y")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
5 months agopwm: aspeed: replace %pe in dev_err()
David Lechner [Wed, 17 Dec 2025 00:56:35 +0000 (18:56 -0600)] 
pwm: aspeed: replace %pe in dev_err()

Replace %pe with %d and adjust the argument accordingly in a dev_err()
call in the pwm-aspeed driver. U-boot doesn't support the %pe format
specifier. Likely it was copied from Linux.

Signed-off-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
5 months agotoradex: tdx-cfg-block: add pid4 support for new modules
Emanuele Ghidoli [Tue, 16 Dec 2025 08:45:28 +0000 (09:45 +0100)] 
toradex: tdx-cfg-block: add pid4 support for new modules

Add new PID4 to ConfigBlock handling:
 - 0217 Lino iMX93 Dual 2GB IT
 - 0218 Lino iMX91 Solo 2GB IT
 - 0219 OSM iMX93 Dual 2GB IT
 - 0220 OSM iMX91 Solo 2GB IT
 - 0221 Verdin AM62 Dual 1GB ET

Lino and OSM are two new SoM families.
The Verdin variant differs from the existing 0073 Verdin AM62 Dual 1GB ET
by the presence of the GPU (AM625 instead of AM623), the absence of
DSI interface (bridge not mounted) and eMMC size increased to 16GB instead
of 4GB.

Link: https://www.toradex.com/computer-on-modules/lino-arm-family
Link: https://www.toradex.com/computer-on-modules/osm-arm-family
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
5 months agofs: ext4fs: Free memory while handling errors
Francois Berder [Mon, 15 Dec 2025 11:34:16 +0000 (12:34 +0100)] 
fs: ext4fs: Free memory while handling errors

If zalloc fails, one needs to free memory previously
allocated in the function. This commit makes sure that
we do not leak any memory.

Signed-off-by: Francois Berder <fberder@outlook.fr>
Fixes: ed34f34dbaf2 ("ext4fs write support")
Acked-by: Quentin Schulz <quentin.schulz@cherry.de>
5 months agom68k: Assure end of U-Boot is at 8-byte aligned offset
Marek Vasut [Sun, 28 Dec 2025 03:17:27 +0000 (04:17 +0100)] 
m68k: Assure end of U-Boot is at 8-byte aligned offset

Make sure the end of U-Boot is at 8-byte aligned offset, not 4-byte
aligned offset. This allows safely appending DT at the end of U-Boot
with the guarantee that the DT will be at 8-byte aligned offset. This
8-byte alignment is now checked by newer libfdt 1.7.2 .

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agokbuild: Bump the build system to 6.1
Sughosh Ganu [Tue, 16 Dec 2025 09:16:24 +0000 (11:16 +0200)] 
kbuild: Bump the build system to 6.1

Our last sync with the kernel was 5.1.

We are so out of sync now, that tracking the patches and backporting
them one by one makes little sense and it's going to take ages.

This is an attempt to sync up Makefiles to 6.1.
Unfortunately due to sheer amount of patches this is not easy to review,
but that's what we decided during a community call for the bump to 5.1,
so we are following the same guidelines here.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>a #rebased on -next
5 months agoMakefile: repair CONFIG_CC_OPTIMIZE_FOR_DEBUG support
Heinrich Schuchardt [Wed, 31 Dec 2025 19:10:51 +0000 (20:10 +0100)] 
Makefile: repair CONFIG_CC_OPTIMIZE_FOR_DEBUG support

Since commit 5f520875bdf0 ("kbuild: Bump the build system to 5.1")
CONFIG_CC_OPTIMIZE_FOR_DEBUG has no effect on the non-host code.

This patch reestablishes the prior logic to add

    -Og -Wno-maybe-uninitialized

to KBUILD_CFLAGS.

Fixes: 5f520875bdf0 ("kbuild: Bump the build system to 5.1")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
5 months agoMAINTAINERS: update my email address
Jerome Forissier [Fri, 2 Jan 2026 14:55:00 +0000 (15:55 +0100)] 
MAINTAINERS: update my email address

My linaro.org email isn't valid anymore. Use my personal email instead.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
5 months agoMerge patch series "modify npcm7xx/8xx feature and bug fixed"
Tom Rini [Wed, 31 Dec 2025 16:17:14 +0000 (10:17 -0600)] 
Merge patch series "modify npcm7xx/8xx feature and bug fixed"

Jim Liu <jim.t90615@gmail.com> says:

Modify npcm7xx/8xx features and bug fixes.

Link: https://lore.kernel.org/r/20251216024729.1031306-1-JJLIU0@nuvoton.com
5 months agoMerge patch series "configs: Remove default malloc length for K3 R5 SPL"
Tom Rini [Wed, 31 Dec 2025 16:13:54 +0000 (10:13 -0600)] 
Merge patch series "configs: Remove default malloc length for K3 R5 SPL"

This series from Andrew Davis <afd@ti.com> makes a number of the TI K3
CONFIG symbols have consistent values in SPL, as they are things
determined by the SoC and not the board design.

Link: https://lore.kernel.org/r/20251208190635.2044082-1-afd@ti.com
5 months agoarm: dts: mediatek: switch mt8365 to OF_UPSTREAM
David Lechner [Wed, 10 Dec 2025 23:40:14 +0000 (17:40 -0600)] 
arm: dts: mediatek: switch mt8365 to OF_UPSTREAM

Change mt8365_evk_defconfig to use CONFIG_OF_UPSTREAM=y and delete the
U-Boot copy of the devicetree source files for mt8365.

The upstream devicetree is identical to the U-Boot one being removed
(other than having more nodes for devices not used by U-Boot and
upstream fixed a compatible string in &scpsys, also not affecting
U-Boot).

There was one minor glitch with upstream missing a few topckgen macro
definitions, so those are added to the clock driver directly as a
workaround.

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Signed-off-by: David Lechner <dlechner@baylibre.com>
5 months agoarm: dts: Add SGPIO node in dts
Jim Liu [Tue, 16 Dec 2025 02:47:29 +0000 (10:47 +0800)] 
arm: dts: Add SGPIO node in dts

Add SGPIO node in dts

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
5 months agogpio: sgpio: modify persist check condition
Jim Liu [Tue, 16 Dec 2025 02:47:28 +0000 (10:47 +0800)] 
gpio: sgpio: modify persist check condition

Modify the persist check condition to fix init error.

Signed-off-by: Jim Liu <JJLIU0@nuvoton.com>
5 months agodts: fix typo in the pin name of GPIO191/GPIO192
Stanley Chu [Tue, 16 Dec 2025 02:47:27 +0000 (10:47 +0800)] 
dts: fix typo in the pin name of GPIO191/GPIO192

Fix typos in the pin name of GPIO191 and GPIO192

Signed-off-by: Stanley Chu <yschu@nuvoton.com>
5 months agopinctrl: npcm8xx: Remove incorrect spi0cs2_pins and spi0cs3_pins
Ted Lee [Tue, 16 Dec 2025 02:47:26 +0000 (10:47 +0800)] 
pinctrl: npcm8xx: Remove incorrect spi0cs2_pins and spi0cs3_pins

Signed-off-by: Ted Lee <xrli@nuvoton.com>
5 months agopinctrl: npcm8xx: Add smb11ddc pin config
Stanley Chu [Tue, 16 Dec 2025 02:47:25 +0000 (10:47 +0800)] 
pinctrl: npcm8xx: Add smb11ddc pin config

smb11ddcm: connect SMB11 to external DDC pins
smb11ddcs: connect SMB11 to internal GFXDDC

Signed-off-by: Stanley Chu <yschu@nuvoton.com>
5 months agowatchdog: npcm: Support more timeout value
Stanley Chu [Tue, 16 Dec 2025 02:47:24 +0000 (10:47 +0800)] 
watchdog: npcm: Support more timeout value

Calculate a timeout value that is close to the requested value.

Signed-off-by: Stanley Chu <yschu@nuvoton.com>
5 months agospl: Kconfig: k3: Set common default for SPL_LOAD_FIT(_ADDRESS)
Andrew Davis [Mon, 8 Dec 2025 19:06:35 +0000 (13:06 -0600)] 
spl: Kconfig: k3: Set common default for SPL_LOAD_FIT(_ADDRESS)

These are common for all K3 based boards. Add the common values as
defaults and remove from each board defconfig

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
5 months agospl: Kconfig: k3: Set common default for CUSTOM_SYS_MALLOC items
Andrew Davis [Mon, 8 Dec 2025 19:06:34 +0000 (13:06 -0600)] 
spl: Kconfig: k3: Set common default for CUSTOM_SYS_MALLOC items

These are common for all K3 based boards. Add the common values as
defaults and remove from each board defconfig.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
5 months agospl: Kconfig: k3: Increase malloc size after relocation for R5
Andrew Davis [Mon, 8 Dec 2025 19:06:33 +0000 (13:06 -0600)] 
spl: Kconfig: k3: Increase malloc size after relocation for R5

Seems the "generous 2MB space" is no longer enough for SPL on some K3 R5
platforms so let's increase this to 4MB. That matches what we give to
ARM64 SPL, so combine these.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
5 months agoconfigs: Remove default malloc length for K3 R5 SPL
Andrew Davis [Mon, 8 Dec 2025 19:06:32 +0000 (13:06 -0600)] 
configs: Remove default malloc length for K3 R5 SPL

These values are already the default, remove them from these defconfigs.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
5 months agoMerge patch series "video: Remove unused drivers, clean up dependencies"
Tom Rini [Tue, 30 Dec 2025 16:22:06 +0000 (10:22 -0600)] 
Merge patch series "video: Remove unused drivers, clean up dependencies"

Tom Rini <trini@konsulko.com> says:

This is v2 of the series I originally posted back in August[1]. The
changes here are that I've dropped the first patch as TI has recently
posted their rework of the driver in question, and I added Svyatoslav's
Reviewed-by tag. The end goal here is that "allyesconfig" will be able
to build (on sandbox).

[1]: https://patchwork.ozlabs.org/project/uboot/list/?series=468123&state=*

Link: https://lore.kernel.org/r/20251112200315.1111980-1-trini@konsulko.com
5 months agodrivers: video: tidss: Refactor tidss_drv
Swamil Jain [Thu, 6 Nov 2025 08:58:41 +0000 (14:28 +0530)] 
drivers: video: tidss: Refactor tidss_drv

- Refactor tidss_drv to improve modularity, enabling support for more
  display interfaces beyond OLDI in the future
- Add detection and initialization of active OLDI panels using the DT
- Port tidss_oldi.c from the upstream Linux kernel oldi series[0] and
  derive several APIs from it to determine the dual link pixel order
- Add tidss_oldi_init() and helper routines to handle OLDI-specific
  setup and move related helper routines to tidss_oldi.c

[0]: https://lore.kernel.org/all/20250528122544.817829-1-aradhya.bhatia@linux.dev/

Signed-off-by: Swamil Jain <s-jain1@ti.com>
Tested-by: Anshul Dalal <anshuld@ti.com>
5 months agovideo: simplefb: Add stride handling
Igor Belwon [Tue, 4 Nov 2025 14:50:36 +0000 (15:50 +0100)] 
video: simplefb: Add stride handling

Some framebuffers (i.e MediaTek) do not have regular stride - its line
length is more than the display width by 8 pixels (on MT6878). As such,
introduce the optional stride property, which fixes these framebuffers.

Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
5 months agocommon/splash_source.c: Change bmp_load_addr to ulong from u32
Tom Rini [Wed, 2 Jul 2025 01:05:18 +0000 (19:05 -0600)] 
common/splash_source.c: Change bmp_load_addr to ulong from u32

The variable bmp_load_addr is used to hold the address in memory of
where to put the splash image (as a bmp). For 32/64bit correctness, this
needs to be a ulong and not u32 today.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agoMerge patch series "video: display: refactor display_read_timing to avoid code duplic...
Tom Rini [Tue, 30 Dec 2025 16:18:39 +0000 (10:18 -0600)] 
Merge patch series "video: display: refactor display_read_timing to avoid code duplication"

Julien Stephan <jstephan@baylibre.com> says:

Commit 2dcf143398ad ("dm: video: Repurpose the 'displayport' uclass to 'display'")
left the display_read_edid() function unused by mistake.

This series addresses that oversight and introduces a new useful cmd.

Patch 1:
 - Refactors display_read_timing() to use the existing
   display_read_edid() function, eliminating redundant code.
 - Marks display_read_edid() as static since it is not used outside of
   the file.

Patch 2:
 - Adds a new read_edid command, which can be very useful for debugging
   or developing new display drivers.
 - As this command uses display_read_edid(), the function is made
   non-static again.

Link: https://lore.kernel.org/r/20250630-read_edid_cleanup-v1-0-ec7d425472c7@baylibre.com
5 months agocmd: add new command to read edid
Julien Stephan [Mon, 30 Jun 2025 10:08:16 +0000 (12:08 +0200)] 
cmd: add new command to read edid

Add a new command to read EDID info from connected display.

When applicable EDID can also be retrieved by commands such as:

  i2c dev x
  i2c edid 0x50

but the new read_edid function relies on the implementation of the
read_edid callback from DISPLAY driver.

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
5 months agovideo: stm32: stm32_ltdc: Add missing <linux/sizes.h> to stm32_ltdc.c
Tom Rini [Wed, 12 Nov 2025 20:00:08 +0000 (14:00 -0600)] 
video: stm32: stm32_ltdc: Add missing <linux/sizes.h> to stm32_ltdc.c

This driver references the SZ_ macros while relying on an indirection
inclusion of <linux/sizes.h>. Add the missing include directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agovideo: sharp-lq101r1sx01: Do not make use of 'z' for printing non-size_t
Tom Rini [Wed, 12 Nov 2025 20:00:07 +0000 (14:00 -0600)] 
video: sharp-lq101r1sx01: Do not make use of 'z' for printing non-size_t

The debug macros in this driver make use of the z prefix when printing
regular, non-size_t variables and this results in a warning. Drop 'z'.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agovideo: ihs_video_out: Add missing <asm/io.h> to ihs_video_out.c
Tom Rini [Wed, 12 Nov 2025 20:00:06 +0000 (14:00 -0600)] 
video: ihs_video_out: Add missing <asm/io.h> to ihs_video_out.c

This driver references IO macros while relying on an indirection
inclusion of <asm/io.h>. Add the missing include directly.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agovideo: anx9804: Only build when needed
Tom Rini [Wed, 12 Nov 2025 20:00:05 +0000 (14:00 -0600)] 
video: anx9804: Only build when needed

The logic for how to handle this video driver is slightly odd. Only in
the case of when CONFIG_VIDEO_LCD_PANEL_EDP_4_LANE_1620M_VIA_ANX9804 is
enabled do we need to have this file built, and otherwise we have a
dummy function in use. Correct the logic by only building this file when
needed.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agovideo: Tighten some video driver dependencies
Tom Rini [Wed, 12 Nov 2025 20:00:04 +0000 (14:00 -0600)] 
video: Tighten some video driver dependencies

A few video drivers cannot build without access to some platform
specific header files. Express those requirements in Kconfig as well.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agovideo: tegra: Rework some of the driver dependencies
Tom Rini [Wed, 12 Nov 2025 20:00:03 +0000 (14:00 -0600)] 
video: tegra: Rework some of the driver dependencies

Looking these drivers over, all of them cannot build without access to
some platform specific header files. Express those requirements in
Kconfig as well. Furthermore, update the logic a bit more to reflect
which parts are optional when other drivers are enabled and which parts
cannot be enabled (meaningfully) by themselves.

Reviewed-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agovideo: mali_dp: Remove unused driver
Tom Rini [Wed, 12 Nov 2025 20:00:02 +0000 (14:00 -0600)] 
video: mali_dp: Remove unused driver

This driver is unused. Remove it.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agovideo: display: refactor display_read_timing to avoid code duplication
Julien Stephan [Mon, 30 Jun 2025 10:08:15 +0000 (12:08 +0200)] 
video: display: refactor display_read_timing to avoid code duplication

Commit 2dcf143398ad ("dm: video: Repurpose the 'displayport' uclass to 'display'")
left the display_read_edid() function unused by mistake.

Mark the function as static and reuse it within display_read_timing() to
avoid code duplication.

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
5 months agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Mon, 29 Dec 2025 22:38:22 +0000 (16:38 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

- Fix R-Car D3 ability to boot Linux kernel.

5 months agoclk: renesas: Do not disable realtime modules on R8A77995 D3
Niklas Sรถderlund [Sun, 28 Dec 2025 22:07:17 +0000 (23:07 +0100)] 
clk: renesas: Do not disable realtime modules on R8A77995 D3

Later versions of the datasheet makes it clear D3 do not have any
realtime module stop control registers (RMSTPCRx). Remove the
manipulation of them from the module clock table to match this.

Suggested-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Niklas Sรถderlund <niklas.soderlund+renesas@ragnatech.se>
5 months agoclk: renesas: Do not enable MSTP4 extra modules on R8A77995 D3
Niklas Sรถderlund [Sun, 28 Dec 2025 22:07:16 +0000 (23:07 +0100)] 
clk: renesas: Do not enable MSTP4 extra modules on R8A77995 D3

Since commit a2bd99549c61 ("clk: renesas: Tear clock controller down
last before booting OS") enabling the module gated by bit 8 in MSTP4
prevents Linux from booting. The bits 8 and 7 of MSTP4 where only
documented in early versions of the datasheet and have since been
removed.

To allow Linux to boot update the MSTP4 enable value to reflect the
hardware default, 0x80.

Suggested-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Signed-off-by: Niklas Sรถderlund <niklas.soderlund+renesas@ragnatech.se>
5 months agoMerge tag 'u-boot-imx-next-20251229' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Mon, 29 Dec 2025 18:23:35 +0000 (12:23 -0600)] 
Merge tag 'u-boot-imx-next-20251229' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next

CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/28866

- Swicth imx8ulp-evk to standard boot and OF_UPSTREAM.
- Cleanup of the IPUv3 video driver.
- Add support for the NXP FRDM-IMX91 board.
- Make flash.bin target available on i.MX9.
- Fix mxsfb pixel clock polarity.

5 months agoMakefile: Make flash.bin target available on i.MX9
Marek Vasut [Sun, 28 Dec 2025 19:43:21 +0000 (20:43 +0100)] 
Makefile: Make flash.bin target available on i.MX9

The current implementation of flash.bin generation with
CONFIG_SPL_LOAD_IMX_CONTAINER=y requires build of u-boot.cnt
which is i.MX8 specific. Reinstate the i.MX8 check to avoid
this dependency for i.MX9 .

Fill in flash.bin target for i.MX9 into imx specific Makefile.

Fixes: c3587197c0c9 ("Makefile: Make flash.bin target available for all platforms")
Signed-off-by: Marek Vasut <marex@nabladev.com>
5 months agovideo: imx: ipuv3: refactor to use dm-managed state
Brian Ruley [Mon, 29 Dec 2025 10:48:07 +0000 (12:48 +0200)] 
video: imx: ipuv3: refactor to use dm-managed state

Get rid of most globals that are spread around between TU's and place
them in their own structs managed by dm. Device state is now owned by
each driver instance. This design mirrors the Linux IPUv3 driver
architecture.

This work is done in preparation to migrate the driver to the clock
framework. While not the primary intent, this change also enables
multiple IPU instances to exist contemporarily.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
5 months agovideo: imx: ipuv3: use CONFIG_IS_ENABLED
Brian Ruley [Mon, 29 Dec 2025 10:48:06 +0000 (12:48 +0200)] 
video: imx: ipuv3: use CONFIG_IS_ENABLED

Bring driver up-to-date with U-Boot conventions, but also takes into
account SPL and TPL, let compiler optimize while keeping code more
readable.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
5 months agovideo: imx: ipuv3: add names to clk function identifiers
Brian Ruley [Mon, 29 Dec 2025 10:48:05 +0000 (12:48 +0200)] 
video: imx: ipuv3: add names to clk function identifiers

The API should provide clear distinction in the order of parameters.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
5 months agovideo: imx: ipuv3: fix camel cases
Brian Ruley [Mon, 29 Dec 2025 10:48:04 +0000 (12:48 +0200)] 
video: imx: ipuv3: fix camel cases

U-Boot style specifies to use snake case and checkpatch nudge to check
them every time.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
5 months agovideo: imx: ipuv3: prefer kernel types
Brian Ruley [Mon, 29 Dec 2025 10:48:03 +0000 (12:48 +0200)] 
video: imx: ipuv3: prefer kernel types

Conform with U-Boot guidelines and pass checkpatch checks for upcoming
changes.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
5 months agovideo: imx: ipuv3: apply clang-format
Brian Ruley [Mon, 29 Dec 2025 10:48:02 +0000 (12:48 +0200)] 
video: imx: ipuv3: apply clang-format

Bring the code into compliance with U-Boot's coding style guidelines for
upcoming changes. Sort includes to tidy things up and apply
{ RemoveBracesLLVM: true } to remove unnecessary blocks.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
5 months agovideo: imx: ipuv3: remove undefined function declarations
Brian Ruley [Mon, 29 Dec 2025 10:48:01 +0000 (12:48 +0200)] 
video: imx: ipuv3: remove undefined function declarations

These functions don't seem to be defined nor called anywhere so remove
them.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
5 months agoimx: Support i.MX91 11x11 FRDM board
Joseph Guo [Fri, 12 Dec 2025 06:20:21 +0000 (15:20 +0900)] 
imx: Support i.MX91 11x11 FRDM board

Add i.MX91 11x11 FRDM Board support.
 - Four ddr scripts included w/o inline ecc feature. Support
   both 1gb and 2gb DDR
 - SDHC/EQOS/I2C/UART supported
 - PCA9451 supported, default nominal drive mode
 - Documentation added.

Signed-off-by: Joseph Guo <qijian.guo@nxp.com>
5 months agoarm64: dts: add NXP FRDM-IMX91 device tree
Joseph Guo [Fri, 12 Dec 2025 06:20:20 +0000 (15:20 +0900)] 
arm64: dts: add NXP FRDM-IMX91 device tree

Add the device tree files for the FRDM-IMX91 board.
Provide the initial DT support for FRDM-IMX91.

The board devicetree already attempted to upstream, but not been
accepted yet:
https://lore.kernel.org/all/20251114-imx91_frdm-v1-0-e5763bdf9336@nxp.com/

Once it complete, can move to OF_UPSTREAM

Signed-off-by: Joseph Guo <qijian.guo@nxp.com>
5 months agoimx8ulp_evk: Switch to use devicetree imported from Linux kernel release
Alice Guo [Tue, 9 Dec 2025 02:19:19 +0000 (10:19 +0800)] 
imx8ulp_evk: Switch to use devicetree imported from Linux kernel release

Enable OF_UPSTREAM for i.MX8ULP EVK so that devicetree imported from
Linux kernel release can be used.

If mailbox@29220000 is enabled, gd->arch.ele_dev will be set to this
device for communication with ELE firmware. This is incorrect because
mu@27020000 is the MU used for communication with the ELE firmware. To
prevent misconfiguration, disable mailbox@29220000.

The driver model for watchdog timer is not enabled yet, so disable wdog3
temporarily.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
5 months agoimx8ulp_evk: Move environment variables to .env file
Alice Guo [Tue, 9 Dec 2025 02:19:18 +0000 (10:19 +0800)] 
imx8ulp_evk: Move environment variables to .env file

Add board-specific environment variables to imx8ulp_evk.env for better
maintainability. Define bsp_bootcmd in the environment to resolve the
runtime error: "bsp_bootcmd" not defined.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
5 months agoimx8ulp_evk: Convert to standard boot
Alice Guo [Tue, 9 Dec 2025 02:19:17 +0000 (10:19 +0800)] 
imx8ulp_evk: Convert to standard boot

Replace CONFIG_DISTRO_DEFAULTS with CONFIG_BOOTSTD_FULL to enable the
standard boot framework and use standard boot on i.MX8ULP.

Update CONFIG_BOOTCOMMAND to run bootflow scan before falling back to
board-specific bootcmd, and remove legacy distro boot environment from
imx8ulp_evk.h since bootstd now handles boot targets.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
5 months agovideo: mxsfb: fix pixel clock polarity
Sam Meredith [Sat, 27 Dec 2025 21:28:18 +0000 (18:28 -0300)] 
video: mxsfb: fix pixel clock polarity

DISPLAY_FLAGS_PIXDATA_NEGEDGE means the controller drives the data on
pixel clocks falling edge. That is DOTCLK_POL=0 (default) not 1.

The mxsfb-drm driver in the Linux kernel has made the same change and it
remains to this day:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.19-rc2&id=53990e416bb7adaa59d045f325a47f31a11b75ee

I found this was required on an IMX8X SoM.

Without the patch a splash screen displays with aliasing-like jagged edges.

Signed-off-by: Sam Meredith <sam@aandtinstruments.com>
[fabio: Put more information into the commit log]
Signed-off-by: Fabio Estevam <festevam@gmail.com>
5 months agoboot: Warn users about fdt_high=~0 usage
Marek Vasut [Wed, 19 Nov 2025 17:43:53 +0000 (18:43 +0100)] 
boot: Warn users about fdt_high=~0 usage

In case the 'fdt_high' environment variable is set to ~0, warn users
about the dangers of the fdt_high usage. This will hopefully lead to
removal of most of the fdt_high ~0 usage over time.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
5 months agoi2c: Avoid calling dev_read_*() if CONFIG_OF_PLATDATA=y
Marek Vasut [Mon, 24 Nov 2025 14:51:01 +0000 (15:51 +0100)] 
i2c: Avoid calling dev_read_*() if CONFIG_OF_PLATDATA=y

If CONFIG_OF_PLATDATA=y , then the udevice has no valid OF node associated
with it and ofnode_valid(node) evaluates to 0. The dev_read_u32_default()
call ultimately reaches ofnode_read_u32_index() which invokes fdt_getprop()
and passes result of ofnode_to_offset(node) as an offset parameter into it.

The ofnode_to_offset(node) returns -1 for invalid node, which leads to an
fdt_getprop(..., -1, ...) invocation, which will crash sandbox with SIGSEGV
because libfdt can not handle negative node offsets without full tree check,
which U-Boot inhibits to keep size lower.

Since i2c_child_post_bind() already calls dev_has_ofnode(dev), reuse the
same call and assign i2c->speed_hz = I2C_SPEED_STANDARD_RATE in case the
device has no valid node associated with it, and do not call any of the
dev_read_*() functions for devices without valid nodes.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agoi2c: Inline i2c_chip_of_to_plat() into i2c_child_post_bind()
Marek Vasut [Mon, 24 Nov 2025 14:51:00 +0000 (15:51 +0100)] 
i2c: Inline i2c_chip_of_to_plat() into i2c_child_post_bind()

The i2c_chip_of_to_plat() is called only from i2c_child_post_bind(),
inline i2c_chip_of_to_plat() into i2c_child_post_bind(). Drop the
if CONFIG_IS_ENABLED(OF_REAL) and depend on if (!dev_has_ofnode(dev))
which does check CONFIG_IS_ENABLED(OF_REAL) internally too.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agogpio: sandbox: Avoid calling dev_read_*() if CONFIG_OF_PLATDATA=y
Marek Vasut [Fri, 21 Nov 2025 16:17:55 +0000 (17:17 +0100)] 
gpio: sandbox: Avoid calling dev_read_*() if CONFIG_OF_PLATDATA=y

If CONFIG_OF_PLATDATA=y , then the udevice has no valid OF node associated
with it and ofnode_valid(node) evaluates to 0. The dev_read_u32_default()
call ultimately reaches ofnode_read_u32_index() which invokes fdt_getprop()
and passes result of ofnode_to_offset(node) as an offset parameter into it.

The ofnode_to_offset(node) returns -1 for invalid node, which leads to an
fdt_getprop(..., -1, ...) invocation, which will crash sandbox with SIGSEGV
because libfdt can not handle negative node offsets without full tree check,
which U-Boot inhibits to keep size lower.

Since gpio_sandbox_probe() already calls dev_has_ofnode(dev) and assigns
uc_priv->gpio_count to CONFIG_SANDBOX_GPIO_COUNT accordingly, add matching
dev_has_ofnode(dev) check into sandbox_gpio_of_to_plat() and do not call
any of the dev_read_*() functions for devices without valid nodes there
either.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agoclk: fixed_rate: Avoid calling dev_read_*() if CONFIG_OF_PLATDATA=y
Marek Vasut [Fri, 21 Nov 2025 16:17:37 +0000 (17:17 +0100)] 
clk: fixed_rate: Avoid calling dev_read_*() if CONFIG_OF_PLATDATA=y

If CONFIG_OF_PLATDATA=y , then the udevice has no valid OF node associated
with it and ofnode_valid(node) evaluates to 0. The dev_read_u32_default()
call ultimately reaches ofnode_read_u32_index() which invokes fdt_getprop()
and passes result of ofnode_to_offset(node) as an offset parameter into it.

The ofnode_to_offset(node) returns -1 for invalid node, which leads to an
fdt_getprop(..., -1, ...) invocation, which will crash sandbox with SIGSEGV
because libfdt can not handle negative node offsets without full tree check,
which U-Boot inhibits to keep size lower.

Add dev_has_ofnode(dev) check and do not assign clock rate in case the
device has no valid node associated with it, and do not call any of the
dev_read_*() functions for devices without valid nodes.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agoMerge tag 'efi-next-20251225' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Thu, 25 Dec 2025 16:16:06 +0000 (10:16 -0600)] 
Merge tag 'efi-next-20251225' of https://source.denx.de/u-boot/custodians/u-boot-efi into next

Pull request efi-next-20251225

Documentation:

* Update StarFive Jh7110 common description.
* Describe command line options of the bdinfo command.
* Describe configuration dependencies of the bdinfo command.

UEFI:

* Trigger capsule updates with automatically generated boot options.
* In the LoadImage unit test add a check that device-paths are correctly
  used.
* In the variables at runtime test remove an unnecessary
  __efi_runtime_data attribute.

Others:

* Let the bdinfo command output device-tree information even if LMB is
  no used.
* Add long help texts for all options of the bdinfo command.

5 months agomips: Reduce size in gardena-smart-gateway-mt7688
Tom Rini [Fri, 19 Dec 2025 20:13:41 +0000 (14:13 -0600)] 
mips: Reduce size in gardena-smart-gateway-mt7688

This platform is near the binary size limit for U-Boot. Disable booting
some unlikely OS options in order to reclaim some space.

Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 months agoMerge tag 'mmc-power-next-2025-12-24' of https://source.denx.de/u-boot/custodians...
Tom Rini [Wed, 24 Dec 2025 15:10:28 +0000 (09:10 -0600)] 
Merge tag 'mmc-power-next-2025-12-24' of https://source.denx.de/u-boot/custodians/u-boot-mmc into next

- Various Kconfig prompt fixes for SPL from Quentin
- SPL_DM_REGULATOR_GPIO and REGULATOR_PWM dependency fix

5 months agodoc: board: starfive: update jh7110 common description
E Shattow [Sun, 21 Dec 2025 11:36:04 +0000 (03:36 -0800)] 
doc: board: starfive: update jh7110 common description

Updates to the JH7110 common description:
- add detailed overview of JH-7110 SoC and boot process
- revise descriptions of deprecated StarFive loader modes
- refresh build directions grouped with SPL debug advice
- reduce usage instructions into common methods shared by supported boards
- cite starfive_visionfive2 board maintainer description of StarFive loader
- cite published datasheets for ambient operating temperature data

Redundant/deprecated sections of each board doc are dropped accordingly:
- deepcomputing fml13v01
- milk-v mars
- pine64 star64 (also add inclusion of JH7110 common description)
- visionfive2

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 months agodoc: cmd: bdinfo: document options
Quentin Schulz [Thu, 18 Dec 2025 11:44:43 +0000 (12:44 +0100)] 
doc: cmd: bdinfo: document options

bdinfo may also have -a, -e and -m options depending on some symbols
being set. Document all this and provide an example on how to use them
and what they typically output.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 months agodoc: cmd: bdinfo: specify required dependency for some info
Quentin Schulz [Thu, 18 Dec 2025 11:44:42 +0000 (12:44 +0100)] 
doc: cmd: bdinfo: specify required dependency for some info

The devicetree, current eth and IP addr info are only available when
certain symbols are defined, so let's make the dependencies explicit.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 months agocmd: bdinfo: provide long help with all options
Quentin Schulz [Thu, 18 Dec 2025 11:44:41 +0000 (12:44 +0100)] 
cmd: bdinfo: provide long help with all options

Document the bdinfo -a, -e and -m options in the long help, but only
when they can be used. The string concatenation is a bit odd with two
newlines, but it does render properly once in U-Boot CLI.

Tested-by: Michal Simek <michal.simek@amd.com>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 months agocmd/bdinfo: LMB and device-tree are not related
Heinrich Schuchardt [Mon, 22 Dec 2025 11:44:38 +0000 (12:44 +0100)] 
cmd/bdinfo: LMB and device-tree are not related

The usage of the LMB library and the device-tree source are not related.

Remove the dependency in the bdinfo output and adjust the unit test.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 months agotest: dm: clk_ccf: clean up assert statements
Heinrich Schuchardt [Tue, 9 Dec 2025 21:51:35 +0000 (22:51 +0100)] 
test: dm: clk_ccf: clean up assert statements

* Expected values must always be the first arguments.
* Long values on 64 bit systems require ut_asserteq_64() for checking

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 months agoefi_selftest: remove unnecessary __efi_runtime_data attribute
Heinrich Schuchardt [Fri, 19 Dec 2025 21:48:12 +0000 (22:48 +0100)] 
efi_selftest: remove unnecessary __efi_runtime_data attribute

Assigning a single variable to section __efi_runtime_date while the rest of
the test is in the boottime section does not make much sense.

As we do not set a virtual address map here, we don't need a runtime
section.

Update the variables at runtime test.

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 months agoefi_loader: Trigger capsule updates with automatically generated boot options
Ilias Apalodimas [Wed, 17 Dec 2025 09:40:04 +0000 (11:40 +0200)] 
efi_loader: Trigger capsule updates with automatically generated boot options

The EFI spec in ยง8.5.5 says
"The directory \EFI\UpdateCapsule is checked for capsules only within
 the EFI system partition on the device specified in the active boot
 option determine by reference to BootNext variable or BootOrder variable
 processing."

Automatically generated boot options don't point to the ESP, they point to
the disk itself and find_handle() won't match when searching for an ESP
during a capsule update.
This happens because find_handle() only matches device paths that are
shorter or equal to the device path passed as an argument.
Since the EFI spec allows it we want to allow capsule updates, when the
boot option points to a disk, but that disk contains an ESP with a
\EFI\UpdateCapsule directory.

So, let's change device_is_present_and_system_part() and check if the
supplied device path contains an ESP. If it does return the handle of
the device. Otherwise, iterate over child devices and return the handle
of the first child that contains an ESP.

The returned handle can then be reused later. Rather than calling
efi_fs_from_path(), we can simply look up the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL
on the discovered handle, avoiding the need to re-parse device paths.

Reported-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
Reported-by: John Toomey <john.toomey@amd.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 months agoefi_selftest: Enhance LoadImage test
Heinrich Schuchardt [Mon, 15 Dec 2025 12:42:51 +0000 (13:42 +0100)] 
efi_selftest: Enhance LoadImage test

Check that only a file system installed on a handle for the
device-path node immediately preceding the file path node is
used for LoadImage().

LoadImage() ends up invoking efi_dp_find_obj(). This test helped to
demonstrate an issue in a suggested patch to change that function.

The test can be run with:

    setenv efi_selftest load image from file
    bootefi selftest

Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
5 months agopower: regulator: Fix dependency of SPL_DM_REGULATOR_GPIO
Peng Fan [Thu, 11 Dec 2025 10:01:19 +0000 (18:01 +0800)] 
power: regulator: Fix dependency of SPL_DM_REGULATOR_GPIO

gpio-regulator uses dm gpio API, so it depends on SPL_DM_GPIO, not
SPL_GPIO.

Reported-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agopower: regulator: remove SPL_REGULATOR_PWM due to unmeetable SPL_DM_PWM dependency
Quentin Schulz [Fri, 12 Dec 2025 18:13:20 +0000 (19:13 +0100)] 
power: regulator: remove SPL_REGULATOR_PWM due to unmeetable SPL_DM_PWM dependency

SPL_DM_PWM option simply doesn't exist. Moreover, drivers/pwm is only
included by drivers/Makefile for non-xPL stages so making
SPL_REGULATOR_PWM properly build for SPL/xPL is more involved than just
adding an SPL_DM_PWM option.

Reading the original commit (ddc824f89aa8 ("power: regulator: Allow PWM
regulator to be omitted from SPL."), the intent seemingly wasn't to
allow building support in XPL but rather to allow removing it which is
done by using $(PHASE_) ($(SPL_) at that time) in the Makefile. If
anyone needs that, let them figure out what they need to do without
misleading potential users of this symbol by simply removing it.

Fixes: 2a846e04c622 ("power: regulator: Correct dependencies on SPL_REGULATOR_PWM")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agopower: regulator: fix dependency for REGULATOR_PWM
Quentin Schulz [Fri, 12 Dec 2025 18:13:19 +0000 (19:13 +0100)] 
power: regulator: fix dependency for REGULATOR_PWM

The PWM regulator driver is a uclass driver, thus requiring DM_PWM to be
enabled to be actually usable (and with the appropriate PWM controller
driver enabled as well, but that we cannot enforce easily), so let's add
this missing dependency.

Fixes: 1a01695615f9 ("power: regulator: add pwm regulator")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agospl: fix prompt for SPL_BOOTROM_SUPPORT
Quentin Schulz [Fri, 12 Dec 2025 18:13:18 +0000 (19:13 +0100)] 
spl: fix prompt for SPL_BOOTROM_SUPPORT

SPL_BOOTROM_SUPPORT currently doesn't specify it enables returning to
BootROM *from SPL*, which TPL_BOOTROM_SUPPORT does say. So let's align
the prompts so that both say from which stage you can return to the
BootROM.

Fixes: 225d30b70846 ("spl: add a 'return to bootrom' boot method")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agoboot: specify VPL_FIT_FULL_CHECK applies to VPL
Quentin Schulz [Fri, 12 Dec 2025 18:13:17 +0000 (19:13 +0100)] 
boot: specify VPL_FIT_FULL_CHECK applies to VPL

VPL_FIT_FULL_CHECK currently shares its description and help text with
FIT_FULL_CHECK which is quite confusing, so let's specify this applies
to VPL.

Fixes: 4218456b3fac ("vbe: Add Kconfig options for VPL")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agoboot: fix prompt for VPL_LOAD_FIT_FULL
Quentin Schulz [Fri, 12 Dec 2025 18:13:16 +0000 (19:13 +0100)] 
boot: fix prompt for VPL_LOAD_FIT_FULL

The prompt wrongly specifies this applies to SPL while this symbol is
for VPL, let's fix this oversight.

Fixes: 8dfbd798122b ("boot: Allow use of FIT in TPL and VPL")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Acked-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agoboot: fix prompt for SPL_LOAD_FIT_APPLY_OVERLAY_BUF_SZ
Quentin Schulz [Fri, 12 Dec 2025 18:13:15 +0000 (19:13 +0100)] 
boot: fix prompt for SPL_LOAD_FIT_APPLY_OVERLAY_BUF_SZ

The prompt currently doesn't specify this applies to the SPL stage only,
so let's fix this oversight.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agoboot: fix prompt for SPL_LOAD_FIT_ADDRESS
Quentin Schulz [Fri, 12 Dec 2025 18:13:14 +0000 (19:13 +0100)] 
boot: fix prompt for SPL_LOAD_FIT_ADDRESS

The prompt is missing the indication this applies for the SPL loading
a FIT image, and not any other stage.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: xypron.glpk@gmx.de
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agoKconfig: put TPL_OPTIMIZE_INLINING next to SPL_OPTIMIZE_INLINING
Quentin Schulz [Fri, 12 Dec 2025 18:13:13 +0000 (19:13 +0100)] 
Kconfig: put TPL_OPTIMIZE_INLINING next to SPL_OPTIMIZE_INLINING

Right now LTO is in-between both when using menuconfig.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Kory Maincent <kory.maincent@bootlin.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
5 months agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh 839/head
Tom Rini [Tue, 23 Dec 2025 17:17:37 +0000 (11:17 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

- net: ravb: Configure CXR31 and CXR35 on rzg2l

5 months agonet: ravb: Configure CXR31 and CXR35 on rzg2l
Mathieu Othacehe [Wed, 10 Dec 2025 14:17:04 +0000 (15:17 +0100)] 
net: ravb: Configure CXR31 and CXR35 on rzg2l

As in Linux with d78c0ced60 ("net: ravb: Make write access to CXR35 first
before accessing other EMAC register"), configure CXR31 and CXR35 correctly
on rzg2. MII mode does not work correctly unless those registers are
properly configured.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 months agoMerge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra into...
Tom Rini [Tue, 23 Dec 2025 14:11:36 +0000 (08:11 -0600)] 
Merge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra into next

- configs: tegra-common-post: Stop disabling device tree relocation

5 months agoMerge tag 'v2026.01-rc5' into next
Tom Rini [Mon, 22 Dec 2025 22:31:21 +0000 (16:31 -0600)] 
Merge tag 'v2026.01-rc5' into next

Prepare v2026.01-rc5

5 months agoPrepare v2026.01-rc5 v2026.01-rc5
Tom Rini [Mon, 22 Dec 2025 22:26:11 +0000 (16:26 -0600)] 
Prepare v2026.01-rc5

Signed-off-by: Tom Rini <trini@konsulko.com>