]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
5 weeks agobcmstb: Make use of bootm_size rather than fdt_high
Tom Rini [Wed, 19 Nov 2025 14:55:22 +0000 (08:55 -0600)] 
bcmstb: Make use of bootm_size rather than fdt_high

Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS. However, this platform also has a large comment
block that explains that given previous stage loaders and other parts of
the memory map (that may not be in the device tree we see?), adjust this
to use bootm_size to restrict relocation to be below the CMA area and
update the comment to match.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoam335x_shc: Stop disabling device tree relocation
Tom Rini [Wed, 19 Nov 2025 14:55:20 +0000 (08:55 -0600)] 
am335x_shc: Stop disabling device tree relocation

Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS.

Reviewed-by: Heiko Schocher <hs@nabladev.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoqemu-arm-sba: Stop disabling device tree relocation
Tom Rini [Wed, 19 Nov 2025 14:55:17 +0000 (08:55 -0600)] 
qemu-arm-sba: Stop disabling device tree relocation

Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoarm: Remove remainder of xpress board code
Tom Rini [Wed, 19 Nov 2025 14:55:15 +0000 (08:55 -0600)] 
arm: Remove remainder of xpress board code

When this platform was removed the config header file was missed. Remove
that now.

Fixes: ddfc00400965 ("arm: Remove xpress board")
Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoarm: Remove remainder of zc5xxx board code
Tom Rini [Wed, 19 Nov 2025 14:55:14 +0000 (08:55 -0600)] 
arm: Remove remainder of zc5xxx board code

When these platforms were removed the common config header file was
missed. Remove that now.

Fixes: a0cacddcafe5 ("arm: Remove zc5202 and zc5601 boards")
Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoadi: Stop disabling device tree relocation
Tom Rini [Tue, 18 Nov 2025 14:26:40 +0000 (08:26 -0600)] 
adi: Stop disabling device tree relocation

Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS.

Tested-by: Greg Malysa <malysagreg@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoboot/image-fit.c: Use aligned_alloc(...) not memalign(...)
Tom Rini [Tue, 2 Dec 2025 21:20:33 +0000 (15:20 -0600)] 
boot/image-fit.c: Use aligned_alloc(...) not memalign(...)

