]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
4 months agoimage-fit: Fix mismatched parameter type in comment
Kunihiko Hayashi [Wed, 4 Mar 2026 07:51:00 +0000 (16:51 +0900)] 
image-fit: Fix mismatched parameter type in comment

The functions use 'ulong', however, the comments said 'uint32_t'.
Update the comments to match the prototype.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agoMerge tag 'u-boot-imx-next-20260318' of https://gitlab.denx.de/u-boot/custodians...
Tom Rini [Wed, 18 Mar 2026 14:45:37 +0000 (08:45 -0600)] 
Merge tag 'u-boot-imx-next-20260318' 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/29557

- Add support for i.MX952.
- Add support for XPI1 on imx943_evk.

4 months agoMerge tag 'dm-next-18mar26' of git://git.denx.de/u-boot-dm into next
Tom Rini [Wed, 18 Mar 2026 14:39:58 +0000 (08:39 -0600)] 
Merge tag 'dm-next-18mar26' of git://git.denx.de/u-boot-dm into next

Binman test-file reorganisation
Binman EFI-capsule PKCS11 support

4 months agoMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxi into...
Tom Rini [Wed, 18 Mar 2026 14:39:15 +0000 (08:39 -0600)] 
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxi into next

For once, replacing the legacy LED API with a more lean alternative,
just for sunxi's SPL. IIUC, this would be one step closer to dropping
this deprecated subsystem altogether.
Also adding two DRAM cleanups for the A133 SoC. There is a third patch
which requires some changes, will care about that later.

Gitlab CI passed, and I booted that briefly on an A133 board and some
board with a GPIO controlled power LED.

4 months agoMerge tag 'mediatek-for-next-2026-03-17' of https://source.denx.de/u-boot/custodians...
Tom Rini [Wed, 18 Mar 2026 14:37:41 +0000 (08:37 -0600)] 
Merge tag 'mediatek-for-next-2026-03-17' of https://source.denx.de/u-boot/custodians/u-boot-mediatek into next

- A fix for mt8188 clock oscillator rates.
- New driver for mt8189 clocks.
- The rest is a first wave of a larger effort to refactor and clean up the
  mediatek clocks to replace various hacks that built up over time with
  something that is easier to understand and maintain.

4 months agoMerge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into...
Tom Rini [Wed, 18 Mar 2026 14:37:03 +0000 (08:37 -0600)] 
Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv into next

CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/29548
- board: starfive: Add Xunlong OrangePi RV
- board: starfive: Add VisionFive 2 Lite
- board: beagle: Add BeagleV-Fire

4 months agotest: binman: Add test for pkcs11 signed capsule
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:16 +0000 (10:15 +0100)] 
test: binman: Add test for pkcs11 signed capsule

Test pkcs11 URI support for UEFI capsule generation. Both
public certificate and private key are used over pkcs11
protocol.
Pkcs11-tool has been introduced as softhsm tool doesn't have
functionality to import certificates in commonly distributed
version (only in the latest).

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: DTS: Add dump-signature option for capsules
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:15 +0000 (10:15 +0100)] 
binman: DTS: Add dump-signature option for capsules

Mkeficapsule can dump signature for signed capsules. It can
be used in test to validate signature i.e. with openssl.
Add an entry for device tree node.

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: Add dump signature option to mkeficapsule
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:14 +0000 (10:15 +0100)] 
binman: Add dump signature option to mkeficapsule

It will be used to capsule signature verification.

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
4 months agotools: mkeficapsule: Fix dump signature long option
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:13 +0000 (10:15 +0100)] 
tools: mkeficapsule: Fix dump signature long option

Only short option has been present. Also rename dump_sig
to dump-sig to match with other parameter names.

Fixes: 16abff246b40 ("tools: mkeficapsule: add firmware image signing")
Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
4 months agobinman: Accept pkcs11 URI tokens for capsule updates
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:12 +0000 (10:15 +0100)] 
binman: Accept pkcs11 URI tokens for capsule updates

With pkcs11 support in mkeficapsule we can now accept URI
tokens and not only files.

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
4 months agotools: mkeficapsule: Add support for pkcs11
Wojciech Dubowik [Fri, 20 Feb 2026 09:15:11 +0000 (10:15 +0100)] 
tools: mkeficapsule: Add support for pkcs11

With pkcs11 support it's now possible to specify keys
with URI format. To use this feature the filename must
begin "pkcs11:.." and have valid URI pointing to certificate
and private key in HSM.

The environment variable PKCS11_MODULE_PATH must point to the
right pkcs11 provider i.e. with softhsm:
export PKCS11_MODULE_PATH=<path>/libsofthsm2.so

Example command line:
tools/mkeficapsule --monotonic-count 1 \
 --private-key "pkcs11:token=EX;object=capsule;type=private;pin-source=pin.txt" \
 --certificate "pkcs11:token=EX;object=capsule;type=cert;pin-source=pin.txt" \
 --index 1 \
 --guid XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX \
 "capsule-payload" \
 "capsule.cap"

Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@mt.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
4 months agobinman: doc: Update binman_tests.rst for subdirectory layout
Simon Glass [Fri, 6 Mar 2026 18:12:51 +0000 (11:12 -0700)] 
binman: doc: Update binman_tests.rst for subdirectory layout

Update the guidance for adding new tests to describe the subdirectory
structure instead of the numbering scheme.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: Drop the allow_failures parameter from run_test_coverage()
Simon Glass [Fri, 6 Mar 2026 18:12:50 +0000 (11:12 -0700)] 
binman: Drop the allow_failures parameter from run_test_coverage()

The allow_failures parameter in run_test_coverage() is no longer used
by any caller.

Drop it.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: Remove the coverage allow_failures list
Simon Glass [Fri, 6 Mar 2026 18:12:49 +0000 (11:12 -0700)] 
binman: Remove the coverage allow_failures list

Now that iMX8 has full coverage the allow_failures list in
RunTestCoverage() is no longer needed.

Drop the list.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: test: Fix code coverage for iMX8 and cst bintool
Simon Glass [Fri, 6 Mar 2026 18:12:48 +0000 (11:12 -0700)] 
binman: test: Fix code coverage for iMX8 and cst bintool

Three files are currently missing test coverage: nxp_imx8mcst,
nxp_imx8mimage and cst

Add test methods to cover all missing code paths, trying to reuse the
same .dts files where possible.

This brings all three files to 100% coverage.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: test: Move shared key files to test/security/
Simon Glass [Fri, 6 Mar 2026 18:12:47 +0000 (11:12 -0700)] 
binman: test: Move shared key files to test/security/

Move key.key and key.pem into the security/ subdirectory. These are
used by security, vendor, and capsule tests but security is the most
natural home for key material. Update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: test: Move FIT signing test data to test/fit/
Simon Glass [Fri, 6 Mar 2026 18:12:46 +0000 (11:12 -0700)] 
binman: test: Move FIT signing test data to test/fit/

Move the signing-related test data (keys, certificates, OpenSSL and
SoftHSM2 configuration, dummy engine source) into the fit/ subdirectory
alongside the FIT DTS test files. Drop the 340_ prefix from files that
had it. Update the Makefile and all ftest.py references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: test: Move x86 binary test data to test/x86/
Simon Glass [Fri, 6 Mar 2026 18:12:45 +0000 (11:12 -0700)] 
binman: test: Move x86 binary test data to test/x86/

Move descriptor.bin, fitimage.bin.gz and ifwi.bin.gz into the x86/
subdirectory alongside the x86 DTS test files and update all
references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: test: Move remaining test files to test/entry/
Simon Glass [Fri, 6 Mar 2026 18:12:44 +0000 (11:12 -0700)] 
binman: test: Move remaining test files to test/entry/

Move the remaining 60 or so test files into an entry/ subdirectory.
These cover general entry types and features: entry args, fill, text,
env, compress, replace, template, collection, ELF, overlap, listing,
sections, symlink, TEE OS, and other miscellaneous entries. Drop the
numeric prefixes and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Move symbol test files to test/symbols/
Simon Glass [Fri, 6 Mar 2026 18:12:43 +0000 (11:12 -0700)] 
binman: test: Move symbol test files to test/symbols/

Move about 10 test files for binman symbol patching into a symbols/
subdirectory. Drop the numeric prefixes and the redundant symbols_
filename prefix, and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Move vendor-specific test files to test/vendor/
Simon Glass [Fri, 6 Mar 2026 18:12:42 +0000 (11:12 -0700)] 
binman: test: Move vendor-specific test files to test/vendor/

Move about 20 test files for vendor-specific platform support (TI, NXP
i.MX, Renesas R-Car, Rockchip, PowerPC MPC85xx) into a vendor/
subdirectory. Drop the numeric prefixes and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: test: Move UEFI capsule test files to test/capsule/
Simon Glass [Fri, 6 Mar 2026 18:12:41 +0000 (11:12 -0700)] 
binman: test: Move UEFI capsule test files to test/capsule/

Move about a dozen test files for UEFI capsule creation (signed,
versioned, accept, revert) into a capsule/ subdirectory. Drop the
numeric prefixes and the redundant capsule_ filename prefix, and
update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Move FIP/TF-A test files to test/fip/
Simon Glass [Fri, 6 Mar 2026 18:12:40 +0000 (11:12 -0700)] 
binman: test: Move FIP/TF-A test files to test/fip/

Move about 15 test files for ARM Trusted Firmware FIP, ATF BL31, SCP,
OpenSBI, and BL1 entries into a fip/ subdirectory. Drop the numeric
prefixes and the redundant fip_ filename prefix, and update all
references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: test: Move mkimage test files to test/mkimage/
Simon Glass [Fri, 6 Mar 2026 18:12:39 +0000 (11:12 -0700)] 
binman: test: Move mkimage test files to test/mkimage/

Move about a dozen test files for mkimage entries into a mkimage/
subdirectory. Drop the numeric prefixes and the redundant mkimage_
filename prefix, and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Move ChromeOS test files to test/cros/
Simon Glass [Fri, 6 Mar 2026 18:12:38 +0000 (11:12 -0700)] 
binman: test: Move ChromeOS test files to test/cros/

Move about 10 test files for ChromeOS entries (GBB, vblock, FMAP)
into a cros/ subdirectory. Drop the numeric prefixes and update all
references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Move CBFS test files to test/cbfs/
Simon Glass [Fri, 6 Mar 2026 18:12:37 +0000 (11:12 -0700)] 
binman: test: Move CBFS test files to test/cbfs/

Move about a dozen test files for Coreboot File System entries into a
cbfs/ subdirectory. Drop the numeric prefixes and the redundant cbfs_
filename prefix, and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Move security test files to test/security/
Simon Glass [Fri, 6 Mar 2026 18:12:36 +0000 (11:12 -0700)] 
binman: test: Move security test files to test/security/

Move about 20 test files for signing, encryption, hash, pre-load,
x509, and Xilinx bootgen entries into a security/ subdirectory. Drop
the numeric prefixes and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: test: Move blob test files to test/blob/
Simon Glass [Fri, 6 Mar 2026 18:12:35 +0000 (11:12 -0700)] 
binman: test: Move blob test files to test/blob/

Move about a dozen test files for blob, blob-ext, blob-ext-list,
fake-blob, and blob-symbol entries into a blob/ subdirectory. Drop
the numeric prefixes and the redundant blob_ filename prefix, and
update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Move FDT/fdtmap test files to test/fdt/
Simon Glass [Fri, 6 Mar 2026 18:12:34 +0000 (11:12 -0700)] 
binman: test: Move FDT/fdtmap test files to test/fdt/

Move about 30 test files for FDT update, fdtmap, DTB compression,
alternates, and bootph into an fdt/ subdirectory. Drop the numeric
prefixes and the redundant fdt_ filename prefix, and update all
references.

Remove the unused no_alt_format.dts which has no references in any
test.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Move FIT image test files to test/fit/
Simon Glass [Fri, 6 Mar 2026 18:12:33 +0000 (11:12 -0700)] 
binman: test: Move FIT image test files to test/fit/

Move about 40 test files for FIT images (signing, external data,
split-elf, encryption, alignment, firmware loadables, templates) into
a fit/ subdirectory. Drop the numeric prefixes and the redundant fit_
filename prefix, and update all references.

Rename the three signature.dts variants to have unique names:
signature.dts, signature_multi_key.dts and signature_no_nodes.dts.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agobinman: test: Move x86 and Intel test files to test/x86/
Simon Glass [Fri, 6 Mar 2026 18:12:32 +0000 (11:12 -0700)] 
binman: test: Move x86 and Intel test files to test/x86/