With the changes in commit 8fbcc0e0e839 ("boot: Assure FDT is always at
8-byte aligned address") to call memalign(...) we now always call
memalign(...) rather than malloc(...) when allocating a buffer that may
contain a device tree. However, memalign(...) is not portable among all
of the host OSes we support. The C11 standard does require that
aligned_alloc(...) exist and it takes the same parameters as
memalign(...) does. Change this file to call aligned_alloc rather than
memalign, and for the non-USE_HOSTCC case define that function back to
memalign.

Fixes: 8fbcc0e0e839 ("boot: Assure FDT is always at 8-byte aligned address")
Suggested-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoclk: Remove myself as a maintainer 836/head
Sean Anderson [Wed, 3 Dec 2025 21:03:35 +0000 (16:03 -0500)] 
clk: Remove myself as a maintainer

Unfortunately I don't really have time to review clock patches. When I
initially started maintaining this subsystem I had more free time than I do
now. But I also found it hard to motivate myself to review patches.  Many
clock patches add support for new SoCs and they are time consuming to
review properly. You effectively have to spend a few hours reading the
reference manual (if it's public!) and reviewing drivers is no small feat
either. This is made more difficult since clocking is often very different
between SoCs and it can be difficult to determine whether something is a
bug in the driver or a workaround for some hardware behavior. I mostly
don't care about any given SoC unless I'm hacking on it so I ended up with
a ton (more than 7000) of unreviewed patches piling up in my inbox. I'd
love to be more active, but I have a day job and I usually want to work on
something more interesting when I get home. I still think the clock
subsystem is a major mess but I don't care enough to fix it :l

The subsystem itself should probably get orphaned since AFAICT all patches
go through the mach/arch maintainer or to Tom.

Signed-off-by: Sean Anderson <seanga2@gmail.com>
5 weeks agotest: strlcat: Fix SPDX license
Sean Anderson [Wed, 3 Dec 2025 20:46:40 +0000 (15:46 -0500)] 
test: strlcat: Fix SPDX license

When I modified this code I meant to accept the LGPL offer to convert the
license to GPL. However, while there is an LGPL 2.1, the next version of
the GPL after 2.0 is 3.0. Fix the license version

Fixess: c4ac52f55d9 ("test: Add test for strlcat")
Signed-off-by: Sean Anderson <seanga2@gmail.com>
5 weeks agobinman: fallback to importlib_resources on Python 3.8
Chukun Pan [Tue, 2 Dec 2025 10:00:00 +0000 (18:00 +0800)] 
binman: fallback to importlib_resources on Python 3.8

Python 3.7 and 3.8 lack the files attribute in importlib.resources.
Use importlib_resources to fix build errors with Python 3.8:
binman: module 'importlib.resources' has no attribute 'files'

Fixes: 538719cb6a77 ("binman: migrate from pkg_resources to importlib")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Acked-by: Quentin Schulz <quentin.schulz@cherry.de>
[trini: Re-add # pragma: no cover line]
Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoboard: BuR: Update MAINTAINERS files
Wolfgang Wallner [Tue, 2 Dec 2025 09:43:41 +0000 (10:43 +0100)] 
board: BuR: Update MAINTAINERS files

The MAINTAINERS files for B&R boards are not in sync
with the current file names. Update the files so
that they are correct again.

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
5 weeks agoChange email addresses for B&R Industrial Automation
Wolfgang Wallner [Tue, 2 Dec 2025 09:24:58 +0000 (10:24 +0100)] 
Change email addresses for B&R Industrial Automation

B&R Industrial Automation has been acquired by ABB in 2017, and this
will be reflected in our email addresses beginning from December 2025.

The email addresses change as follows:
 @br-automation.com -> @<country-code>.abb.com

The existing email addresses will be valid until December 2026.

Add entries for Bernhard Messerklinger and myself to .mailmap, and
update the MAINTAINERS files.

Signed-off-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
Signed-off-by: Wolfgang Wallner <wolfgang.wallner@at.abb.com>
5 weeks agoclk: Only enable the parent clock if the clock was enabled before reparenting
Maksim Kiselev [Fri, 29 Aug 2025 08:25:00 +0000 (11:25 +0300)] 
clk: Only enable the parent clock if the clock was enabled before reparenting

The current implementation of clk_set_parent() unconditionally enables
the new parent clock, even if the target clock was not previously enabled.

To avoid this implicit behavior, this patch adds a check for whether
the target clock has been enabled before parent enabling..

Fixes: ac30d90f336 ("clk: Ensure the parent clocks are enabled while reparenting")
Signed-off-by: Maksim Kiselev <bigunclemax@gmail.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
5 weeks agoMerge patch series "Add support for SM3 secure hash"
Tom Rini [Thu, 4 Dec 2025 15:39:11 +0000 (09:39 -0600)] 
Merge patch series "Add support for SM3 secure hash"

Heiko Schocher <hs@nabladev.com> says:

Add SM3 secure hash, as specified by OSCCA GM/T 0004-2012 SM3 and described
at https://datatracker.ietf.org/doc/html/draft-sca-cfrg-sm3-02

TPMv2 defines hash algo sm3_256, which is currently
not supported and prevented TPMv2 chip with newer
firmware to work with U-Boot. Seen this on a ST33TPHF2XI2C

    u-boot=> tpm2 init
    u-boot=> tpm2 autostart
    tpm2_get_pcr_info: too many pcrs: 5
    Error: -90
    u-boot=>

Implement sm3 hash, so we can fix this problem.

Link: https://lore.kernel.org/r/20251118043042.27726-1-hs@nabladev.com
5 weeks agotest: cmd: fix a typo in md5 test
Heiko Schocher [Tue, 18 Nov 2025 04:30:42 +0000 (05:30 +0100)] 
test: cmd: fix a typo in md5 test

In dm_test_cmd_hash_md5 accidentially sha256 hash
ist used. Use the correct md5 hash instead.

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
5 weeks agotpm2: add sm3 256 hash support
Heiko Schocher [Tue, 18 Nov 2025 04:30:41 +0000 (05:30 +0100)] 
tpm2: add sm3 256 hash support

add sm3 256 hash support, so TPM2 chips which report
5 pcrs with sm3 hash do not fail with:

  u-boot=> tpm2 autostart
  tpm2_get_pcr_info: too many pcrs: 5
  Error: -90

Signed-off-by: Heiko Schocher <hs@nabladev.com>
5 weeks agotest: cmd: hash: add unit test for sm3_256
Heiko Schocher [Tue, 18 Nov 2025 04:30:40 +0000 (05:30 +0100)] 
test: cmd: hash: add unit test for sm3_256

add simple test for sm3 256 hash

Signed-off-by: Heiko Schocher <hs@nabladev.com>
5 weeks agolib: sm3: implement U-Boot parts
Heiko Schocher [Tue, 18 Nov 2025 04:30:39 +0000 (05:30 +0100)] 
lib: sm3: implement U-Boot parts

add the U-Boot specific parts for the SM3 hash
implementation:

Signed-off-by: Heiko Schocher <hs@nabladev.com>
5 weeks agolib: import sm3 256 hash parts from linux
Heiko Schocher [Tue, 18 Nov 2025 04:30:38 +0000 (05:30 +0100)] 
lib: import sm3 256 hash parts from linux

Implement SM3_256 Hash algorithm, based on
linux commit f83a4f2a4d8c: ("Merge tag 'erofs-for-6.17-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs")

Therefore add the needed parts from linux.

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
5 weeks agolib: Import rol32 function from Linux
Heiko Schocher [Tue, 18 Nov 2025 04:30:37 +0000 (05:30 +0100)] 
lib: Import rol32 function from Linux

sm3 crypto algorithm uses rol32 function from linux, so
import it. Linux base was:

commit ca91b9500108:("Merge tag 'v6.15-rc4-ksmbd-server-fixes' of git://git.samba.org/ksmbd")

Signed-off-by: Heiko Schocher <hs@nabladev.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
5 weeks agoMerge patch series "clk: Fix some error detection"
Tom Rini [Thu, 4 Dec 2025 15:38:46 +0000 (09:38 -0600)] 
Merge patch series "clk: Fix some error detection"

Andrew Goodbody <andrew.goodbody@linaro.org> says:

The function clk_get_rate() returns a ulong with 0 meaning an invalid
clock rate and also negative error codes being returned for other
errors. But being an unsigned return value this cannot simply be tested
for with a < 0 test. Instead use the IS_ERR_VALUE() macro to check for
negative errors appearing as very large positive values. Fix those
places that test for <= 0. Also fix some places checking the return of
clk_register() that incorrectly used ERR_PTR().

Link: https://lore.kernel.org/r/20251021-clk_funcs-v1-0-acf51a40eea7@linaro.org
5 weeks agotimer: imx-gpt: Fix error detection
Andrew Goodbody [Tue, 21 Oct 2025 16:08:30 +0000 (17:08 +0100)] 
timer: imx-gpt: Fix error detection

Testing an unisgned ivariable to be <= 0 will only detect the
case when it is 0. So correct this error test to a working version that
will behave as expected.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
5 weeks agoi2c: imx_lpi2c: Fix error detection
Andrew Goodbody [Tue, 21 Oct 2025 16:08:29 +0000 (17:08 +0100)] 
i2c: imx_lpi2c: Fix error detection

Testing an unisgned ivariable to be <= 0 will only detect the
case when it is 0. So correct this error test to a working version that
will behave as expected.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
5 weeks agoi2c: npcm: Fix error detection
Andrew Goodbody [Tue, 21 Oct 2025 16:08:28 +0000 (17:08 +0100)] 
i2c: npcm: Fix error detection

Testing an unisgned member of a struct to be <= 0 will only detect the
case when it is 0. So correct this error test to a working version that
will behave as expected.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
5 weeks agoclk: microchip: mpfs: Fix error detection
Andrew Goodbody [Tue, 21 Oct 2025 16:08:27 +0000 (17:08 +0100)] 
clk: microchip: mpfs: Fix error detection

clk_register() will return standard error codes so the use of ERR_PTR()
is incorrect. Furthermore the code was ineffective as it lacked a return
statement that would have actually made use of the result. Add the
return statement and remove the use of ERR_PTR to correct this.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
5 weeks agommc: fsl_esdhc_imx: Cannot test unsigned to be < 0
Andrew Goodbody [Tue, 21 Oct 2025 16:08:26 +0000 (17:08 +0100)] 
mmc: fsl_esdhc_imx: Cannot test unsigned to be < 0

Testing an unisgned member of a struct to be <= 0 will only detect the
case when it is 0. So correct this error test to a working version that
will behave as expected.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
5 weeks agommc: hi6220_dw_mmc: Fix error detection for clk_get_rate
Andrew Goodbody [Tue, 21 Oct 2025 16:08:25 +0000 (17:08 +0100)] 
mmc: hi6220_dw_mmc: Fix error detection for clk_get_rate

clk_get_rate() returns a ulong and that return value is assigned to a
member of a struct that is an unsigned int. So testing this value to <=
0 will only detect a return of 0. Also the code in the if block assumes
ret holds the return value when it does not. So update the test to one
that will work as intended and update the if block to actually refer to
the return value.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
5 weeks agoMerge tag 'u-boot-dfu-next-20251203' of https://source.denx.de/u-boot/custodians...
Tom Rini [Thu, 4 Dec 2025 14:35:41 +0000 (08:35 -0600)] 
Merge tag 'u-boot-dfu-next-20251203' of https://source.denx.de/u-boot/custodians/u-boot-dfu into next

u-boot-dfu-next-20251203:

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

Fastboot:
- Add generic flashing support using BLK

5 weeks agoMerge patch series "led: remove u-boot,boot-led and u-boot,error-led + add cmd doc"
Tom Rini [Wed, 3 Dec 2025 17:04:32 +0000 (11:04 -0600)] 
Merge patch series "led: remove u-boot,boot-led and u-boot,error-led + add cmd doc"

Quentin Schulz <foss+uboot@0leil.net> says:

u-boot,boot-led and u-boot,error-led aren't actually handled by some
generic code but rather by board or architecture specific code. They
also aren't properties that are part of the official dt-binding so they
cannot be upstreamed. For u-boot,boot-led, there's actually a proper
replacement which is /options/u-boot/boot-led[1] (+ CONFIG_LED_BOOT=y).

For Rockchip boards, either nothing (for RK3066, PX30 and RK3399) was
using that property or (for RK3188) the code handling it was guarded by
symbols that were not enabled in the defconfig. For those, the property
and guarded code are removed.

For the Sam9x60 Curiosity, it seems that even though the LED is
controlled whenever CONFIG_LED is enabled, it isn't enabled by default
in the defconfig (but the code was added without modifying the
defconfig, explicitly leaving a choice to the user). I decided to keep
that feature by simply migrating it to the new API, though I cannot test
it as I do not own the device.

The STM32 boards will be migrated in the near future once their upstream
(kernel) Device Trees gain the new way to specify this (via
/options/u-boot/boot-led). I'll let Patrice handle this, see
https://lore.kernel.org/u-boot/94ed1988-13e8-4fe3-bdff-ba2c9973c556@foss.st.com/
and
https://lore.kernel.org/u-boot/2a3aa43a-ce19-41e1-ab56-556629ce5cf9@foss.st.com/

After this, only one user of u-boot,boot-led will be left, based on
STM32: board/dhelectronics/dh_stm32mp1/board.c. @Patrice, maybe that's
something you want to have a look at as well, this seems to be some
evaluation kit?

The only users of u-boot,error-led are STM32 boards, so I'll leave this
to Patrice as well, I do not know what's the way to go for that one.

In any case, I would like to not encourage people to use out-of-spec DT
properties when there is another option (u-boot,boot-led), so I remove
the properties from the dt-binding document from U-Boot.

The help text for the blink subcommand of the led command was misleading
so this is now fixed.

This also moves the content of doc/README.LED into the doc/api/led.rst,
while clearly stating one shouldn't be using this anymore.

This also gets rid of dt-binding that we already have in dts/upstream.

Finally, this adds documentation for the led shell command.

[1] https://github.com/devicetree-org/dt-schema/blob/v2025.08/dtschema/schemas/options/u-boot.yaml#L113-L116

Link: https://lore.kernel.org/r/20251112-led-old-dt-v1-0-2892d49517db@cherry.de
5 weeks agodoc: remove u-boot,boot-led and u-boot,error-led from "binding"
Quentin Schulz [Wed, 12 Nov 2025 17:48:16 +0000 (18:48 +0100)] 
doc: remove u-boot,boot-led and u-boot,error-led from "binding"

We're aiming to reduce the amount of U-Boot-specific and out-of-spec
Device Tree additions.

Those two properties haven't been doing anything for a long time
already, except when read by board files manually. This is still the
case for STM32 boards but those will be migrated in the near future
according to their maintainer. In any case, let's not encourage people
to add either of these properties to new or existing Device Trees and
remove it from the bindings.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agosam9x60-curiosity: migrate Boot LED setup to use /options/u-boot/boot-led
Quentin Schulz [Wed, 12 Nov 2025 17:48:15 +0000 (18:48 +0100)] 
sam9x60-curiosity: migrate Boot LED setup to use /options/u-boot/boot-led

This board is one of the last users of /config/u-boot,boot-led property
which is a U-Boot property out of the DT spec.

Let's migrate it to use the in-spec /options/u-boot/boot-led property.
When enabling LED_BOOT, U-Boot proper will lit the LED right before
entering the main loop, so nothing needs to be done in board files.

As explained in the commit adding support for this u-boot,boot-led
property, let's keep backward compatibility in case LED_BOOT isn't
selected.

Note that this is not tested as I do not own this device.

Cc: Alexander Dahl <ada@thorsis.com>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Tested-by: Alexander Dahl <ada@thorsis.com>
5 weeks agoarm: dts: rockchip: rk3066a-mk808: remove unused u-boot,boot-led
Quentin Schulz [Wed, 12 Nov 2025 17:48:14 +0000 (18:48 +0100)] 
arm: dts: rockchip: rk3066a-mk808: remove unused u-boot,boot-led

There's no code to make use of it.

Additionally, if we ever want to enable this LED as Boot LED, we should
instead be using boot-led phandle property in /options/u-boot[1] Device
Tree node with the "new" LED UCLASS devices.

So let's simply remove this unused property to not mislead users.

[1] https://github.com/devicetree-org/dt-schema/blob/v2025.08/dtschema/schemas/options/u-boot.yaml#L113-L116

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agoarm: dts: rockchip: px30-ringneck: remove u-boot,boot-led
Quentin Schulz [Wed, 12 Nov 2025 17:48:13 +0000 (18:48 +0100)] 
arm: dts: rockchip: px30-ringneck: remove u-boot,boot-led

There's no code to make use of it.

Further more, the HW default state of that LED is on and migrating this
to the LED_BOOT implem brings no benefit as it'll stay on if U-Boot
reaches its main-loop. Blinking the LED_BOOT also doesn't help because
it doesn't blink for long enough to be noticeable before it's kept on.

This is by design, c.f.
https://source.denx.de/u-boot/u-boot/-/blob/v2025.10/include/led.h#L32-34

If we want this LED to be doing something different, it'll need to be
handled by a board file anyway.

Considering it hasn't worked in many years (if ever), let's just remove
it.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agoarm: dts: rockchip: rk3399-puma: remove u-boot,boot-led
Quentin Schulz [Wed, 12 Nov 2025 17:48:12 +0000 (18:48 +0100)] 
arm: dts: rockchip: rk3399-puma: remove u-boot,boot-led

There's no code to make use of it.

Further more, the HW default state of that LED is on and migrating this
to the LED_BOOT implem brings no benefit as it'll stay on if U-Boot
reaches its main-loop. Blinking the LED_BOOT also doesn't help because
it doesn't blink for long enough to be noticeable before it's kept on.

This is by design, c.f.
https://source.denx.de/u-boot/u-boot/-/blob/v2025.10/include/led.h#L32-34

If we want this LED to be doing something different, it'll need to be
handled by a board file anyway.

Considering it hasn't worked in many years, let's just remove it.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agorockchip: rk3188: remove setup_led from xPL
Quentin Schulz [Wed, 12 Nov 2025 17:48:11 +0000 (18:48 +0100)] 
rockchip: rk3188: remove setup_led from xPL

There's not a single device making use of that code and it anyway
shouldn't be using the old deprecated u-boot,boot-led /config property
anymore but rather boot-led from /options/u-boot[1] Device Tree node.

Because spl_board_init() is only present to call this now removed
function, we can remove it as well as SPL_BOARD_INIT which is the symbol
guarding calls to spl_board_init() (which is now also removed).

[1] https://github.com/devicetree-org/dt-schema/blob/v2025.08/dtschema/schemas/options/u-boot.yaml#L113-L116

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agoarm: dts: rockchip: rk3188-radxarock: remove unused u-boot,boot-led
Quentin Schulz [Wed, 12 Nov 2025 17:48:10 +0000 (18:48 +0100)] 
arm: dts: rockchip: rk3188-radxarock: remove unused u-boot,boot-led

This property is only read in arch/arm/mach-rockchip/rk3188/rk3188.c
when CONFIG_SPL_LED is enabled, which isn't the case for this board, so
let's remove dead code.

Additionally, if we ever want to enable this LED as Boot LED, we should
instead be using boot-led phandle property in /options/u-boot[1] Device
Tree node with the "new" LED UCLASS devices.

[1] https://github.com/devicetree-org/dt-schema/blob/v2025.08/dtschema/schemas/options/u-boot.yaml#L113-L116

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agodoc: dt-bindings: remove duplicates with dts/upstream
Quentin Schulz [Wed, 12 Nov 2025 17:48:09 +0000 (18:48 +0100)] 
doc: dt-bindings: remove duplicates with dts/upstream

doc/device-tree-bindings/leds/leds-bcm6328.txt can be found at
dts/upstream/Bindings/leds/leds-bcm6328.yaml.

doc/device-tree-bindings/leds/leds-bcm6358.txt can be found at
dts/upstream/Bindings/leds/leds-bcm6358.txt.

doc/device-tree-bindings/leds/leds-gpio.txt can be found at
dts/upstream/Bindings/leds/leds-gpio.yaml.

doc/device-tree-bindings/leds/leds-lp5562.txt can be found at
dts/upstream/Bindings/leds/leds-lp55xx.yaml.

Only two LED dt-bindings are left in U-Boot: leds-bcm6858.txt and
leds-pwm.txt. The former is partially supported by
dts/upstream/Bindings/leds/leds-bcm63138.yaml but is lacking all
optional properties we have listed in "downstream" dt-binding in U-Boot.
However, there doesn't seem to exist any user of that compatible.
The latter is partially supported by
dts/upstream/Bindings/leds/leds-pwm.yaml but is missing the
u-boot,default-brightness property, which is used by
arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi at the moment. The
default-brightness property is probably not what we want here as it
defaults to max-brightness if missing. I'm assuming we want a different
value for U-Boot (127) and the kernel (255 via max-brightness as a
default), which would prevent us from upstreaming this property, which
doesn't change the status quo, so let it be for now.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agodoc: cmd: document the led shell command
Quentin Schulz [Wed, 12 Nov 2025 17:48:08 +0000 (18:48 +0100)] 
doc: cmd: document the led shell command

This adds documentation on how to use the led shell command.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agodoc: move legacy API documented in README.LED to doc/api/led.rst
Quentin Schulz [Wed, 12 Nov 2025 17:48:07 +0000 (18:48 +0100)] 
doc: move legacy API documented in README.LED to doc/api/led.rst

This moves the content of the legacy LED API from doc/READ.LED to
doc/api/led.rst, applying minimal cosmetic changes to "nicely" integrate
it with the current docs and adding a small introduction to the legacy
API section.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agocmd: led: fix help text for blink subcommand
Quentin Schulz [Wed, 12 Nov 2025 17:48:06 +0000 (18:48 +0100)] 
cmd: led: fix help text for blink subcommand

The blink subcommand actually requires an additional parameter
(blink-freq) but not the others.

In order to simplify the help text, split the blink subcommand help text
from the off|on|toggle subcommands.

Then, fix the help text so that it is clear that the frequency is
required.

While at it, specify the duty cycle.

Fixes: ffe2052d6e8a ("dm: led: Add a new 'led' command")
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
5 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Wed, 3 Dec 2025 14:30:18 +0000 (08:30 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

This is R-Car X5H support. It was originally posted before rc1 and the
changes are well isolated. This is the final patchset which enables the
Gen5 drivers that are already in tree. I waited with this a bit until
the SCMI ID discussion stabilized and TFA X5H support landed. So now, I
can add the final piece into U-Boot too.

Note that this is still very much experimental, the X5H upstreaming is
in very early stages. The OF_UPSTREAM conversion will happen likely in
2026.04 or 2026.07 window, depending on when the Linux DTs land. The
compound-clock.c is surely going to go away once SCP gets updated and
the MFIS mailbox will be reworked once upstream bindings get developed.

This also includes SH DT alignment fix.

5 weeks agoarm64: renesas: Extend stub PSCI implementation to R-Car Gen5
Hai Pham [Mon, 27 Oct 2025 17:22:55 +0000 (18:22 +0100)] 
arm64: renesas: Extend stub PSCI implementation to R-Car Gen5

Extend the stub PSCI implementation with support for R-Car Gen5.
R-Car Gen5 uses different register to perform reset, therefore
add a compile-time conditional. This is __secure code, therefore
the runtime SoC detection parts are not available to it, hence
the compile time conditional.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> # Tweak commit message
5 weeks agoarm64: dts: renesas: Add Renesas R-Car X5H R8A78000 Ironhide board code
Hai Pham [Tue, 2 Dec 2025 18:34:16 +0000 (19:34 +0100)] 
arm64: dts: renesas: Add Renesas R-Car X5H R8A78000 Ironhide board code

Add initial support for Renesas R-Car X5H R8A78000 Ironhide board.
This consists mainly of DTs, Makefile and Kconfig entries and board
specific configuration files.

The DTs will be gradually switched over to Linux DTs via OF_UPSTREAM
once Linux DTs become available upstream, as upstreaming progresses.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 weeks agoarm64: dts: renesas: Add Renesas R-Car X5H R8A78000 SoC DTs
Hai Pham [Tue, 2 Dec 2025 18:34:15 +0000 (19:34 +0100)] 
arm64: dts: renesas: Add Renesas R-Car X5H R8A78000 SoC DTs

Add initial device trees for Renesas R-Car X5H R8A78000 SoC.
Include very basic clock, reset, power domain headers which
are used to control supported peripherals via SCMI / SCP. The
headers are currently kept limited to avoid possible ABI break.
A lot of clock are still stubbed via fixed-clock, this is going
to be gradually removed over time, as more of the platform is
upstreamed.

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
Signed-off-by: Khanh Le <khanh.le.xr@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 weeks agoarm64: renesas: Add Renesas R-Car Gen5 infrastructure
Hai Pham [Tue, 2 Dec 2025 18:34:14 +0000 (19:34 +0100)] 
arm64: renesas: Add Renesas R-Car Gen5 infrastructure

Add initial changes to support Renesas R-Car Gen5 SoC.

Introduce Kconfig entries, architecture headers and PRR IDs for Renesas
R-Car Gen5 and R-Car X5H R8A78000 SoC. Add Makefile change to produce
u-boot-elf.srec with correct offset for installation tooling. Update
MAINTAINERS entry to cover both r8a77nnn and r8a78nnn .

Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 weeks agomailbox: renesas: Add Renesas MFIS Multifunctional Interface mailbox driver
Tuyen Dang [Mon, 27 Oct 2025 16:39:17 +0000 (17:39 +0100)] 
mailbox: renesas: Add Renesas MFIS Multifunctional Interface mailbox driver

Add support for the Renesas MFIS mailbox, which provides an interface
between the different CPU Cores, such as AP System Core domain and the
Realtime Core domain, SCP Core domain and AP System Core domain or
Realtime Core domain and AP System Core domain or Realtime Core domain.

Signed-off-by: Tuyen Dang <tuyen.dang.xa@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> # Update the driver
[Marek: Rename the driver to renesas-mfis, simplify the driver.
        Always use only one TX channel and no RX channel, drop all
unnecessary code. Perform 1ms delay in send callback which
is perfectly fine to do in U-Boot which does RX polling]

5 weeks agoclk: renesas: Introduce temporary compound clock for SCP compatibility
Marek Vasut [Mon, 27 Oct 2025 16:33:07 +0000 (17:33 +0100)] 
clk: renesas: Introduce temporary compound clock for SCP compatibility

The current state of SCP on Renesas R-Car Gen5 is not yet final and
is still missing full clock control, the clock control is exposed as
separate enable/disable and rate controls.

Temporarily introduce custom local compound clock, which are used as
an adaptation layer between U-Boot clock tree and current state of
SCP, and which bind two SCP clock into a single compound clock, which
provides both enable/disable and rate controls.

This is mainly meant to be used by SD/eMMC controller, to allow the
driver to both turn its clock on and off, and also obtain the current
clock rate. This is going to be removed once the SCP clock protocol
solidifies.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 weeks agosh: Assure end of U-Boot is at 8-byte aligned offset
Marek Vasut [Wed, 19 Nov 2025 17:44:36 +0000 (18:44 +0100)] 
sh: 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 weeks agoboot/bootfdt: Add smbios3-entrypoint to FDT for non-EFI boots
Adriana Nicolae [Thu, 27 Nov 2025 16:28:34 +0000 (08:28 -0800)] 
boot/bootfdt: Add smbios3-entrypoint to FDT for non-EFI boots

The Linux kernel can discover SMBIOS tables through two primary methods:
1. Via EFI tables, when using EFI boot;
2. Via the 'smbios3-entrypoint' property in the /chosen node of the
device tree.

When U-Boot boots a Linux kernel using a non-EFI command ("bootm",
"bootz", or "booti"), the kernel relies on the device tree to detect
the hardware. If SMBIOS tables are available in U-Boot, they should
be passed to the kernel via this device tree property.

This patch modifies boot_fdt_prepare(), to inject the SMBIOSv3 table
address into the device tree if there is a table generated by U-boot.
The "board_fdt_chosen_smbios" is weak in order to leave the possibilty
for specific boards to select custom SMBIOS addresses.

The changes in this patch are added in the context of supporting this
device tree property in linux kernel:
https://lkml.org/lkml/2025/10/24/1393

Device tree schema was updated to include the "smbios3-entrypoint" node
in pull request: https://github.com/devicetree-org/dt-schema/pull/177

Signed-off-by: Adriana Nicolae <adriana@arista.com>
5 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
Tom Rini [Tue, 2 Dec 2025 21:25:14 +0000 (15:25 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh

Two fixes for R-Car Gen4 and CONFIG_ENV_OVERWRITE=n to always expect
"setenv -f" to be used when overwriting ethernet MAC on all R-Car.

5 weeks agoMerge tag 'u-boot-ufs-20251202' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Tue, 2 Dec 2025 19:46:06 +0000 (13:46 -0600)] 
Merge tag 'u-boot-ufs-20251202' of https://source.denx.de/u-boot/custodians/u-boot-ufs into next

- Second batch of UFS config renames for Cadence/Qcom/Rockchip/TI

5 weeks agoMerge tag 'net-next-20251201' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Tue, 2 Dec 2025 19:44:01 +0000 (13:44 -0600)] 
Merge tag 'net-next-20251201' of https://source.denx.de/u-boot/custodians/u-boot-net into next

Pull request net-next-20251201

net:
- phy: Add the Airoha EN8811H PHY driver
- airoha: bind MDIO controller on Ethernet load
- phy: Disallow PHY_MSCC and PHY_VITESSE under COMPILE_TEST
- phy: aquantia: refactor firmware upload helpers
- phy: aquantia: use generic firmware loader

net-legacy:
- tftp: Remove tftp_init_load_addr error path

5 weeks agoMerge tag 'u-boot-at91-fixes-2026.01-a' of https://source.denx.de/u-boot/custodians...
Tom Rini [Tue, 2 Dec 2025 18:23:15 +0000 (12:23 -0600)] 
Merge tag 'u-boot-at91-fixes-2026.01-a' of https://source.denx.de/u-boot/custodians/u-boot-at91

First set of u-boot-at91 fixes for the 2026.01 cycle:

This small fixes set includes a fix on the mtd pmecc driver.

5 weeks agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsung
Tom Rini [Tue, 2 Dec 2025 18:19:52 +0000 (12:19 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsung

- Assorted updates

5 weeks agoarm64: renesas: r8a779g3: Use redundant env on Retronix R-Car V4H Sparrow Hawk board
Marek Vasut [Wed, 19 Nov 2025 20:36:59 +0000 (21:36 +0100)] 
arm64: renesas: r8a779g3: Use redundant env on Retronix R-Car V4H Sparrow Hawk board

The redundant environment offset is already set in board configuration,
but the redundant environment itself is not explicitly enabled. Make
sure the redundant environment is enabled, as we most certainly do want
to have two copies of the environment.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 weeks agoARM: renesas: Disable CONFIG_ENV_OVERWRITE on all boards
Marek Vasut [Thu, 6 Nov 2025 19:13:24 +0000 (20:13 +0100)] 
ARM: renesas: Disable CONFIG_ENV_OVERWRITE on all boards

The CONFIG_ENV_OVERWRITE allows easy rewrite of environment variables
like 'ethaddr' and 'serial#' without any protection against accidental
removal of those variables. Remove this setting to add extra layer of
protection to those variables. The variables can still be overridden
using 'env set -f' (force set) if really needed.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 weeks agoARM: dts: renesas: Enable R8A779G0 V4H White Hawk RPC SPI DT node
Marek Vasut [Wed, 19 Nov 2025 20:39:48 +0000 (21:39 +0100)] 
ARM: dts: renesas: Enable R8A779G0 V4H White Hawk RPC SPI DT node

Disabling RPC breaks SPL boot on R-Car V4H White Hawk board, re-enable RPC.

Fixes: 1d94364c7f17 ("ARM: dts: renesas: Disable R8A779G0 V4H White Hawk RPC SPI DT node again")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 weeks agodoc: samsung: exynos-mobile: add documentation for exynos7870
Kaustabh Chakraborty [Fri, 24 Oct 2025 17:28:29 +0000 (22:58 +0530)] 
doc: samsung: exynos-mobile: add documentation for exynos7870

Document the image preparation and flashing techniques for
Exynos7870-based boards. This is done in a separate file in a
sub-directory, which is linked back to the main documentation.

Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoboard: samsung: exynos-mobile: add exynos7870 support and three devices
Kaustabh Chakraborty [Fri, 24 Oct 2025 17:28:28 +0000 (22:58 +0530)] 
board: samsung: exynos-mobile: add exynos7870 support and three devices

Add basic support for the Exynos7870 SoC, this includes device tree
match logic using multiple boards, where devices use a stub dtb in
Samsung's QCDT format. S-BOOT, the previous stage bootloader, places its
cmdline arguments there, which has identifying information.

This is added with support for three devices:
 * Samsung Galaxy A2 Core (codename: a2corelte)
 * Samsung Galaxy J6 (codename: j6lte)
 * Samsung Galaxy J7 Prime (codename: on7xelte)

Add their device trees in the defconfig, and also enable the clock and
pin controller drivers.

Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoboard: samsung: add support for Samsung Exynos mobile device boards
Kaustabh Chakraborty [Fri, 24 Oct 2025 17:28:27 +0000 (22:58 +0530)] 
board: samsung: add support for Samsung Exynos mobile device boards

Add support for a generic platform which intends to support multiple
boards powered by ARMv8 Samsung Exynos SoCs. Some important features
include:
 * Fastboot: This is present to provide an open alternative to Samsung's
   proprietary Odin protocol. The board file configures certain features
   for fastboot, such as a dynamically allocated fastboot buffer, and
   standardized (lowercase) partition aliases.
 * EFI: Kernel image can be loaded from an EFI partition. This
   adopts a standard booting process, which multiple OS distributions
   can rely on.

Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
5 weeks agoAzure: Rework jobs for disk space and 29 jobs
Tom Rini [Wed, 26 Nov 2025 23:49:46 +0000 (17:49 -0600)] 
Azure: Rework jobs for disk space and 29 jobs

The problem we face currently with Azure jobs is that we're running out
of disk space on the runners as we build. There's not a good way to
split approximately 1500 configurations across 10 jobs and not be close
to or exceeding that limit. Split this in to 29 jobs instead with a goal
of averaging an hour per job. This split gets us close, but there are
still some challenging jobs to try and break up further. The list is
mostly alphabetized but with some intentional changes (catch-all are
last, mx/imx are together, SoC family splits are just grouped together).

The average build time should be close to the same, but outliers can and
will happen.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoMerge tag 'u-boot-socfpga-next-20251201' of https://source.denx.de/u-boot/custodians... 830/head
Tom Rini [Mon, 1 Dec 2025 16:37:45 +0000 (10:37 -0600)] 
Merge tag 'u-boot-socfpga-next-20251201' of https://source.denx.de/u-boot/custodians/u-boot-socfpga

This pull request delivers a broad set of improvements across the
SoCFPGA family, including Agilex5, Cyclone V, SoC64, and common code.
Key updates include refined boot flows, new driver enablement, handoff
tooling enhancements, and several stability fixes.

Highlights:

* Agilex5:
  - Enable FAT-based environment storage
  - MMC driver restores legacy clkmgr-based clock lookup
  - Cleanup of MMC raw mode enablement logic

* Cyclone V:
  - SPL FAT boot support and updated bootcmd sequence
  - Disable SPL SPI to prevent contention with FAT-based boot
  - New board handoff script and BSP generator tooling
  - Optimized Makefile support for SoCFPGA handoff workflows* New drivers:
  - Cadence xSPI driver with full protocol and command support
  - SPL enablement for DW APB GPIO controller

* Networking:
  - xgmac MDIO now supports Clause 45 read/write operations

* NAND / SoC64:
  - Enable ONFI detection in Denali NAND controller for SoC64 devices

* DTS and board updates:
  - Sync common SoCFPGA U-Boot DTS with kernel sources
  - Fixes for FPGA2SDRAM configuration and SoCFPGA boot stall behavior
  - Vining_FPGA migrated to the modern LED framework
  - Device tree relocation no longer forced off for Vining FPGA

* Tooling:
  - Introduces a new Python-based Cyclone V BSP generator
    covering EMIF, IOCSR, HPS, XML parsing, rendering, and documentation
    to simplify board enablement and handoff regeneration workflows

Overall, this series improves boot robustness, enhances xSPI and MDIO
capabilities, modernizes board support, and introduces new tooling to
streamline SoCFPGA handoff generation.

Pipelines test passing
https://source.denx.de/u-boot/custodians/u-boot-socfpga/-/pipelines/28569

5 weeks agoMerge tag 'net-20251201' of https://source.denx.de/u-boot/custodians/u-boot-net
Tom Rini [Mon, 1 Dec 2025 16:26:02 +0000 (10:26 -0600)] 
Merge tag 'net-20251201' of https://source.denx.de/u-boot/custodians/u-boot-net

Pull request net-20251201

net:
- phy: broadcom: fix RGMII delays for BCM54210E
- phy: dp83869: fix STRAP_OPMODE bitmask

5 weeks agoAzure: Rework jobs for disk space and 29 jobs
Tom Rini [Wed, 26 Nov 2025 23:49:46 +0000 (17:49 -0600)] 
Azure: Rework jobs for disk space and 29 jobs

The problem we face currently with Azure jobs is that we're running out
of disk space on the runners as we build. There's not a good way to
split approximately 1500 configurations across 10 jobs and not be close
to or exceeding that limit. Split this in to 29 jobs instead with a goal
of averaging an hour per job. This split gets us close, but there are
still some challenging jobs to try and break up further. The list is
mostly alphabetized but with some intentional changes (catch-all are
last, mx/imx are together, SoC family splits are just grouped together).

The average build time should be close to the same, but outliers can and
will happen.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoCI: Update to latest container images
Tom Rini [Sun, 30 Nov 2025 21:19:48 +0000 (15:19 -0600)] 
CI: Update to latest container images

- Bump to noble-20251013
- Include tools for sage lab, build TF-A for platforms there.
- Switch to distro provided trace-cmd, add libengine-pkcs11-openssl
- Use mirrors for GNU projects
- Switch to QEMU 10.1.x

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoMerge patch series "CI: use mirrors for GNU tools"
Tom Rini [Sun, 30 Nov 2025 20:34:58 +0000 (14:34 -0600)] 
Merge patch series "CI: use mirrors for GNU tools"

Quentin Schulz <foss+uboot@0leil.net> says:

I have to add one (1) package to the Dockerfile as a new dependency and
wanted to build the image to verify it works. I wasn't able to because
GNU servers are just not reliable at all.

The git server URL we're using doesn't seem to be a mirrored one, and
switching to mirror URLs seem to make fetching possible again.

Unfortunately, we don't have the option to do that for coreboot's
dependencies, though we can ask coreboot to download the dependencies
through its own mirror, which we do in this series.

Link: https://lore.kernel.org/r/20251127-gnu-mirror-v2-0-c86fa2e8d464@cherry.de
5 weeks agoCI: add libengine-pkcs11-openssl package for pkcs11
Quentin Schulz [Fri, 21 Nov 2025 17:10:54 +0000 (18:10 +0100)] 
CI: add libengine-pkcs11-openssl package for pkcs11

In the future, we'll need proper pkcs11 support so that we can validate
mkimage/binman works well with pkcs11 OpenSSL engine/provider via
softhsm2-util (already installed).

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 weeks agoDockerfile: Switch to distro-provided trace-cmd
Tom Rini [Wed, 26 Nov 2025 21:52:00 +0000 (15:52 -0600)] 
Dockerfile: Switch to distro-provided trace-cmd

Now that we have moved to Ubuntu 24.04 the distribution provided
trace-cmd is new enough for our needs. Switch to installing that and
stop building it from source.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoDocker: Update QEMU to 10.1.x
Tom Rini [Wed, 19 Nov 2025 14:34:53 +0000 (08:34 -0600)] 
Docker: Update QEMU to 10.1.x

The current release of QEMU is 10.1.2 and we should be tracking at least
that new currently, to help find and fix emulation problems. This will
make it smaller of a change when we move to 10.1.3 which will re-enable
sifive_unleashed_sdcard testing again.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoMerge patch series "Gitlab: Add a "sage-lab" stage to access a board farm"
Tom Rini [Sun, 30 Nov 2025 19:34:47 +0000 (13:34 -0600)] 
Merge patch series "Gitlab: Add a "sage-lab" stage to access a board farm"

This series adds support for Gitlab pipelines to run our pytest suite on
a limited number of hardware platforms. While better documentation and
some further enhancements will be coming soon, this can be triggered by
passing '-o ci.variable="SAGE_LAB=1"' to git push, or adding
'pushOption = ci.variable="SAGE_LAB=1"' to the .git/config file for the
project. It can also be invoked manually from the pipeline webpage on a
an existing pipeline.

Link: https://lore.kernel.org/r/20251118210015.624758-1-trini@konsulko.com
5 weeks agoGitlab sage, Docker: Add snmp and rsync
Tom Rini [Tue, 18 Nov 2025 21:00:15 +0000 (15:00 -0600)] 
Gitlab sage, Docker: Add snmp and rsync

Add snmp and rsync to the normal docker image. While these tools are
only required for the lab on sage, I think it's a small enough addition
to be worth always including at this point. A higher level TODO I think
may be to see if we can / should split the resulting container up, or
if there's host tooling we can remove at a later step, after building
all the software we require.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoGitlab: sage: Add Pine64+ platform
Tom Rini [Tue, 18 Nov 2025 21:00:14 +0000 (15:00 -0600)] 
Gitlab: sage: Add Pine64+ platform

This adds the Pine64+ platform to the sage lab, for both legacy and lwIP
networking stacks. In order to build this platform we need to copy
certain files that were built in the container to /tmp and then set
BINMAN_INDIRS to /tmp in order to find them when building.

For now, we disable the test_net_pxe_boot_config test on lwIP as it
leads to a crash that needs to be investigated.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoDocker: Add building TF-A for pine64_plus
Tom Rini [Tue, 18 Nov 2025 21:00:13 +0000 (15:00 -0600)] 
Docker: Add building TF-A for pine64_plus

In order to add pine64_plus to the sage lab we will need to have a build
of TF-A available for it as bl31.bin. Add this to the existing build
loop of TF-A targets.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agoGitlab: Add a "sage-lab" stage to access a board farm
Tom Rini [Tue, 18 Nov 2025 21:00:12 +0000 (15:00 -0600)] 
Gitlab: Add a "sage-lab" stage to access a board farm

This is the Gitlab side of adding support for the board lab connected to
the "konsulko-sage" runner. On the software side, this lab uses only
upstream labgrid. On the hardware side, each device under test is
connected to its own exporter (typically a Raspberry Pi 4) that must be
turned on (and cleanly turned off) as part of a given test cycle.

Add support for testing on a SolidRun Hummingboard 2 (imx6), Raspberry
Pi 3 and Raspberry Pi 4. In all cases, we enable additional options to
run more tests on the board. As we have some networking tests, we test
both the legacy network stack and lwIP. In the case of Pi platforms, we
test all of 32bit configuration, plain configuration and rpi_arm64, and
again with and without lwIP.

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agonet: tftp: Remove tftp_init_load_addr error path
Leonard Anderweit [Thu, 20 Nov 2025 08:38:55 +0000 (09:38 +0100)] 
net: tftp: Remove tftp_init_load_addr error path

tftp_init_load_addr() always returns 0 since commit af45c84871e4 ("tftp:
rework the logic to validate the load address"), so we don't need to
check if it failed and can remove the error handling.
Also change tftp_init_load_addr() to static void since the return value
is now unused.

Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
Reviewed-by: Yannic Moog <y.moog@phytec.de>
5 weeks agonet: phy: aquantia: use generic firmware loader
Beiyan Yun [Sat, 1 Nov 2025 12:31:35 +0000 (20:31 +0800)] 
net: phy: aquantia: use generic firmware loader

Aquantia PHYs are being used w/o SPI flash in some routers recently.
Current firmware loader only attempts to load from FS on top of MMC,
limiting the use on many devices.

Removed the old firmware loader, migrate to generic script based firmware
loader to allow a wider range and runtime override of firmware source.
(e.g., MMC, USB, UBIFS).

Tested on Buffalo WXR18000BE10P with UBIFS.

Signed-off-by: Beiyan Yun <root@infi.wang>
5 weeks agonet: phy: aquantia: refactor firmware upload helpers
Beiyan Yun [Sat, 1 Nov 2025 12:31:34 +0000 (20:31 +0800)] 
net: phy: aquantia: refactor firmware upload helpers

Split `aquantia_upload_firmware` into `aquantia_upload_firmware`
and `aquantia_do_upload_firmware` to prepare for fwloader change.

Signed-off-by: Beiyan Yun <root@infi.wang>
5 weeks agonet: phy: Disallow PHY_MSCC and PHY_VITESSE under COMPILE_TEST
Tom Rini [Wed, 12 Nov 2025 21:21:40 +0000 (15:21 -0600)] 
net: phy: Disallow PHY_MSCC and PHY_VITESSE under COMPILE_TEST

These two PHY drivers have some overlap of supported PHYs. A longer term
effort is needed to both remove duplication and enhance support by
dealing with some issues that downstream vendor drivers address. For
now, make both of these depend on !COMPILE_TEST so that we can enable
"allyesconfig".

Signed-off-by: Tom Rini <trini@konsulko.com>
5 weeks agonet: airoha: bind MDIO controller on Ethernet load
Christian Marangi [Thu, 23 Oct 2025 17:07:45 +0000 (19:07 +0200)] 
net: airoha: bind MDIO controller on Ethernet load

Bind MDIO controller on Ethernet Controller load. The Airoha AN7581 SoC
have an integrated Switch based on MT7531 (or more saying MT7988).

Attach it to the mdio node in the switch node to support scanning for
MDIO devices on the BUS with DM API.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
5 weeks agoAdd optimized Makefile support for SoCFPGA handoff
Brian Sune [Mon, 1 Dec 2025 09:04:07 +0000 (17:04 +0800)] 
Add optimized Makefile support for SoCFPGA handoff

- Introduce socfpga_g5_handoff_prepare target in U-Boot
  arch/arm/mach-socfpga/config.mk
- Users can convert the handoff via make prepare.
- Detects Altera/Intel SoCFPGA boards from .config
- Combines vendor/board extraction into a single shell call
- Checks for hps_isw_handoff folder and .hiof files
- Uses ls -d instead of find for faster folder detection
- Runs BSP generator script only if files exist
- Non-blocking: continues if handoff folder or files are missing
- HANDOFF_PATH user define allows overriding auto-detected folder
- Minimizes subshells and other slow constructs for faster CI

Signed-off-by: Brian Sune <briansune@gmail.com>
5 weeks agonet: phy: Add the Airoha EN8811H PHY driver
Lucien.Jheng [Tue, 11 Nov 2025 00:05:06 +0000 (08:05 +0800)] 
net: phy: Add the Airoha EN8811H PHY driver

Add the driver for the Airoha EN8811H 2.5 Gigabit PHY. The PHY supports
100/1000/2500 Mbps with auto negotiation only.

The driver uses two firmware files, for which updated versions are added to
linux-firmware already.

Locating the AIROHA FW within the filesystem at the designated partition
and path will trigger its automatic loading and writing to the PHY via MDIO.
If need board specific loading override,
please override the en8811h_read_fw function on board or architecture level.

Based on the Linux upstream AIROHA EN8811H driver code(air_en8811h.c),
I have modified the relevant process to align with the U-Boot boot sequence.
and have validated this on Banana Pi BPI-R3 Mini.

Signed-off-by: Lucien.Jheng <lucienzx159@gmail.com>
Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
5 weeks agonet: phy: broadcom: fix RGMII delays for BCM54210E
Michael Walle [Thu, 27 Nov 2025 15:25:27 +0000 (16:25 +0100)] 
net: phy: broadcom: fix RGMII delays for BCM54210E

bcm54210e_config() configures the RGMII delays and then calls
bcm5461_config(). But the latter will do a PHY soft reset and thus
resets the delay settings again. Call bcm5461_config() first to fix it.

Fixes: cba79a1b2e11 ("net: phy: broadcom: add support for BCM54210E")
Signed-off-by: Michael Walle <mwalle@kernel.org>
Reviewed-by: Rafał Miłecki <rafal@milecki.pl>
5 weeks agonet: phy: dp83869: fix STRAP_OPMODE bitmask
Thanh Quan [Mon, 27 Oct 2025 14:03:58 +0000 (15:03 +0100)] 
net: phy: dp83869: fix STRAP_OPMODE bitmask

According to the TI DP83869HM datasheet Revision D (June 2025), section
7.6.1.41 STRAP_STS Register, the STRAP_OPMODE bitmask is bit [11:9].
Fix this.

In case the PHY is auto-detected via PHY ID registers, or not described
in DT, or, in case the PHY is described in DT but the optional DT property
"ti,op-mode" is not present, then the driver reads out the PHY functional
mode (RGMII, SGMII, ...) from hardware straps.

Currently, all upstream users of this PHY specify both DT compatible string
"ethernet-phy-id2000.a0f1" and ti,op-mode = <DP83869_RGMII_COPPER_ETHERNET>
property, therefore it seems no upstream users are affected by this bug.

The driver currently interprets bits [2:0] of STRAP_STS register as PHY
functional mode. Those bits are controlled by ANEG_DIS, ANEGSEL_0 straps
and an always-zero reserved bit. Systems that use RGMII-to-Copper functional
mode are unlikely to disable auto-negotiation via ANEG_DIS strap, or change
auto-negotiation behavior via ANEGSEL_0 strap. Therefore, even with this bug
in place, the STRAP_STS register content is likely going to be interpreted
by the driver as RGMII-to-Copper mode.

However, for a system with PHY functional mode strapping set to other mode
than RGMII-to-Copper, the driver is likely to misinterpret the strapping
as RGMII-to-Copper and misconfigure the PHY.

For example, on a system with SGMII-to-Copper strapping, the STRAP_STS
register reads as 0x0c20, but the PHY ends up being configured for
incompatible RGMII-to-Copper mode.

Fixes: f3e22eea815d ("net: phy: add TI DP83869HM ethernet driver")
Signed-off-by: Thanh Quan <thanh.quan.xn@renesas.com>
Signed-off-by: Hai Pham <hai.pham.ud@renesas.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> # Use FIELD_GET()
5 weeks agoconfigs: cyclone5: Disable SPI in SPL
Alif Zakuan Yuslaimi [Tue, 25 Nov 2025 08:13:16 +0000 (00:13 -0800)] 
configs: cyclone5: Disable SPI in SPL

Disable support for using SPI in SPL to solve Cyclone V storage issue as
the OCRAM is only 64kb. The SPI configurations are only
required during uboot proper only.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: cyclone5: Update boot command for CycloneV
Alif Zakuan Yuslaimi [Tue, 25 Nov 2025 08:13:15 +0000 (00:13 -0800)] 
configs: cyclone5: Update boot command for CycloneV

Update CycloneV boot command to sync with Altera official release

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: cyclone5: Enable SPL FAT support
Alif Zakuan Yuslaimi [Tue, 25 Nov 2025 08:13:14 +0000 (00:13 -0800)] 
configs: cyclone5: Enable SPL FAT support

Enable support for FAT filesystem with SPL for CycloneV instead of raw
mode.

Recent changes breaks CycloneV MMC boot from raw mode, and so we are taking
this opportunity to migrate MMC boot mode to FAT as smaller OCRAM size is
required, as well as aligning MMC boot flow with our other devices.

Fixes: 2a00d73d081a1 ("spl: mmc: Try to clean up raw-mode options")
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agospl: Remove ARCH_SOCFPGA from MMC raw mode enablement
Alif Zakuan Yuslaimi [Tue, 25 Nov 2025 08:13:13 +0000 (00:13 -0800)] 
spl: Remove ARCH_SOCFPGA from MMC raw mode enablement

We no longer use raw mode to boot from MMC for our devices in favor
of FAT filesystem.

Maintaining this config for legacy gen5 devices as to not risk breaking
any configurations still utilizing raw mode.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agommc: socfpga_dw_mmc: Restore legacy clkmgr address retrieval
Alif Zakuan Yuslaimi [Tue, 25 Nov 2025 08:13:12 +0000 (00:13 -0800)] 
mmc: socfpga_dw_mmc: Restore legacy clkmgr address retrieval

Restore legacy implementation of retrieving clkmgr base address from
mach-socfpga/misc.c driver for our legacy devices.

Excluding Agilex7/7M from this implementation as these devices' clock
driver is already following clock driver model and is supporting
enable/disable APIs.

The legacy devices' clock driver will have to be refactored to support
driver model which enables us to support enable/disable APIs for these
devices.

Fixes: ab27182cac8f ("mmc: socfpga_dw_mmc: Enable/disable SDMMC clock via API")
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: cyclone5: Disable mkeficapsule tool build
Alif Zakuan Yuslaimi [Tue, 25 Nov 2025 08:13:09 +0000 (00:13 -0800)] 
configs: cyclone5: Disable mkeficapsule tool build

mkeficapsule tool will be built by default if EFI_LOADER is set due to
commit b7a625b1ce49 ("tools: Build mkeficapsule tool by default if
EFI_LOADER is set").

This will cause compilation error on all our SoCFPGA devices, hence we will
be disabling this config as we do not utilize this tool.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoboard: softing: vining: migrate to modern LED framework
Quentin Schulz [Wed, 19 Nov 2025 17:19:55 +0000 (18:19 +0100)] 
board: softing: vining: migrate to modern LED framework

This migrates from the legacy LED API to use the modern LED framework
which makes use of the FDT.

Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Acked-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agosocfpga_vining_fpga: Stop disabling device tree relocation
Tom Rini [Wed, 19 Nov 2025 14:55:38 +0000 (08:55 -0600)] 
socfpga_vining_fpga: Stop disabling device tree relocation

Remove setting of fdt_high to ~0, which disables device tree relocation,
from the default environment. Doing so prevents U-Boot from correcting
problems such as having an unaligned device tree and leads to various
failure modes in the OS.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
5 weeks agoAltera SoCFpga Boot Stall Fix
Brian Sune [Fri, 14 Nov 2025 16:04:23 +0000 (00:04 +0800)] 
Altera SoCFpga Boot Stall Fix

Since U-Boot 2025.07 pure SD Card
boot no longer works. Now Altera released 2025.07
shows the different on the u-boot files.
After testing, the major root case is
get_managers_addr. And this patch fix the
SD boot stall via pulling from offical.

Signed-off-by: Brian Sune <briansune@gmail.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agosync socfpga common u-boot dts
Brian Sune [Mon, 10 Nov 2025 05:00:40 +0000 (13:00 +0800)] 
sync socfpga common u-boot dts

The dtsi for socfpga common should
turn on L2 and memory and no reason not
to do so

Signed-off-by: Brian Sune <briansune@gmail.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agonand: denali: enable ONFI detection for SoCFPGA SoC64
Dinesh Maniyam [Tue, 4 Nov 2025 17:16:17 +0000 (01:16 +0800)] 
nand: denali: enable ONFI detection for SoCFPGA SoC64

Enable ONFI parameter page detection for SoCFPGA SoC64 devices by
selecting SYS_NAND_ONFI_DETECTION in the NAND_DENALI Kconfig entry.

This allows SoCFPGA SoC64 platforms using the Denali NAND controller
to automatically detect NAND parameters via the ONFI interface instead
of relying on hardcoded configuration values.

The selection is limited to TARGET_SOCFPGA_SOC64 to avoid affecting
non-SoC64 platforms that use legacy NAND handling.

Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoCyclone V Board handsoff script
Brian Sune [Fri, 31 Oct 2025 18:04:19 +0000 (02:04 +0800)] 
Cyclone V Board handsoff script

Since turning from old build flow.
New Altera SoCFPGA requires converting handsoff
conversion via the python script. This is from
official provided, and now sync to U-Boot with
better location at tools/cv_xxxx. Meantime,
requirement.txt is also provided to further
explain the libraries require for these scripts.

Signed-off-by: Brian Sune <briansune@gmail.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agospi: cadence: Add driver for xSPI
Boon Khai Ng [Mon, 27 Oct 2025 06:36:54 +0000 (14:36 +0800)] 
spi: cadence: Add driver for xSPI

This patch ports the Cadence xSPI controller driver from
the Linux kernel. The controller supports three operating modes:

1. ACMD (Auto Command) mode
   - Includes PIO and CDMA submodes.
   - CDMA mode uses linked descriptors for high-performance,
     low-overhead operation.
   - PIO mode is suitable for simple, single-command transactions.

2. STIG (Software Triggered Instruction Generator) mode
   - Issues low-level 128-bit instructions to memory.
   - Uses the Slave DMA interface for data transfers.

3. Direct mode
   - Enables direct data access through the slave interface
     without commands.

Currently, only the STIG work mode is enabled. Additional modes will be
supported in future updates.

At the same time, also enabling the kconfig option for xSPI driver.

This driver has been ported and functionally verified on the Intel Simics
platform. It is intended for evaluation and experimental use at this stage.

Link: https://lore.kernel.org/all/1632038734-23999-1-git-send-email-pthombar@cadence.com/
Signed-off-by: Boon Khai Ng <boon.khai.ng@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoconfigs: agilex5: Enable FAT-based environment storage in defconfig
Alif Zakuan Yuslaimi [Thu, 23 Oct 2025 08:51:22 +0000 (01:51 -0700)] 
configs: agilex5: Enable FAT-based environment storage in defconfig

Enable storing the U-Boot environment in a FAT filesystem for Agilex5.

This allows the board to read and write environment variables from the
first partition of the first device formatted with FAT, in addition to the
existing UBI-based environment configuration.

Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agoFPGA2SDRAM setup fix
Brian Sune [Mon, 20 Oct 2025 13:35:54 +0000 (21:35 +0800)] 
FPGA2SDRAM setup fix

After testing, w/o proper setup
the FPGA2SDRAM bridge will not work and stall.
Pulling from official fix and w/o this initialization,
both 2025.07 and 2025.10 also suffer stall on U-Boot
and distro. Any FPGA to HPS-SDRAM action will immediate
stall the CPU. As such, this patch fix the issue.

Signed-off-by: Brian Sune <briansune@gmail.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
5 weeks agogpio: dwapb: Enable SPL support for DWAPB GPIO driver
Tanmay Kathpalia [Wed, 15 Oct 2025 15:44:45 +0000 (08:44 -0700)] 
gpio: dwapb: Enable SPL support for DWAPB GPIO driver

Add SPL_DWAPB_GPIO configuration option to enable the Designware APB
GPIO driver in SPL builds.

Changes:
- Add SPL_DWAPB_GPIO Kconfig option with SPL_DM_GPIO dependency
- Update Makefile to use CONFIG_$(PHASE_)DWAPB_GPIO pattern for
  conditional compilation in both SPL and main U-Boot builds

Signed-off-by: Tanmay Kathpalia <tanmay.kathpalia@altera.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
5 weeks agonet: xgmac: Augment mdio read/write with cl-45 format support
Nikunj Kela [Fri, 29 Aug 2025 04:12:32 +0000 (21:12 -0700)] 
net: xgmac: Augment mdio read/write with cl-45 format support

Currently, clause-22 format is supported. This change adds
support for clause-45 format.

Signed-off-by: Nikunj Kela <nikunj.kela@sima.ai>
Reviewed-by: Boon Khai Ng <boon.khai.ng@altera.com>
Tested-by: Boon Khai Ng <boon.khai.ng@altera.com>
Reviewed-by: Boon Khai Ng <boon.khai.ng@altera.com>
Tested-by: Boon Khai Ng <boon.khai.ng@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>