Move about 40 test files for x86 and Intel platform support (ROM,
microcode, ME, IFWI, FSP, descriptor, reset16, start16, FIT) into an
x86/ subdirectory. Drop the numeric prefixes and the redundant x86_
filename prefix, and update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Move U-Boot variant test files to test/xpl/
Simon Glass [Fri, 6 Mar 2026 18:12:31 +0000 (11:12 -0700)] 
binman: test: Move U-Boot variant test files to test/xpl/

Move about a dozen test files for U-Boot image variants (SPL, TPL,
VPL, DTB, nodtb, bss-pad) into an xpl/ subdirectory. Drop the
numeric prefixes and the redundant u_boot_ filename prefix, and
update all references.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Move pack/layout test files to test/pack/
Simon Glass [Fri, 6 Mar 2026 18:12:30 +0000 (11:12 -0700)] 
binman: test: Move pack/layout test files to test/pack/

Move about 50 test files related to basic layout, packing, alignment,
sections, and image structure into a pack/ subdirectory. Drop the
numeric prefixes from the filenames and update all references in
ftest.py, entry_test.py, and binman_tests.rst

Signed-off-by: Simon Glass <simon.glass@canonical.com>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
4 months agobinman: test: Capture output from tests with warnings
Simon Glass [Fri, 6 Mar 2026 18:12:29 +0000 (11:12 -0700)] 
binman: test: Capture output from tests with warnings

Tests are supposed to run silently and capture any output produced.

Fix testRemoveTemplate() so that the message about the missing openssl
is captured, along with the invalid-images message.

Fix testNxpImx9Image() as well, since it is expected that container.img
and bl31.bin are missing.

Signed-off-by: Simon Glass <simon.glass@canonical.com>
4 months agoclk: mediatek: set CLK_PARENT_XTAL on fixed factor clocks
David Lechner [Fri, 6 Mar 2026 22:05:55 +0000 (16:05 -0600)] 
clk: mediatek: set CLK_PARENT_XTAL on fixed factor clocks

Explicitly set the CLK_PARENT_XTAL flag for fixed factor clocks.

Prior to this, it was assumed that clock ID 0 was CLK_XTAL and other
IDs used a different clock tree when no parent was explicitly set.
Making the parent explicit will allow us to remove this confusing
behavior in the future.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-8-b253b49f17b2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: move common PARENT macros to header
David Lechner [Fri, 6 Mar 2026 22:05:51 +0000 (16:05 -0600)] 
clk: mediatek: move common PARENT macros to header

Move repeated *_PARENT() macros from chip-specific .c files to the
common mtk-clk.h file.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-4-b253b49f17b2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: add MUX_GATE_MIXED macros
David Lechner [Fri, 6 Mar 2026 22:05:50 +0000 (16:05 -0600)] 
clk: mediatek: add MUX_GATE_MIXED macros

Add new MUX_GATE_MIXED and MUX_GATE_MIXED_FLAGS macros for mixed parent
muxes that have a gate. These will be used in a few drivers where we
already have this type of mux clocks.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-3-b253b49f17b2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: rename CLK_DOMAIN_SCPSYS
David Lechner [Fri, 6 Mar 2026 22:05:49 +0000 (16:05 -0600)] 
clk: mediatek: rename CLK_DOMAIN_SCPSYS

Rename CLK_DOMAIN_SCPSYS to CLK_MUX_DOMAIN_SCPSYS to make it more clear
that this flag only applies to MUX clocks and not other clock types.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-2-b253b49f17b2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: rename HAVE_RST_BAR
David Lechner [Fri, 6 Mar 2026 22:05:48 +0000 (16:05 -0600)] 
clk: mediatek: rename HAVE_RST_BAR

Rename HAVE_RST_BAR to CLK_PLL_HAVE_RST_BAR. This makes it more clear
that this flag only applies to PLL clocks. Also add a blank line between
CLK_PLL_HAVE_RST_BAR and the CLK_MUX_ macros to keep the grouping of the
flags consistent.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260306-clk-mtk-remove-clk-bypass-xtal-flag-v2-1-b253b49f17b2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agosunxi: a133: dram: Align parameters terminology with Allwinner
Paul Kocialkowski [Wed, 28 Jan 2026 23:57:17 +0000 (00:57 +0100)] 
sunxi: a133: dram: Align parameters terminology with Allwinner

There is a mistmatch between Allwinner's dram_para BSP definitions and the
parameters names in mainline u-boot for TPR1-3. What we call TPR1 is actually
MR22 while TPR2 is TPR0 and TPR3 is TPR1. MR22 does get written to the
corresponding register. This only concerns LPDDR4 support.

Introduce a new Kconfig entry for MR22 and proceed with the rename.
Update the only config currently using it.

See the list of parameters from the Allwinner BSP at the end of:
https://linux-sunxi.org/A133/DRAMC

Note that the H616/H6 code is coherent with this new TPR0 definition
(and does not use TPR1 and MR22).

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Sponsored-by: MEC Electronics GmbH <https://www.mec.at/>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
4 months agosunxi: a133: dram: Fix PHY dx delays offsets and add dmb
Paul Kocialkowski [Wed, 28 Jan 2026 23:57:16 +0000 (00:57 +0100)] 
sunxi: a133: dram: Fix PHY dx delays offsets and add dmb

Some of the offsets for the DRAM PHY dx delays are wrong (as compared
to the H616 code and the reference binary) since the
mctl_phy_dx_delay0_inner function does not perform the correct
calculation for some of them.

Introduce a mctl_phy_dx_delay0_inner0 to fix the incorrect offsets and
rename the existing function to mctl_phy_dx_delay0_inner1 for the
offsets it correctly handles.

Also add memory barriers that are also present in the H616 code while
at it.

This fixes detection of 4 GiB DRAM on some boards using LPDDR4.

Signed-off-by: Paul Kocialkowski <paulk@sys-base.io>
Sponsored-by: MEC Electronics GmbH <https://www.mec.at/>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
4 months agoclk: mediatek: add clock driver for MT8189
Chris Chen [Tue, 3 Mar 2026 19:54:55 +0000 (13:54 -0600)] 
clk: mediatek: add clock driver for MT8189

Add new clock driver for MedaiTek MT8189 and compatible SoCs.

Signed-off-by: Chris Chen <chris-qj.chen@mediatek.com>
Co-developed-by: David Lechner <dlechner@baylibre.com>
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-7-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agodt-bindings: clock: Add MediaTek MT8189 clock
Irving-CH Lin [Tue, 3 Mar 2026 19:54:54 +0000 (13:54 -0600)] 
dt-bindings: clock: Add MediaTek MT8189 clock

Add IDs for the clocks of MediaTek MT8189 SoC.

Signed-off-by: Irving-CH Lin <irving-ch.lin@mediatek.com>
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-6-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: add MUX_MIXED_CLR_SET_UPD_FLAGS() macro
David Lechner [Tue, 3 Mar 2026 19:54:53 +0000 (13:54 -0600)] 
clk: mediatek: add MUX_MIXED_CLR_SET_UPD_FLAGS() macro

Add a new MUX_MIXED_CLR_SET_UPD_FLAGS() macro. This is the same as
MUX_CLR_SET_UPD_FLAGS() except that it uses the parent_flags member
of the union instead of parent.

This will be needed by the incoming mt8189 clock driver.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-5-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: add CLK_PARENT_EXT
David Lechner [Tue, 3 Mar 2026 19:54:52 +0000 (13:54 -0600)] 
clk: mediatek: add CLK_PARENT_EXT

Add support for external clock parent type in MediaTek clock driver to
allow multiple external clock sources.

This is intended to eventually replace CLK_PARENT_XTAL which only allows
a single external clock source. Replacing CLK_PARENT_XTAL is not trivial
since it would required touching all chip-specific drivers. So that is
saved for another day.

Before this change, the only way to add additional external clocks was
to use a clock ID mapping and add the external clock in the fixed clocks
portion of the CLK_PARENT_TOPCKGEN clocks. After this change, such hacks
are no longer necessary and external clocks can be added in a cleaner
way.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-4-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: add mtk_clk_id_is_* helper functions
David Lechner [Tue, 3 Mar 2026 19:54:51 +0000 (13:54 -0600)] 
clk: mediatek: add mtk_clk_id_is_* helper functions

Add helper functions to check if a clock ID corresponds to a particular
clock type (mux, gate, fdiv). This simplifies the code and makes it more
readable.

Additionally, it removes the restriction that fdivs_offs < muxes_offs <
gates_offs by making the checking more strict in some places. This will
allow future drivers to not have to define a mapping to meet this
requirement.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-3-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: refactor parent rate lookup functions
David Lechner [Tue, 3 Mar 2026 19:54:50 +0000 (13:54 -0600)] 
clk: mediatek: refactor parent rate lookup functions

Refactor duplicate parent rate lookup code into a common function.

Instead of relying on rules like X is always the parent of Y, we use
the driver ops pointer to make sure we are actually getting the correct
parent clock device. This allows the same function to be called from
different clock types and will allow future chip-specific clock drivers
to not have to follow the rules as strictly.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-2-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: use correct struct type for infrasys clocks
David Lechner [Tue, 3 Mar 2026 19:54:49 +0000 (13:54 -0600)] 
clk: mediatek: use correct struct type for infrasys clocks

Fix the private data type struct type in a couple of infrasys clock
functions.

struct mtk_cg_priv is a superset of struct mtk_clk_priv and has the same
layout at the beginning so there was no compile errors or runtime bugs.
This could only be found by inspecting the code.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-mt8189-clocks-v4-1-ee85f8dd2f0d@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: mt8188: fix CLK_TOP_CLK{13,26}M rates
David Lechner [Fri, 6 Mar 2026 00:45:11 +0000 (18:45 -0600)] 
clk: mediatek: mt8188: fix CLK_TOP_CLK{13,26}M rates

Change CLK_TOP_CLK13M rate from 130_000_000 to 13_000_000 and
CLK_TOP_CLK26M rate from 260_000_000 to 26_000_000. As the names
suggest, these clocks are 13/26 MHz, not 130/260 MHz.

Fixes: 5e9bbbdab003 ("clk: mediatek: mt8188: add missing fixed clock")
Fixes: 11f3cc46322a ("clk: mediatek: add MT8188 clock driver")
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Tested-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260305-clk-mtk-fix-mt8188-rates-v2-1-0ce2b5212775@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoclk: mediatek: mt7622: fix infracfg and pericfg clock operations
Daniel Golle [Wed, 4 Mar 2026 03:53:38 +0000 (03:53 +0000)] 
clk: mediatek: mt7622: fix infracfg and pericfg clock operations

The MT7622 infracfg and pericfg drivers both use
mtk_common_clk_infrasys_init() for probe, which populates struct
mtk_clk_priv and stores gate definitions in the clk_tree. However,
both drivers were incorrectly wired to mtk_clk_gate_ops which expects
struct mtk_cg_priv with separately populated gates/num_gates/gates_offs
fields from mtk_common_clk_gate_init().

Since those fields were never set, any attempt to enable an infracfg or
pericfg gate clock (e.g. CLK_INFRA_TRNG) would fail with -EINVAL.

Switch both to mtk_clk_infrasys_ops and struct mtk_clk_priv to match
the init function.

Fixes: 72ab603b201 ("clk: mediatek: add driver for MT7622")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: David Lechner <dlechner@baylibre.com>
4 months agoriscv: Add support for BeagleV-Fire
Jamie Gibbons [Fri, 16 Jan 2026 14:08:30 +0000 (14:08 +0000)] 
riscv: Add support for BeagleV-Fire

Bring U-Boot support for the BeagleV-Fire by adding a device tree and
supporting board files etc.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
4 months agodoc: imx95_evk: Fix the binary name
Fabio Estevam [Fri, 13 Mar 2026 21:00:05 +0000 (18:00 -0300)] 
doc: imx95_evk: Fix the binary name

U-Boot produces flash.bin as the final boot image when building for
the i.MX95 EVK, but the documentation refers to imx-boot-imx95.bin.

Update the instructions to use flash.bin when copying the image to
the SD card.

Signed-off-by: Fabio Estevam <festevam@nabladev.com>
4 months agodoc: imx95_evk: Update Arm GNU toolchain version to 14.2
Fabio Estevam [Fri, 13 Mar 2026 21:00:04 +0000 (18:00 -0300)] 
doc: imx95_evk: Update Arm GNU toolchain version to 14.2

The imx-oei and imx-sm build systems defaults to:

  TC_VERSION ?= 14.2.rel1

but the documentation still instructs users to download the 13.3 toolchain.
This causes the build to fail because the expected directory name does
not exist.

Update the documentation to reference the 14.2 toolchain to match the build
system default.

Signed-off-by: Fabio Estevam <festevam@nabladev.com>
Acked-by: Peng Fan <peng.fan@nxp.com>
4 months agoimx943_evk: Enable XSPI1
Alice Guo [Thu, 12 Mar 2026 00:57:25 +0000 (08:57 +0800)] 
imx943_evk: Enable XSPI1

With this patch, XSPI1 are functional on the i.MX943 EVK board.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
4 months agoimx94_evk: Get ownership of XSPI control registers protected by GMID in SPL
Ye Li [Thu, 12 Mar 2026 00:57:24 +0000 (08:57 +0800)] 
imx94_evk: Get ownership of XSPI control registers protected by GMID in SPL

To gain access to certain registers that are protected by GMID, the SPL
must release XSPI ownership to the current core.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 months agomisc: ele_api: Add support for XSPI SET GMID command
Ye Li [Thu, 12 Mar 2026 00:57:23 +0000 (08:57 +0800)] 
misc: ele_api: Add support for XSPI SET GMID command

The XSPI SET GMID command is used to assign GMID ownership to the
requester, allowing access to protected XSPI control registers. This API
must be called in SPL if XSPI GMID-protected settings need to be
modified. Otherwise, XSPI configuration depends on the previous GMID
owner to provide the correct settings.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 months agospi: nxp_xspi: Add new driver for NXP XSPI controller
Alice Guo [Thu, 12 Mar 2026 00:57:22 +0000 (08:57 +0800)] 
spi: nxp_xspi: Add new driver for NXP XSPI controller

Add new driver to support NXP XSPI controller for NOR and NAND flash.
XSPI controller also uses a programmable sequence engine to provide
flexibility to support existing and future memory devices. It supports
single, dual, quad, octal modes of operation.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
4 months agoliebherr: btt: Fix buffer overflow in board_fit_config_name_match
Francois Berder [Thu, 5 Mar 2026 16:40:05 +0000 (17:40 +0100)] 
liebherr: btt: Fix buffer overflow in board_fit_config_name_match

The maximum length of the board name is not 11 characters
but 14: 11 bytes for the prefix + 3 bytes for the u8 + 1 NULL byte.
Hence, this commit increases the size of the name buffer variable
to 15. Also, this commit fixes the format specifier for the rev_id
variable.

Signed-off-by: Francois Berder <fberder@outlook.fr>
4 months agomisc: imx_ele: Fix compile without CMD_FUSE
Niko Mauno [Mon, 2 Mar 2026 06:37:33 +0000 (08:37 +0200)] 
misc: imx_ele: Fix compile without CMD_FUSE

If CONFIG_CMD_FUSE is not enabled in imx93_11x11_evk_defconfig, then
compilation fails with various undefined references to 'fuse_read',
such as:

  | .../arch/arm/mach-imx/imx9/soc.c:188:(.text.get_cpu_rev+0x38): undefined reference to `fuse_read'

therefore remove the 'fuse' command dependency in order to compile
fuse.c unconditionally to mitigate the issue.

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
4 months agoboard: nxp: imx952_evk: Add i.MX952 15x15 lpddr4x board support
Peng Fan [Mon, 2 Mar 2026 05:20:14 +0000 (13:20 +0800)] 
board: nxp: imx952_evk: Add i.MX952 15x15 lpddr4x board support

Add support for i.MX952 15x15 lpddr4x board support.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
4 months agoarm: dts: Add U-Boot device tree for i.MX952 EVK
Alice Guo [Mon, 2 Mar 2026 05:20:13 +0000 (13:20 +0800)] 
arm: dts: Add U-Boot device tree for i.MX952 EVK

Add U-Boot specific device tree configuration for i.MX952 EVK board.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 months agoarm64: dts: freescale: Add i.MX952 EVK basic device tree
Peng Fan [Mon, 2 Mar 2026 05:20:12 +0000 (13:20 +0800)] 
arm64: dts: freescale: Add i.MX952 EVK basic device tree

Add i.MX952 EVK basic device tree, with UART1, SDHC[1,2] supported.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
[ upstream commit: a5aa8551d0046ec701e8962f83361165ccf640a4 ]

(cherry picked from commit bf18a0f083bdf73f806a3afb9b606b2cb0fcafb3)

4 months agoarm64: dts: freescale: Add initial device tree for i.MX952
Peng Fan [Mon, 2 Mar 2026 05:20:11 +0000 (13:20 +0800)] 
arm64: dts: freescale: Add initial device tree for i.MX952

i.MX952 is designed for AI-powered sensor fusion and vision sensing
applications, it features 4 Corte-A55, 1 Cortex-M33, 1 Cortex-M7 and
NXP eIQ NPU and advanced graphics, video and advanced security with
edgelock. Product info could be found at:
https://www.nxp.com/products/i.MX-952

The basic device tree includes:
- clock, pin, power header files
- device nodes: CPU[0-3], SCMI firmware, Interrupt Controller, Sys counter,
  eDMA, MU, SPI, UART, I2C, USB and etc

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
[ upstream commit: b516a4dd6a1ff7ddbaf3ab30ddec88088a6ec9e6 ]

(cherry picked from commit 3546aa155a84b8af636d44c852c864845e654864)

4 months agoarm: imx9: Keep WDG3/WDG4 untouched for i.MX952
Alice Guo [Mon, 2 Mar 2026 05:20:10 +0000 (13:20 +0800)] 
arm: imx9: Keep WDG3/WDG4 untouched for i.MX952

On i.MX952, WDG3 and WDG4 are not used for system reset. PSCI is used
instead. Keep WDG3 and WDG4 in their default state rather than
explicitly disabling them.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
4 months agocpu: imx952: Add i.MX952 support
Alice Guo [Mon, 2 Mar 2026 05:20:09 +0000 (13:20 +0800)] 
cpu: imx952: Add i.MX952 support

This patch is used to add the imx type string of i.MX952 so that the
i.MX952 CPU info can be printed.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 months agoarm: imx9: Add i.MX952 SoC support
Alice Guo [Mon, 2 Mar 2026 05:20:08 +0000 (13:20 +0800)] 
arm: imx9: Add i.MX952 SoC support

Add basic SoC support for i.MX952:
- Add CONFIG_IMX952 Kconfig option
- Include i.MX952 clock and power headers
- Set CPU speed grade to 1.7GHz for i.MX952

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: David Zang <davidzangcs@gmail.com>
4 months agoimx: container: Add i.MX952 support to get_imageset_end()
Alice Guo [Mon, 2 Mar 2026 05:20:07 +0000 (13:20 +0800)] 
imx: container: Add i.MX952 support to get_imageset_end()

Extend get_imageset_end() to handle i.MX952.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 months agoimx: ele_ahab: Add i.MX952 support to display_life_cycle()
Alice Guo [Mon, 2 Mar 2026 05:20:06 +0000 (13:20 +0800)] 
imx: ele_ahab: Add i.MX952 support to display_life_cycle()

Extend display_life_cycle() to support i.MX952.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 months agoarm: imx: Add i.MX952 CPU type support
Alice Guo [Mon, 2 Mar 2026 05:20:05 +0000 (13:20 +0800)] 
arm: imx: Add i.MX952 CPU type support

Add CPU type definition and detection macro for i.MX952 SoC.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 months agopinctrl: nxp: Add i.MX952 support
Ye Li [Mon, 2 Mar 2026 05:20:04 +0000 (13:20 +0800)] 
pinctrl: nxp: Add i.MX952 support

Multiple pads can drive the same module input pin, and a daisy chain
register is used to select the active input path. This patch defines
DAISY_OFFSET_IMX952 (0x460) and allows binding on i.MX952.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 months agoimx95/imx94: Remove board_phys_sdram_size from each board
Ye Li [Mon, 2 Mar 2026 05:20:03 +0000 (13:20 +0800)] 
imx95/imx94: Remove board_phys_sdram_size from each board

Change to use default board_phys_sdram_size implementation in soc.c,
which will call SM API to get DDR size.

If board has special implementation for DDR size, then board_phys_sdram_size
could be implemented in board file to override the default one in soc.c.

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 months agoimx9: scmi: Get DDR size through SM SCMI API
Ye Li [Mon, 2 Mar 2026 05:20:02 +0000 (13:20 +0800)] 
imx9: scmi: Get DDR size through SM SCMI API

System Manager(SM) has implemented the MISC protocol to retrieve DDR
information. Using this API, U-Boot can obtain the DDR size dynamically
instead of relying on static configuration macros.

This change addresses the DDR ECC enabled case, where 1/8 of the total
DDR size is reserved for ECC data. The scmi_misc_ddrinfo() returns the
DDR size with EEC overhead already deducted.

Implementation details:
- Query the DDR size via scmi_misc_ddrinfo()
- Replace direct REG_DDR_CS[0,1]_BNDS register reads with SCMI call
- Switch from PHYS_SDRAM[x]_SIZE macros to runtime detection
- For backward compatibility with older SM firmware, fall back to
  static PHYS_SDRAM[x]_SIZE configuration if the SCMI call fails

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
4 months agosunxi: remove usage of legacy LED API
Quentin Schulz [Wed, 28 Jan 2026 16:01:25 +0000 (17:01 +0100)] 
sunxi: remove usage of legacy LED API

We are trying to get rid of the legacy LED API and PinePhone is one of
the last ones requiring it.

Unlike all other users of the legacy LED API, PinePhone is controlling
the GPIO LED in SPL. Unfortunately, Sunxi doesn't enable DM support in
SPL because of tight space constraints, so we cannot make use of the
modern LED framework as that is based on DM_GPIO.

Since PinePhone is the last user of this API, I'm moving the logic to
Sunxi SPL code and will let this community decide how to handle this hot
potato.

The logic is extremely simplified as only one GPIO LED is currently
controlled in SPL by PinePhone. No need for handling multiple LEDs or
inverted polarity, let's keep it simple.

This however allows us to use the modern LED framework once in U-Boot
proper since this logic won't collide with the new framework.

Since the only misc drivers that were compiled in SPL were guarded by
CONFIG_LED_STATUS and CONFIG_LED_STATUS_GPIO, we can also disable
CONFIG_SPL_DRIVERS_MISC (which does nothing anymore).

This also saves some space for PinePhone in SPL and proper.

Tested-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
Reviewed-by: Simon Glass <simon.glass@canonical.com>
4 months agodoc: board: starfive: jh7110 common update OPENSBI build env reference
E Shattow [Thu, 5 Mar 2026 21:49:14 +0000 (13:49 -0800)] 
doc: board: starfive: jh7110 common update OPENSBI build env reference

Describe build with OpenSBI fw_dynamic.bin path as OPENSBI=<path> on the
same line instead of as an export. Also remedy a typo which had the wrong
directory path before the filename.

Fixes: 8304f3226700 ("doc: board: starfive: update jh7110 common description")
Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
4 months agodoc: board: starfive: jh7110 common give build output dir by env not arg
E Shattow [Thu, 5 Mar 2026 20:56:40 +0000 (12:56 -0800)] 
doc: board: starfive: jh7110 common give build output dir by env not arg

Describe build with output directory as O=<dir> environment variable
and not unrelated -O <output sync> command line argument.

Fixes: 8304f3226700 ("doc: board: starfive: update jh7110 common description")
Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
4 months agodoc: board: starfive: Add Xunlong OrangePi RV
E Shattow [Thu, 5 Mar 2026 17:00:22 +0000 (09:00 -0800)] 
doc: board: starfive: Add Xunlong OrangePi RV

OrangePi RV is a board that uses the same EEPROM product serial identifier
as the StarFive VisionFive 2 1.3b.

In fact it is not completely compatible with the StarFive VisionFive 2
1.3b for use with Linux Kernel however it is good enough for use with
U-Boot SPL and U-Boot Main. Describe how to set the devicetree search path
and, for advanced users, suggest that it is possible to update the EEPROM
data with an invented "XOPIRV" identifier for automatic board detection.

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
4 months agoconfigs: starfive: Add Orange Pi RV to visionfive2
E Shattow [Thu, 5 Mar 2026 17:00:21 +0000 (09:00 -0800)] 
configs: starfive: Add Orange Pi RV to visionfive2

Add Orange Pi RV to visionfive2 CONFIG_OF_LIST

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
4 months agoboard: starfive: visionfive2: Add Orange Pi RV selection by product_id
E Shattow [Thu, 5 Mar 2026 17:00:20 +0000 (09:00 -0800)] 
board: starfive: visionfive2: Add Orange Pi RV selection by product_id

Add XOPIRV identifier for Orange Pi RV to dts selection callback in SPL,
and to fdtfile environment variable default value selection in payload.

Signed-off-by: E Shattow <e@freeshell.de>
Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
4 months agoboard: starfive: visionfive2: Add VisionFive 2 Lite fdt selection
Hal Feng [Fri, 24 Oct 2025 08:59:32 +0000 (16:59 +0800)] 
board: starfive: visionfive2: Add VisionFive 2 Lite fdt selection

Set $fdtfile to the VisionFive 2 Lite DTB if the board is matched.

Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
4 months agoboard: starfive: spl: Support VisionFive 2 Lite
Hal Feng [Fri, 24 Oct 2025 08:59:31 +0000 (16:59 +0800)] 
board: starfive: spl: Support VisionFive 2 Lite

Choose the matching FIT config on the VisionFive 2 Lite board.

Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
4 months agoconfigs: visionfive2: Add VisionFive 2 Lite DT to OF_LIST
Hal Feng [Fri, 24 Oct 2025 08:59:30 +0000 (16:59 +0800)] 
configs: visionfive2: Add VisionFive 2 Lite DT to OF_LIST

So the VisionFive 2 Lite DT will be built and merged into FIT.

Reviewed-by: E Shattow <e@freeshell.de>
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
4 months agopcie: starfive: Add a optional power gpio support
Hal Feng [Fri, 24 Oct 2025 08:59:29 +0000 (16:59 +0800)] 
pcie: starfive: Add a optional power gpio support

Get and enable a optional power gpio. This feature is ported
from the jh7110 pcie driver in Linux. VisionFive 2 Lite needs
this gpio to enable the PCI bus device (M.2 M-Key) power.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
4 months agoeeprom: starfive: Support eeprom data format v3
Hal Feng [Fri, 24 Oct 2025 08:59:28 +0000 (16:59 +0800)] 
eeprom: starfive: Support eeprom data format v3

Add eeprom data format v3 support. Add onboard_module field in
ATOM4 and add "mac onboard_module <?>" command to modify it.

The onboard module field marks the additional modules compared
with VisionFive 2 board. Now we define

bit7-1: reserved, bit0: WIFI/BT

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
4 months agoeeprom: starfive: Correct get_pcb_revision_from_eeprom()
Hal Feng [Fri, 24 Oct 2025 08:59:27 +0000 (16:59 +0800)] 
eeprom: starfive: Correct get_pcb_revision_from_eeprom()

pcb_revision is stored in the pcb_revision field of ATOM4. Correct it.
Move the function description to the header file.
Return 0 instead of 0xFF if read_eeprom() fails.

Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fixes: aea1bd95b61e ("eeprom: starfive: Enable ID EEPROM configuration")
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
4 months agoeeprom: starfive: Simplify get_ddr_size_from_eeprom()
Hal Feng [Fri, 24 Oct 2025 08:59:26 +0000 (16:59 +0800)] 
eeprom: starfive: Simplify get_ddr_size_from_eeprom()

Directly return the DDR size instead of the field of 'DxxxExxx'.
Move the function description to the header file.
Return 0 instead of 0xFF if read_eeprom() fails.

Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Fixes: aea1bd95b61e ("eeprom: starfive: Enable ID EEPROM configuration")
Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
4 months agokbuild: strip sub_make_done from test-script environment
Simon Glass [Wed, 4 Mar 2026 18:48:53 +0000 (11:48 -0700)] 
kbuild: strip sub_make_done from test-script environment

The exported sub_make_done variable leaks into the environment of all
child processes. When make targets like tcheck spawn independent
make-invocations with O=, those child-makes inherit sub_make_done=1,
skip the KBUILD_OUTPUT setup and try to build in the source tree.

A global 'unexport sub_make_done' cannot be used because the build
system itself re-invokes the top-level Makefile for syncconfig (via
'$(MAKE) -f $(srctree)/Makefile syncconfig'). Without sub_make_done,
that child make re-enters the KBUILD_OUTPUT block and recomputes
abs_objtree. With a relative O= path this resolves to a nested
directory (e.g. build/build/) where .config does not exist.

Instead, use 'env -u sub_make_done' in the test-target recipes so only
the test scripts see a clean environment. This allows their child make
invocations to process O= correctly without affecting internal kbuild
recursion.

This is not strictly a bugfix, but compare with:

commit 27529f1cb02d ("kbuild: skip parsing pre sub-make code for recursion")

Signed-off-by: Simon Glass <sjg@chromium.org>
4 months agoscsi: Adjust SCSI inquiry command data length
Macpaul Lin [Thu, 5 Mar 2026 10:23:24 +0000 (18:23 +0800)] 
scsi: Adjust SCSI inquiry command data length

Per the SCSI SPC-4 specification, the standard inquiry data length
should not be less than 36 bytes. The current implementation uses 512
bytes, which causes detection failures on some UFS devices (e.g.,
Longsys) that do not expect a transfer length exceeding the standard
inquiry size.

Align the default standard inquiry length with the Linux kernel's
implementation (see drivers/scsi/scsi_scan.c), which uses 36 bytes as
the default. Devices requiring vendor-specific inquiry lengths should
be handled through quirk settings in the future.

Signed-off-by: ht.lin <ht.lin@mediatek.com>
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
4 months agoboard: ti: j7*: Update rm-cfg and tifs-rm-cfg
Manorit Chawdhry [Thu, 26 Feb 2026 11:37:57 +0000 (17:07 +0530)] 
board: ti: j7*: Update rm-cfg and tifs-rm-cfg

Repurpose the allocated resources with version V11.02.07 of
k3-resource-partition.

Signed-off-by: Manorit Chawdhry <m-chawdhry@ti.com>
4 months agotoradex: tdx-cfg-block: add aquila tda4 0223 pid4
Vitor Soares [Fri, 13 Feb 2026 12:01:59 +0000 (12:01 +0000)] 
toradex: tdx-cfg-block: add aquila tda4 0223 pid4

Add PID4 0223 Aquila TDA4 Octa 16GB IT to config block handling.

Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
4 months agoconfigs: Add fragment config for snagfactory tool
Paresh Bhagat [Wed, 11 Feb 2026 09:49:19 +0000 (15:19 +0530)] 
configs: Add fragment config for snagfactory tool

Introduce a new fragment configuration in u-boot to enable support for
the snagfactory tool [1], used for factory flashing of boards. Snagfactory
tool first recovers the board via USB DFU (peripheral boot), and then
uses fastboot to flash given binaries/images to MMC or other on-board
memory via USB. The fragment config can be used to generate boot binaries
for board recovery. This fragment config needs to be added additionally,
while building a53 images for USB DFU boot.

The fragment config enables configurations to allow flashing via
fastboot, manage MMC partitions and boot partitions, customize buffer
size and memory usage for fastboot and also integrate OEM commands and
UUU compatibility. It sets CONFIG_BOOTCOMMAND to start fastboot mode
immediately on startup. It also sets BOOTDELAY to 0 to reduce snagfactory
recovery time. Since BOOTCOMMAND and BOOTDELAY configs are being
modified, these changes cannot be placed in existing DFU fragment config.

Snagfactory used mtd support for flashing both SPI NAND and SPI NOR
devices. The fragment config enables mtd in u-boot and also allows SPI
flash to be treated as an MTD device.

[1]: https://github.com/bootlin/snagboot

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Signed-off-by: Mahammed Sadik Shaik <s-sadik@ti.com>
4 months agoMerge patch series "Add PCIe Boot support for TI J784S4 SoC"
Tom Rini [Mon, 16 Mar 2026 14:24:18 +0000 (08:24 -0600)] 
Merge patch series "Add PCIe Boot support for TI J784S4 SoC"

Siddharth Vadapalli <s-vadapalli@ti.com> says:

This series adds PCIe endpoint boot support for the TI J784S4 SoC.
Series is based on commit f9ffeec4bdc ("board: toradex: Make A53 get RAM
size from DT in K3 boards") of the master branch of U-Boot.

PCIe Boot Logs (J784S4-EVM running Linux as Root-Complex transfers
bootloaders to another J784S4-EVM configured for PCIe Boot):
https://gist.github.com/Siddharth-Vadapalli-at-TI/2d157003818441fe79a139d0dec1058a

Link: https://lore.kernel.org/r/20260216102858.2745657-1-s-vadapalli@ti.com
4 months agodocs: board: ti: j784s4_evm: Add PCIe boot documentation
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:38 +0000 (15:58 +0530)] 
docs: board: ti: j784s4_evm: Add PCIe boot documentation

Add PCIe boot documentation for J784S4-EVM including boot mode switch
settings, hardware setup requirements, endpoint configuration details
and step-by-step boot procedure.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
[s-vadapalli@ti.com: simplified and documented the pcie_boot_util program]
Co-developed-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
4 months agoconfigs: j742s2_evm_a72_defconfig: Disable PCIe boot configs
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:37 +0000 (15:58 +0530)] 
configs: j742s2_evm_a72_defconfig: Disable PCIe boot configs

Although the J742S2 EVM supports PCIe boot in Hardware, since it is not
enabled yet in Software, disable PCIe boot related configurations that are
not applicable.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
4 months agoconfigs: j742s2_evm_r5_defconfig: Disable PCIe boot configs
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:36 +0000 (15:58 +0530)] 
configs: j742s2_evm_r5_defconfig: Disable PCIe boot configs

Although the J742S2 EVM supports PCIe boot in Hardware, since it is not
enabled yet in Software, disable PCIe boot related configurations that are
not applicable.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
4 months agoconfigs: am69_sk_a72_defconfig: Disable PCIe boot configs
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:35 +0000 (15:58 +0530)] 
configs: am69_sk_a72_defconfig: Disable PCIe boot configs

AM69 SK does not contain PCIe Boot in the list of supported Boot Modes.
Hence, disable PCIe Boot related configurations that are not applicable.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
4 months agoconfigs: am69_sk_r5_defconfig: Disable PCIe boot configs
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:34 +0000 (15:58 +0530)] 
configs: am69_sk_r5_defconfig: Disable PCIe boot configs

AM69 SK does not contain PCIe Boot in the list of supported Boot Modes.
Hence, disable PCIe Boot related configurations that are not applicable.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
4 months agoconfigs: j784s4_evm_a72_defconfig: Enable configs for PCIe boot
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:33 +0000 (15:58 +0530)] 
configs: j784s4_evm_a72_defconfig: Enable configs for PCIe boot

J784S4 SoC has two instances of PCIe, namely PCIe0 and PCIe1. The
PCIe1 instance is used for PCIe endpoint boot. Enable the configs
required for PCIe boot on the J784S4 platform.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
4 months agoconfigs: j784s4_evm_r5_defconfig: Enable configs for PCIe boot
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:32 +0000 (15:58 +0530)] 
configs: j784s4_evm_r5_defconfig: Enable configs for PCIe boot

J784S4 SoC has two instances of PCIe, namely PCIe0 and PCIe1. The
PCIe1 instance is used for PCIe endpoint boot. Enable the configs
required for PCIe boot on the J784S4 platform.

Additionally, enable configs for J721E WIZ SERDES wrapper, Cadence
Torrent PHY, and MMIO multiplexer. These are required to configure
the SERDES lanes at the R5 SPL stage for PCIe endpoint operation.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
4 months agophy: ti: Add config to enable J721E WIZ SERDES wrapper at SPL stage
Hrushikesh Salunke [Mon, 16 Feb 2026 10:28:31 +0000 (15:58 +0530)] 
phy: ti: Add config to enable J721E WIZ SERDES wrapper at SPL stage

Add SPL_PHY_J721E_WIZ configuration option to enable the WIZ SERDES
wrapper driver in SPL stage. This is required for PCIe boot support
where SERDES configuration must be done early in the boot sequence
before loading the bootloader image over PCIe.

Signed-off-by: Hrushikesh Salunke <h-salunke@ti.com>
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>