]> git.ipfire.org Git - thirdparty/u-boot.git/log
thirdparty/u-boot.git
13 days agoarm: Introduce current_pl() on ARM32 and compatibility current_el()
Marek Vasut [Sun, 15 Mar 2026 23:50:33 +0000 (00:50 +0100)] 
arm: Introduce current_pl() on ARM32 and compatibility current_el()

The ARM32 has PLx Privilege Levels instead of Exception Levels present
on ARM64. Introduce current_pl() function which reports the current PL
on ARM32.

Introduce current_el() for ARM32 as well and current_pl() for ARM64
which each call the other matching function. This is mainly mean to
allow code like this to compile and retain compile time code coverage:

if (IS_ENABLED(CONFIG_ARM64) && current_el() != 3) { ... }
if (!IS_ENABLED(CONFIG_ARM64) && current_pl() != 0) { ... }

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
13 days agocmd: part: add part dupcheck subcommand
Padmarao Begari [Sun, 15 Mar 2026 13:15:29 +0000 (18:45 +0530)] 
cmd: part: add part dupcheck subcommand

Add a 'part dupcheck' subcommand that scans all block devices probed
in U-Boot and reports any partitions sharing the same PARTUUID or
PARTLABEL. This helps detect situations where the same disk image has
been flashed onto multiple boot devices (e.g., USB stick and UFS),
which can lead to unpredictable boot behavior. Duplicate
PARTUUIDs break UUID-based partition lookup in Linux, and duplicate
PARTLABELs cause the wrong partition to be silently selected in
bootscripts that reference partitions by name.

A single collection pass iterates over all block devices using
blk_foreach_probe() and records every partition that carries a UUID
or label into a dynamically allocated alist of struct part_seen
entries (UUID string, name string, device pointer, partition number).

Duplicates are detected by calling detect_duplicates() twice, once
for UUIDs and once for labels. Each call sorts the list with qsort()
using a comparator that places empty fields at the end, then performs
a single linear pass to identify consecutive equal entries as
duplicate groups. Each group is reported with the device name and
partition number of every copy, followed by a per-field summary
count. Per-field counts are used consistently in both the
duplicate-found and no-duplicates paths.

Example output (with duplicates):

=> part dupcheck
Warning: duplicate PARTUUID 1234abcd-01 (2 copies)
  found on usb_mass_storage.lun0:1
  found on ufs_scsi.id0lun0:1
Found 1 duplicate PARTUUID(s) (2 total copies) among 4 partitions

Warning: duplicate PARTLABEL primary (2 copies)
  found on usb_mass_storage.lun0:1
  found on ufs_scsi.id0lun0:1
Found 1 duplicate PARTLABEL(s) (2 total copies) among 4 partitions

Example output (mixed: UUID duplicates, no label duplicates):

=> part dupcheck
Warning: duplicate PARTUUID 1234abcd-01 (2 copies)
  found on usb_mass_storage.lun0:1
  found on ufs_scsi.id0lun0:1
Found 1 duplicate PARTUUID(s) (2 total copies) among 4 partitions
No duplicate PARTLABELs found (3 labels)

Example output (no duplicates):

=> part dupcheck
No duplicate PARTUUIDs or PARTLABELs found (4 UUIDs, 3 labels)

The CONFIG_CMD_PART_DUPCHECK Kconfig option (depends on
CMD_PART and BLK) controls inclusion of this subcommand and is
disabled by default.

Signed-off-by: John Toomey <john.toomey@amd.com>
Signed-off-by: Padmarao Begari <padmarao.begari@amd.com>
13 days agofs: fat: Refactor dirty flag handling
Daniel Palmer [Tue, 10 Mar 2026 22:06:18 +0000 (07:06 +0900)] 
fs: fat: Refactor dirty flag handling

Refactor the dirty flag handling a little bit so an inline
function is called instead of directly stuffing a value into
the variable.

This allows variable that holds the flag to be completely removed
if its not used i.e. CONFIG_FAT_WIRTE=n

Signed-off-by: Daniel Palmer <daniel@thingy.jp>
13 days agoRemove confusing NULL from error message
Ludwig Nussel [Tue, 10 Mar 2026 15:58:27 +0000 (16:58 +0100)] 
Remove confusing NULL from error message

If no signature could be verified and the loop terminates, the iterator
'noffset' has no meaningful value so name yields NULL.

Signed-off-by: Ludwig Nussel <ludwig.nussel@siemens.com>
13 days agoAdd back debug output of hashed nodes
Ludwig Nussel [Tue, 10 Mar 2026 15:58:26 +0000 (16:58 +0100)] 
Add back debug output of hashed nodes

Commit 2092322b31cc ("boot: Add fit_config_get_hash_list() to build
signed node list") removed printing the list of hashed nodes during
verification. Add it back to have a chance to compare the list when
debugging.

Signed-off-by: Ludwig Nussel <ludwig.nussel@siemens.com>
13 days agoMerge tag 'xilinx-for-v2026.07-rc1-v2' of https://source.denx.de/u-boot/custodians...
Tom Rini [Fri, 27 Mar 2026 18:11:33 +0000 (12:11 -0600)] 
Merge tag 'xilinx-for-v2026.07-rc1-v2' of https://source.denx.de/u-boot/custodians/u-boot-microblaze into next

AMD/Xilinx/FPGA changes for v2026.07-rc1 v2

Kconfig:
- Correct XILINX_TIMER entry
- Rework TARGET_MICROBLAZE_GENERIC
- Fix CPU_MICROBLAZE PVR logic
- Remove non existing SPL_BINMAN_FDT

i2c:
- Wire pca9848 support

spi/cadence-qspi:
- Disable DAC mode
- Do reset pulse

net/gem:
- Disable broadcast packets
- Clear TXSR transfer complete
- Add support for dma-coherent

versal2:
- Enable GIC600 support
- Fix UFS distro boot wiring

13 days agoMerge tag 'doc-2026-04-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi
Tom Rini [Fri, 27 Mar 2026 15:20:45 +0000 (09:20 -0600)] 
Merge tag 'doc-2026-04-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request doc-2026-04-rc6

CI: https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/29687

Documentation:

* TI boards
  - fix OP-TEE args
  - fix incorrect labels for boot switches
* Fix typo in pstore documentation.
* Fix document references pointing to replaced uImage.FIT.
* buildman: Add missing :: for examples.
* overlay-fdt-boot: .dtbos do not need load addresses.
* When building the documentation use sys.path.append for pytests.

13 days agocpu: microblaze: Fix unmet direct dependencies for XILINX_MICROBLAZE0_PVR
Michal Simek [Tue, 17 Mar 2026 16:26:22 +0000 (17:26 +0100)] 
cpu: microblaze: Fix unmet direct dependencies for XILINX_MICROBLAZE0_PVR

As exposed by "make randconfig", CPU_MICROBLAZE uses select to
force-enable XILINX_MICROBLAZE0_PVR, but that symbol depends on
TARGET_MICROBLAZE_GENERIC. The select bypasses this dependency chain,
triggering a Kconfig warning:

  WARNING: unmet direct dependencies detected for XILINX_MICROBLAZE0_PVR
    Depends on [n]: MICROBLAZE [=y] && TARGET_MICROBLAZE_GENERIC [=n]
    Selected by [y]:
    - CPU_MICROBLAZE [=y] && CPU [=y] && MICROBLAZE [=y]

Change XILINX_MICROBLAZE0_PVR from select to depends on, so that the
CPU driver is only available when PVR support has been explicitly
enabled.

Fixes: 816226d27efa ("cpu: add CPU driver for microblaze")
Reported-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/61ddd555f58ef5169c48b190423640d949e4aad1.1773764781.git.michal.simek@amd.com
2 weeks agodoc: overlay-fdt-boot: .dtbos do not need load addresses
Rasmus Villemoes [Tue, 17 Mar 2026 13:13:36 +0000 (14:13 +0100)] 
doc: overlay-fdt-boot: .dtbos do not need load addresses

The requirement that .dtbos have load addresses in the FIT image
vanished five years ago with

  4c531d9f58b ("fit: Load DTO into temporary buffer and ignore load address")

Fix the documentation accordingly.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Reviewed-by: Marek Vasut <marek.vasut@mailbox.org>
2 weeks agodoc: board: ti: fix incorrect labels for boot switches
Anshul Dalal [Fri, 13 Mar 2026 09:41:44 +0000 (15:11 +0530)] 
doc: board: ti: fix incorrect labels for boot switches

The labels for the boot mode switches were incorreclty documented for
some TI boards, this patch fixes them as per the official user guides
linked below:

  AM62x     https://www.ti.com/lit/ug/spruj40e/spruj40e.pdf
  AM62dx    https://www.ti.com/lit/ug/sprujg2/sprujg2.pdf
  AM62ax    https://www.ti.com/lit/ug/spruj66b/spruj66b.pdf
  AM62px    https://www.ti.com/lit/ug/spruj40e/spruj40e.pdf
  AM6254atl https://www.ti.com/lit/ug/spruja1a/spruja1a.pdf

Signed-off-by: Anshul Dalal <anshuld@ti.com>
2 weeks agodoc: board: fix OPTEE args for TI SoCs
Anshul Dalal [Thu, 12 Mar 2026 09:32:49 +0000 (15:02 +0530)] 
doc: board: fix OPTEE args for TI SoCs

CFG_WITH_SOFTWARE_PRNG=y was added as an OPTEE argument to workaround
some bugs related to TRNG which have been fixed now[1]. Therefore this
patch drops the redundant argument from the documentation.

[1]: https://github.com/OP-TEE/optee_os/commit/e313f4765fd0478bb66985827441411793433773

Signed-off-by: Anshul Dalal <anshuld@ti.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com> # Toradex Verdin AM62
2 weeks agodoc: Use sys.path.append for pytests being found
Tom Rini [Mon, 9 Mar 2026 18:09:52 +0000 (12:09 -0600)] 
doc: Use sys.path.append for pytests being found

Rather than having our "docs" build tagets modify PTYHONPATH, have
doc/conf.py append the required paths at runtime instead. This will
ensure that our builds from readthedocs will also find all of the
required files.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agodoc/buildman: fix missing :: on examples
David Lechner [Fri, 6 Mar 2026 19:52:49 +0000 (13:52 -0600)] 
doc/buildman: fix missing :: on examples

Fix 4 instances in buildman.rst where examples were missing :: for
proper formatting. Three cases just had a single : and in one case,
: didn't make grammatical sense, so it gets a stand-alone :: along
with fixing the indent.

Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agodoc: pstore: fix typo
Aristo Chen [Fri, 27 Feb 2026 16:15:06 +0000 (16:15 +0000)] 
doc: pstore: fix typo

Use "parameters have been set" and "they need" for correct grammar
in the pstore documentation.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
2 weeks agotreewide: fix uImage.FIT document paths
Daniel Golle [Fri, 27 Feb 2026 00:03:29 +0000 (00:03 +0000)] 
treewide: fix uImage.FIT document paths

Commit 488445cefa1 ("doc: Move FIT into its own directory") moved the
documentation in doc/uImage.FIT to doc/usage/fit, subsequently all
documents and example sources have been converted to reStructuredText.

Fix (almost) all of the remaining occurrences of the old path and
filenames across the tree.

The exception is doc/uImage.FIT/command_syntax_extensions.txt which
apparently has been removed entirely, or at least I was unable to
locate where that document is now.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2 weeks agoMerge patch series "Introduce SQUASHFS support in SPL"
Tom Rini [Thu, 26 Mar 2026 17:04:41 +0000 (11:04 -0600)] 
Merge patch series "Introduce SQUASHFS support in SPL"

Richard Genoud <richard.genoud@bootlin.com> says:

SquashFS has support in U-Boot, but not in SPL.

This series adds the possibility for the SPL to load files from SquashFS
partitions.
This is useful, for instance, when there's a SquashFS rootfs containing
U-Boot binary.

NB: falcon mode is not supported yet.

Link: https://lore.kernel.org/r/20260313104229.1555236-1-richard.genoud@bootlin.com
2 weeks agoMAINTAINERS: SQUASHFS: Add myself as co-maintainer
Richard Genoud [Fri, 13 Mar 2026 10:42:29 +0000 (11:42 +0100)] 
MAINTAINERS: SQUASHFS: Add myself as co-maintainer

I propose myself to maintain the squashfs files with João.

Also, reorder patterns in alphabetical order.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
2 weeks agoMAINTAINERS: SQUASHFS: update João Marcos Costa email
Richard Genoud [Fri, 13 Mar 2026 10:42:28 +0000 (11:42 +0100)] 
MAINTAINERS: SQUASHFS: update João Marcos Costa email

João is using his Bootlin address now.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
2 weeks agospl: mmc: support squashfs
Richard Genoud [Fri, 13 Mar 2026 10:42:27 +0000 (11:42 +0100)] 
spl: mmc: support squashfs

spl_mmc_do_fs_boot supports now loading an image from squashfs.

Also, convert #if defined(CONFIG_SPL_xx) to if (CONFIG_IS_ENABLED(xx))

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
2 weeks agospl: add squashfs support
Richard Genoud [Fri, 13 Mar 2026 10:42:26 +0000 (11:42 +0100)] 
spl: add squashfs support

Implement spl_load_image_sqfs() in spl code.

This will be used in MMC to read a file from a squashfs partition.

Also, loosen squashfs read checks on file size by not failing when a
bigger size than the actual file size is requested. (Just read the file)
This is needed for FIT loading, because the length is ALIGNed.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
2 weeks agofs/squashfs: squashfs.h: include file should be self dependent
Richard Genoud [Fri, 13 Mar 2026 10:42:25 +0000 (11:42 +0100)] 
fs/squashfs: squashfs.h: include file should be self dependent

Otherwise, we get a lot of errors when including this file.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
2 weeks agofs/squashfs: sqfs_decompressor: simplify code
Richard Genoud [Fri, 13 Mar 2026 10:42:24 +0000 (11:42 +0100)] 
fs/squashfs: sqfs_decompressor: simplify code

Switch to if (CONFIG_IS_ENABLED()) instead of #if when possible and
remove unnecessary cases.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
2 weeks agofs/squashfs: fix sqfs_decompressor.c build in SPL
Richard Genoud [Fri, 13 Mar 2026 10:42:23 +0000 (11:42 +0100)] 
fs/squashfs: fix sqfs_decompressor.c build in SPL

CONFIG_IS_ENABLED() must be used in place of IS_ENABLED() for config
options that have a _SPL_ counterpart.

Signed-off-by: Richard Genoud <richard.genoud@bootlin.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
2 weeks agoMerge tag 'fwu-next-26032026' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Thu, 26 Mar 2026 17:03:07 +0000 (11:03 -0600)] 
Merge tag 'fwu-next-26032026' of https://source.denx.de/u-boot/custodians/u-boot-tpm into next

CI: https://source.denx.de/u-boot/custodians/u-boot-tpm/-/pipelines/29677

Add a new fwumdata tool to allows users to read, display, and modify FWU
(Firmware Update) metadata from Linux userspace. It provides
functionality similar to fw_printenv/fw_setenv but for FWU metadata.
Users can view metadata, change active/previous bank indices, modify
bank states, and set image acceptance flags. Configuration is done via
fwumdata.config file.

2 weeks agoMerge tag 'rpi-2026.04-rc5' of https://source.denx.de/u-boot/custodians/u-boot-raspbe...
Tom Rini [Thu, 26 Mar 2026 15:02:05 +0000 (09:02 -0600)] 
Merge tag 'rpi-2026.04-rc5' of https://source.denx.de/u-boot/custodians/u-boot-raspberrypi

Updates for RPi for 2026.04-rc5:

- rpi: Update the naming for bcm2712 SoC RevD naming
- arm: bcm: Include missing errno.h

2 weeks agorpi: Update the naming for bcm2712 SoC RevD naming
Peter Robinson [Fri, 13 Mar 2026 17:08:36 +0000 (17:08 +0000)] 
rpi: Update the naming for bcm2712 SoC RevD naming

The downstream Raspberry Pi uses two namings for the revD
SoC device trees, both bcm2712d0-rpi-5-b and bcm2712-d-rpi-5-b
but it seems upstream has settled on just the later, so lets
use that as it's the name that maps both upstream and downstream.

Fixes: c15a7919725 ("board/raspberrypi: add bcm2712d0-rpi-5-b for Raspberry Pi 5")
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Reviewed-by: Matthias Brugger <mbrugger@suse.com>
2 weeks agoarm: bcm: Include missing errno.h
Marek Vasut [Sun, 15 Mar 2026 23:58:06 +0000 (00:58 +0100)] 
arm: bcm: Include missing errno.h

The msg.c file uses EIO macro defined in errno.h , include errno.h
to avoid build failure:

"
arch/arm/mach-bcm283x/msg.c: In function 'bcm2835_power_on_module':
arch/arm/mach-bcm283x/msg.c:73:25: error: 'EIO' undeclared (first use in this function)
   73 |                 return -EIO;
      |                         ^~~
"

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2 weeks agotools: mkfwumdata: Remove dependency on fwu_mdata.h header
Kory Maincent [Mon, 23 Feb 2026 13:18:40 +0000 (14:18 +0100)] 
tools: mkfwumdata: Remove dependency on fwu_mdata.h header

The dependency on fwu_mdata.h creates unnecessary configuration
requirements. To generate metadata V1, CONFIG_FWU_MDATA_V1 must be
enabled, which in turn requires enabling FWU_MULTI_BANK_UPDATE,
EFI_CAPSULE_ON_DISK, PARTITION_TYPE_GUID, and other unrelated configs.
This is not suitable for a simple standalone tool.

Additionally, even with the "-v 1" option to generate V1 metadata, the
tool will still include the firmware store description if
CONFIG_FWU_MDATA_V1 is not enabled. This structure should only be
present in metadata V2.

Replace the fwu_mdata.h dependency with the new fwumdata header to make
the tool compatible with both V1 and V2 without requiring any defconfig
changes. This also uses the access helper functions from the header to
eliminate code duplication.

Acked-by: Sughosh Ganu <sughosh.ganu@arm.com>
Tested-by: Sughosh Ganu <sughosh.ganu@arm.com>
Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 weeks agotools: Add support for fwumdata tool
Kory Maincent [Mon, 23 Feb 2026 13:18:39 +0000 (14:18 +0100)] 
tools: Add support for fwumdata tool

Add a new fwumdata tool to allows users to read, display, and modify FWU
(Firmware Update) metadata from Linux userspace. It provides functionality
similar to fw_printenv/fw_setenv but for FWU metadata. Users can view
metadata, change active/previous bank indices, modify bank states, and set
image acceptance flags. Configuration is done via fwumdata.config file.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 weeks agotools: mkfwumdata: Add bank count validation for FWU metadata v2
Kory Maincent [Mon, 23 Feb 2026 13:18:38 +0000 (14:18 +0100)] 
tools: mkfwumdata: Add bank count validation for FWU metadata v2

The FWU metadata specification version 2 supports a maximum of 4 banks.
Add validation to enforce this limit and prevent creation of non-compliant
metadata structures when using version 2.

Without this check, users could inadvertently create invalid metadata by
specifying more than 4 banks, leading to potential compatibility issues
with FWU-compliant firmware update implementations.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 weeks agotools: mkfwumdata: Improve error message specificity
Kory Maincent [Mon, 23 Feb 2026 13:18:37 +0000 (14:18 +0100)] 
tools: mkfwumdata: Improve error message specificity

Replace the generic error message with a more informative one.
This helps users quickly understand the correct command-line argument
format when the tool reports an error.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 weeks agotools: Reorganize mkfwumdata tool into fwumdata_src directory
Kory Maincent [Mon, 23 Feb 2026 13:18:36 +0000 (14:18 +0100)] 
tools: Reorganize mkfwumdata tool into fwumdata_src directory

Update FWU metadata-related tools by moving mkfwumdata.c into a new
tools/fwumdata_src/ directory structure. This refactoring prepares for the
addition of the fwumdata runtime tool, which will allow editing FWU
metadata directly from the target.

The Kconfig and Makefile entries are also moved into separate files within
the new directory (Kconfig and fwumdata.mk respectively) to keep all FWU
metadata tool configurations together and improve maintainability.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 weeks agotools: gitignore: Add mkfwumdata to the git ignore file
Kory Maincent [Mon, 23 Feb 2026 13:18:35 +0000 (14:18 +0100)] 
tools: gitignore: Add mkfwumdata to the git ignore file

mkfwumdata is a built image. Add it to .gitignore.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2 weeks agoMerge patch series "test/py: gpio: cleanups and improvement"
Tom Rini [Wed, 25 Mar 2026 20:38:28 +0000 (14:38 -0600)] 
Merge patch series "test/py: gpio: cleanups and improvement"

David Lechner <dlechner@baylibre.com> says:

I wanted to do some quick tests to make sure gpios were working without
having to dig out a schematic. Which means I didn't want to set any GPIO
as an output first without checking. So the main point here is the last
patch which allows gpio_op_pin to be optional and skip the test instead
of failing with exception. This works similar to several other config
options that are already optional in this module.

I also noticed a few easy things to clean up while I was looking at the
file, so there are a couple of extra patches for that.

Link: https://lore.kernel.org/r/20260312-test-gpio-cleanup-v1-0-bcf549671eb1@baylibre.com
2 weeks agotest/py: gpio: allow omitting gpio_op_pin
David Lechner [Thu, 12 Mar 2026 20:33:41 +0000 (15:33 -0500)] 
test/py: gpio: allow omitting gpio_op_pin

Modify tests that make use of gpio_op_pin from env__gpio_dev_config to
be skipped if gpio_op_pin is not provided. This is useful in cases where
one might not be sure which GPIOs are safe to use as outputs that can be
toggled without causing problems.

Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agotest/py: gpio: removing trailing semicolons
David Lechner [Thu, 12 Mar 2026 20:33:40 +0000 (15:33 -0500)] 
test/py: gpio: removing trailing semicolons

Remove trailing semicolons in test_gpio.py. Python does not require
them and they are considered improper style.

Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agotest/py: gpio: remove unused imports
David Lechner [Thu, 12 Mar 2026 20:33:39 +0000 (15:33 -0500)] 
test/py: gpio: remove unused imports

Remove unused imports in test_gpio.py.

Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoMerge patch series "add [ as alias for test, fix 0/1 argument handling"
Tom Rini [Wed, 25 Mar 2026 20:38:02 +0000 (14:38 -0600)] 
Merge patch series "add [ as alias for test, fix 0/1 argument handling"

Rasmus Villemoes <ravi@prevas.dk> says:

Make 'test' behave a little more like its cousins in other shells, by
allowing the [ ... ] spelling, and while here, fix up the handling of
a single, non-empty argument to comply with POSIX.

Link: https://lore.kernel.org/r/20260312100106.702368-1-ravi@prevas.dk
2 weeks agocmd: test: fix handling of single-argument form of test
Rasmus Villemoes [Thu, 12 Mar 2026 10:01:06 +0000 (11:01 +0100)] 
cmd: test: fix handling of single-argument form of test

POSIX states that

  0 arguments:
      Exit false (1).
  1 argument:
      Exit true (0) if $1 is not null; otherwise, exit false.

and at least bash and busybox sh behave that way.

The current 'argc < 3' does the right thing for a non-existing or
empty argv[1], but not for a non-empty argv[1]. Fix that and add
corresponding test cases.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Tested-by: Anshul Dalal <anshuld@ti.com>
2 weeks agotest: add tests for left-bracket alias for 'test' command
Rasmus Villemoes [Thu, 12 Mar 2026 10:01:05 +0000 (11:01 +0100)] 
test: add tests for left-bracket alias for 'test' command

Duplicate a few of the existing test cases, using the [ spelling, and
also ensure that the presence of a matching ] as a separate and last
argument is enforced.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Tested-by: Anshul Dalal <anshuld@ti.com>
2 weeks agodoc: test: document [ ] spelling of test
Rasmus Villemoes [Thu, 12 Mar 2026 10:01:04 +0000 (11:01 +0100)] 
doc: test: document [ ] spelling of test

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Tested-by: Anshul Dalal <anshuld@ti.com>
2 weeks agocmd: test: allow using [ as alias for test
Rasmus Villemoes [Thu, 12 Mar 2026 10:01:03 +0000 (11:01 +0100)] 
cmd: test: allow using [ as alias for test

I often find myself writing something like

  if [ "$somevar" = 123 ] ; then ...

only to realize that that syntax doesn't work in U-Boot shell, and
must be spelled

  if test "$somevar" = 123 ; then

It only takes a few lines of code to support this POSIX-standardized
alias for test, and helps developers focus on their actual problems
instead of dealing with such unexpected quirks of the shell.

Signed-off-by: Rasmus Villemoes <ravi@prevas.dk>
Tested-by: Anshul Dalal <anshuld@ti.com>
2 weeks agomach-k3: move k3_falcon_fdt_fixup out of r5/common.c
Anshul Dalal [Thu, 12 Mar 2026 12:04:17 +0000 (17:34 +0530)] 
mach-k3: move k3_falcon_fdt_fixup out of r5/common.c

k3_falcon_fdt_fixup is used to perform fdt fixups at runtime in falcon
mode such as adding bootargs. Currently the function is only accessible
to the R5 SPL but could be useful for A53 SPL based falcon mode setups
as well.

Therefore this patch moves the function from r5/common.c to common.c.

Signed-off-by: Anshul Dalal <anshuld@ti.com>
2 weeks agoarm: mach-k3: use Kconfig options for ATF/OPTEE size
Anshul Dalal [Thu, 12 Mar 2026 03:43:24 +0000 (09:13 +0530)] 
arm: mach-k3: use Kconfig options for ATF/OPTEE size

The reserved memory sizes for ATF and OPTEE were hard-coded for K3
devices, this patch replaces them with a Kconfig option allowing for
easier modifications.

Acked-by: Andrew Davis <afd@ti.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
Signed-off-by: Anshul Dalal <anshuld@ti.com>
Reviewed-by: Bryan Brattlof <bb@ti.com>
2 weeks agofw_loader: Introduce SUPPORTS_FW_LOADER symbol
Tom Rini [Tue, 10 Mar 2026 16:26:10 +0000 (10:26 -0600)] 
fw_loader: Introduce SUPPORTS_FW_LOADER symbol

The implementation of FW_LOADER requires CMDLINE to be enabled, and
expressses this. In order to not have to have every users also depends
on CMDLINE introduce SUPPORTS_FW_LOADER. This depends on CMDLINE and
ENV_SUPPORT and then we have all users depends on SUPPORTS_FW_LOADER.

Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agofdt: Prefer %pap over %llx
Alexander Sverdlin [Tue, 10 Mar 2026 13:18:40 +0000 (14:18 +0100)] 
fdt: Prefer %pap over %llx

In cases where phys_addr_t/phys_size_t is being printed, it's possible to
use tiny-printf-friendly %pap instead of %llx. For instance, in SPL, with
tiny-printf:

Before the patch:
fdtdec_setup_memory_banksize: DRAM Bank #0: start = 0xx, size = 0xx

After the patch:
fdtdec_setup_memory_banksize: DRAM Bank #0: start = 80000000, size = 40000000

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
2 weeks agoconfigs: adi: sc5xx: sync command configuration
Ozan Durgut [Tue, 10 Mar 2026 11:59:26 +0000 (12:59 +0100)] 
configs: adi: sc5xx: sync command configuration

Sync the command configuration across ADI SC5xx defconfigs by
enabling commands that were missing on some boards.

Signed-off-by: Ozan Durgut <ozan.durgut@analog.com>
2 weeks agovirtio: Fix virtio initialization sequence
Christian Pötzsch [Tue, 10 Mar 2026 14:16:42 +0000 (08:16 -0600)] 
virtio: Fix virtio initialization sequence

The virtio spec clearly states in "3.1.1 Driver Requirements: Device
Initialization" the sequence a client has to follow after device reset.
Because u-boot resets here again, it also needs to set the "acknowledge"
bit again even if this was done in virtio_uclass_child_post_bind already
once before.

Signed-off-by: Christian Pötzsch <christian.poetzsch@kernkonzept.com>
Signed-off-by: Adam Lackorzynski <adam@l4re.org>
[trini: Add VIRTIO_CONFIG_S_ACKNOWLEDGE flag check to the test]
Signed-off-by: Tom Rini <trini@konsulko.com>
2 weeks agoMerge patch series "virtio: rng: Handle oversized return buffers"
Tom Rini [Wed, 25 Mar 2026 20:32:42 +0000 (14:32 -0600)] 
Merge patch series "virtio: rng: Handle oversized return buffers"

Meet Patel <meet.patel2@arm.com> says:

The virtio-rng test to verify effective handling of oversized return
buffers checks that an (undocumented) error is raised, instead of the
real concern, which is the surrounding buffer integrity following a rng
function call.
Update the test to check that the other contents of a buffer remain
unchanged instead of looking for an error code.

Link: https://lore.kernel.org/r/20260309165505.4001705-1-meet.patel2@arm.com
2 weeks agovirtio: rng: Handle oversized return buffers
Kavin Gunasekara [Mon, 9 Mar 2026 16:55:05 +0000 (16:55 +0000)] 
virtio: rng: Handle oversized return buffers

If extra random bytes are returned, truncate and use the requested number
instead of returning an error.

Signed-off-by: Kavin Gunasekara <kavin.gunasekara@arm.com>
Signed-off-by: Meet Patel <meet.patel2@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2 weeks agotest: dm: virtio_rng: Update virtio-rng test
Kavin Gunasekara [Mon, 9 Mar 2026 16:55:04 +0000 (16:55 +0000)] 
test: dm: virtio_rng: Update virtio-rng test

The virtio-rng test to verify effective handling of oversized return
buffers checks that an (undocumented) error is raised, instead of the
real concern, which is the surrounding buffer integrity following a rng
function call.
Update the test to check that the other contents of a buffer remain
unchanged instead of looking for an error code.

Signed-off-by: Kavin Gunasekara <kavin.gunasekara@arm.com>
Signed-off-by: Meet Patel <meet.patel2@arm.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2 weeks agoMerge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra into...
Tom Rini [Wed, 25 Mar 2026 17:09:34 +0000 (11:09 -0600)] 
Merge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegra into next

2 weeks agoMerge tag 'mediatek-for-next-2026-03-24' of https://source.denx.de/u-boot/custodians...
Tom Rini [Wed, 25 Mar 2026 17:09:08 +0000 (11:09 -0600)] 
Merge tag 'mediatek-for-next-2026-03-24' of https://source.denx.de/u-boot/custodians/u-boot-mediatek into next

- MAINTAINERS patch for new MediaTek custodians
- MediaTek pinctrl fix to allow using GPIOs on recent platforms
- The rest is a second wave of MediaTek clock refactoring to remove
  duplicate ways of doing the same thing.

2 weeks agoclk: mediatek: mt7623: fix pericfg priv_auto size
David Lechner [Fri, 13 Mar 2026 14:46:04 +0000 (09:46 -0500)] 
clk: mediatek: mt7623: fix pericfg priv_auto size

Change the pericfg priv_auto size to mtk_clk_priv. The driver is
registered using mtk_common_clk_infrasys_init() which expect that
struct.

The old value of struct mtk_cg_priv was larger, so there was no issue
out of bounds access.

Also replace tab with space to be consistent with the surrounding code.

Reported-by: Julien Stephan <jstephan@baylibre.com>
Closes: https://lore.kernel.org/u-boot/CAEHHSvYMiCZ4jAXp6jEhg6AhZ5Dv3_Ak-8H1mT7S2FPD3_X7dw@mail.gmail.com/
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260313-clk-mtk-fix-priv-auto-size-v1-1-bc649e1b301a@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agopinctrl: mediatek: Add missing bind callback for several SoCs
Julien Stephan [Thu, 12 Mar 2026 16:19:26 +0000 (17:19 +0100)] 
pinctrl: mediatek: Add missing bind callback for several SoCs

Commit f4df9f53b7a9 ("pinctrl: mediatek: Bind gpio while binding pinctrl")
refactored pinctrl-mtk-common.c and the SoC-specific drivers to register
the gpiochip during the bind phase instead of probe. As part of this
change, each SoC driver must implement a bind callback.

The drivers recently added for mt8188, mt8189, mt8195 and mt8365 do not
define this callback, which prevents the gpiochip from being registered
properly.

Add the missing bind callback to these drivers.

Signed-off-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260312-pinctrl-mtk-bind-gpio-v1-1-21b8968902ed@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoMAINTAINERS: add new MediaTek custodians
David Lechner [Wed, 11 Mar 2026 14:52:49 +0000 (09:52 -0500)] 
MAINTAINERS: add new MediaTek custodians

Add new MediaTek custodians and the new MediaTek custodian's git
repository to the MAINTAINERS file.

Julien and I have volunteered to act as custodians for MediaTek since
we have been actively working on upstreaming MediaTek support for some
some time now.

Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260311-mtk-custodians-v1-1-000f9025b54c@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: remove CLK_PARENT_XTAL
David Lechner [Tue, 10 Mar 2026 15:32:29 +0000 (10:32 -0500)] 
clk: mediatek: remove CLK_PARENT_XTAL

Remove the CLK_PARENT_XTAL flag and related code. These have no more
users.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-16-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8518: convert CLK_XTAL to CLK_PAD_CLK26M
David Lechner [Tue, 10 Mar 2026 15:32:28 +0000 (10:32 -0500)] 
clk: mediatek: mt8518: convert CLK_XTAL to CLK_PAD_CLK26M

Replace all uses of CLK_XTAL with CLK_PAD_CLK26M.

This avoids declaring the same parent clock two different ways and will
eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-15-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8516: convert CLK_XTAL to CLK_PAD_CLK26M
David Lechner [Tue, 10 Mar 2026 15:32:27 +0000 (10:32 -0500)] 
clk: mediatek: mt8516: convert CLK_XTAL to CLK_PAD_CLK26M

Replace all uses of CLK_XTAL with CLK_PAD_CLK26M.

This avoids declaring the same parent clock two different ways and will
eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-14-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8512: convert CLK_XTAL to CLK_PAD_CLK26M
David Lechner [Tue, 10 Mar 2026 15:32:26 +0000 (10:32 -0500)] 
clk: mediatek: mt8512: convert CLK_XTAL to CLK_PAD_CLK26M

Replace all uses of CLK_XTAL with CLK_PAD_CLK26M.

This avoids declaring the same parent clock two different ways and will
eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-13-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8365: convert CLK_XTAL to CLK_PAD_CLK26M
David Lechner [Tue, 10 Mar 2026 15:32:25 +0000 (10:32 -0500)] 
clk: mediatek: mt8365: convert CLK_XTAL to CLK_PAD_CLK26M

Replace all uses of CLK_XTAL with CLK_PAD_CLK26M.

This avoids declaring the same parent clock two different ways and will
eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-12-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8195: convert CLK_XTAL to CLK_PAD_CLK26M
David Lechner [Tue, 10 Mar 2026 15:32:24 +0000 (10:32 -0500)] 
clk: mediatek: mt8195: convert CLK_XTAL to CLK_PAD_CLK26M

Replace all uses of CLK_XTAL with CLK_PAD_CLK26M.

This avoids declaring the same parent clock two different ways and will
eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-11-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8188: convert CLK_XTAL to CLK_PAD_CLK26M
David Lechner [Tue, 10 Mar 2026 15:32:23 +0000 (10:32 -0500)] 
clk: mediatek: mt8188: convert CLK_XTAL to CLK_PAD_CLK26M

Replace all uses of CLK_XTAL with CLK_PAD_CLK26M.

This avoids declaring the same parent clock two different ways and will
eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-10-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8183: convert CLK_XTAL to CLK_PAD_CLK26M
David Lechner [Tue, 10 Mar 2026 15:32:22 +0000 (10:32 -0500)] 
clk: mediatek: mt8183: convert CLK_XTAL to CLK_PAD_CLK26M

Replace all uses of CLK_XTAL with CLK_PAD_CLK26M.

This avoids declaring the same parent clock two different ways and will
eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-9-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7988: convert CLK_XTAL to CLK_PAD_CLK40M
David Lechner [Tue, 10 Mar 2026 15:32:21 +0000 (10:32 -0500)] 
clk: mediatek: mt7988: convert CLK_XTAL to CLK_PAD_CLK40M

Replace all uses of CLK_XTAL with CLK_PAD_CLK40M.

This will eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-8-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7987: convert CLK_XTAL to CLK_PAD_CLK40M
David Lechner [Tue, 10 Mar 2026 15:32:20 +0000 (10:32 -0500)] 
clk: mediatek: mt7987: convert CLK_XTAL to CLK_PAD_CLK40M

Replace all uses of CLK_XTAL with CLK_PAD_CLK40M.

This will eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-7-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7986: convert CLK_XTAL to CLK_PAD_CLK40M
David Lechner [Tue, 10 Mar 2026 15:32:19 +0000 (10:32 -0500)] 
clk: mediatek: mt7986: convert CLK_XTAL to CLK_PAD_CLK40M

Replace all uses of CLK_XTAL with CLK_PAD_CLK40M.

This will eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-6-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7981: convert CLK_XTAL to CLK_PAD_CLK40M
David Lechner [Tue, 10 Mar 2026 15:32:18 +0000 (10:32 -0500)] 
clk: mediatek: mt7981: convert CLK_XTAL to CLK_PAD_CLK40M

Replace all uses of CLK_XTAL with CLK_PAD_CLK40M.

This will eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-5-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7629: convert CLK_XTAL to CLK_PAD_CLK40M
David Lechner [Tue, 10 Mar 2026 15:32:17 +0000 (10:32 -0500)] 
clk: mediatek: mt7629: convert CLK_XTAL to CLK_PAD_CLK40M

Replace all uses of CLK_XTAL with CLK_PAD_CLK40M.

This will eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-4-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7623: convert CLK_XTAL to CLK_PAD_CLK26M
David Lechner [Tue, 10 Mar 2026 15:32:16 +0000 (10:32 -0500)] 
clk: mediatek: mt7623: convert CLK_XTAL to CLK_PAD_CLK26M

Replace all uses of CLK_XTAL with CLK_PAD_CLK26M.

This avoids declaring the same parent clock two different ways and will
eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-3-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7622: convert CLK_XTAL to CLK_PAD_CLK25M
David Lechner [Tue, 10 Mar 2026 15:32:15 +0000 (10:32 -0500)] 
clk: mediatek: mt7622: convert CLK_XTAL to CLK_PAD_CLK25M

Replace all uses of CLK_XTAL with CLK_PAD_CLK25M.

This avoids declaring the same parent clock two different ways and will
eventually let us remove CLK_PARENT_XTAL completely.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-2-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: replace xtal2_rate with struct mtk_parent
David Lechner [Tue, 10 Mar 2026 15:32:14 +0000 (10:32 -0500)] 
clk: mediatek: replace xtal2_rate with struct mtk_parent

Replace the hard-coded xtal rate for PLL parents with struct mtk_parent.

This avoids declaring the same clock rate in multiple places and will
allow future drivers to use an arbitrary clock.

The variable is renamed to something that better indicate what the field
is actually used for.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260310-clk-mtk-parent-cleanup-v1-1-66175ca8f637@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoMerge tag 'qcom-fixes-24Mar2026' of https://source.denx.de/u-boot/custodians/u-boot...
Tom Rini [Tue, 24 Mar 2026 15:15:03 +0000 (09:15 -0600)] 
Merge tag 'qcom-fixes-24Mar2026' of https://source.denx.de/u-boot/custodians/u-boot-snapdragon

- Assorted Qualcomm platform fixes

2 weeks agoclk: mediatek: mt8195: use ext_clock_rates
David Lechner [Mon, 9 Mar 2026 22:51:11 +0000 (17:51 -0500)] 
clk: mediatek: mt8195: use ext_clock_rates

Convert the mt8195 clock driver to use ext_clock_rates.

Now that we have the ext_clock_rates feature and also mux clock parents
have been converted to struct mtk_parent, we can remove the hack of
adding "missing" topckgen clocks. Instead we can use the proper parents.

The topckgen ID map is still needed though because the upstream
dt-bindings didn't use the conventional number ordering by clock type
for these.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260309-clk-mtk-mt8188-drop-extra-top-clocks-v1-2-6ee4743a8465@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8188: use ext_clock_rates
David Lechner [Mon, 9 Mar 2026 22:51:10 +0000 (17:51 -0500)] 
clk: mediatek: mt8188: use ext_clock_rates

Convert the mt8188 clock driver to use ext_clock_rates.

Now that we have the ext_clock_rates feature and also mux clock parents
have been converted to struct mtk_parent, we can remove the hack of
adding "missing" topckgen clocks. Instead we can use the proper parents.

The topckgen ID map is still needed though because the upstream
dt-bindings didn't use the conventional number ordering by clock type
for these.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260309-clk-mtk-mt8188-drop-extra-top-clocks-v1-1-6ee4743a8465@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8365: drop topckgen map
David Lechner [Tue, 3 Mar 2026 22:17:47 +0000 (16:17 -0600)] 
clk: mediatek: mt8365: drop topckgen map

Drop the clock ID map for MT8365 TOPCKGEN clocks.

Previously, we didn't have the EXT clock feature, so we needed the map.
Now we can replace it with the new feature to avoid the map.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260303-mtk-clk-8365-drop-map-v1-1-17f81c375290@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: refactor duplicate *_mux_get_rate()
David Lechner [Tue, 17 Mar 2026 23:23:29 +0000 (18:23 -0500)] 
clk: mediatek: refactor duplicate *_mux_get_rate()

Refactor two identical functions for getting mux clock rates. The
functions are renamed and moved to the section of the code that contains
other common functions.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-16-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: remove CLK_PARENT_MIXED flag
David Lechner [Tue, 17 Mar 2026 23:23:28 +0000 (18:23 -0500)] 
clk: mediatek: remove CLK_PARENT_MIXED flag

Remove CLK_PARENT_MIXED and all dead code paths related to it.

All mux clocks have been converted to use struct mtk_parent (the
parent_flags field of the parent/parent_flags union). Use of this
struct was indicated by CLK_PARENT_MIXED. Now, this is always the case
and we can drop the flag and the union. All MUX_MIXED* macros are
change to use the equivalent MUX* macros since we no longer need to
set the flag.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-15-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: remove use of CLK_BYPASS_XTAL flag
David Lechner [Tue, 17 Mar 2026 23:23:27 +0000 (18:23 -0500)] 
clk: mediatek: remove use of CLK_BYPASS_XTAL flag

Remove the CLK_BYPASS_XTAL flag completely.

It was a bit of a hack that was meant to handle mux clocks that had
mixed parents (e.g. XTAL and TOPCKGEN). The idea was that if you didn't
have CLK_XTAL as a parent, then you were supposed to add the
CLK_BYPASS_XTAL flag to the clock tree. There are likely a number of
drivers missing this since it is not intuitive.

In the meantime, we have introduced the CLK_PARENT_MIXED flag which
handles this more robustly. All of the affected drivers (the ones
without CLK_BYPASS_XTAL) have been updated to use CLK_PARENT_MIXED, so
the CLK_BYPASS_XTAL flag is no longer needed on other drivers.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-14-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8518: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:26 +0000 (18:23 -0500)] 
clk: mediatek: mt8518: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-13-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8516: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:25 +0000 (18:23 -0500)] 
clk: mediatek: mt8516: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-12-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8512: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:24 +0000 (18:23 -0500)] 
clk: mediatek: mt8512: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-11-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8365: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:23 +0000 (18:23 -0500)] 
clk: mediatek: mt8365: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-10-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8195: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:22 +0000 (18:23 -0500)] 
clk: mediatek: mt8195: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-9-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8188: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:21 +0000 (18:23 -0500)] 
clk: mediatek: mt8188: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-8-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt8183: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:20 +0000 (18:23 -0500)] 
clk: mediatek: mt8183: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-7-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7988: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:19 +0000 (18:23 -0500)] 
clk: mediatek: mt7988: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-6-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7987: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:18 +0000 (18:23 -0500)] 
clk: mediatek: mt7987: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-5-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7981: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:17 +0000 (18:23 -0500)] 
clk: mediatek: mt7981: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-4-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7629: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:16 +0000 (18:23 -0500)] 
clk: mediatek: mt7629: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-3-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7623: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:15 +0000 (18:23 -0500)] 
clk: mediatek: mt7623: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-2-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agoclk: mediatek: mt7622: convert to struct mtk_parent
David Lechner [Tue, 17 Mar 2026 23:23:14 +0000 (18:23 -0500)] 
clk: mediatek: mt7622: convert to struct mtk_parent

Convert all parent clock arrays to use struct mtk_parent. This will
allow us to simplify core code later by having only one possible data
type for mux parent arrays.

Reviewed-by: Macpaul Lin <macpaul.lin@mediatek.com>
Reviewed-by: Julien Stephan <jstephan@baylibre.com>
Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-1-a4760f5b0a80@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
2 weeks agowatchdog: qcom: stop watchdog by default
Casey Connolly [Wed, 21 Jan 2026 00:36:51 +0000 (01:36 +0100)] 
watchdog: qcom: stop watchdog by default

Prevent the Qualcomm watchdog from autostarting and ensure it's stopped
when the driver probed. In some cases the watchdog is left running by
a previous bootloader stage. Disable autostart so it isn't left running
when we boot into the OS, this behaviour can be changed by enabling
autostart in the board defconfig.

Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Link: https://patch.msgid.link/20260121003659.69305-1-casey.connolly@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2 weeks agoqcom: rpmh: don't error for SLEEP requests
Casey Connolly [Fri, 20 Mar 2026 15:45:41 +0000 (16:45 +0100)] 
qcom: rpmh: don't error for SLEEP requests

Just stub out non-active votes, if we return an error the caller may
propagate it and not send its active vote. Since we don't suspend
there's no risk of us entering a broken state due to missing votes.

Link: https://patch.msgid.link/20260320-casey-qcom-rpmh-serial-fixes-v1-2-b81d05832eec@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2 weeks agoserial: msm-geni: allow invalid clock
Casey Connolly [Fri, 20 Mar 2026 15:45:40 +0000 (16:45 +0100)] 
serial: msm-geni: allow invalid clock

Pre-relocation we may not have a clock but it's usually been enabled for
us already, or worst case we will enable it after relocation. Erroring
out in this case will almost always cause U-Boot to hang pre-relocation
which is undesirable and may be hard to debug.

Link: https://patch.msgid.link/20260320-casey-qcom-rpmh-serial-fixes-v1-1-b81d05832eec@linaro.org
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2 weeks agopower: regulator: qcom: Correct dependenecies for DM_REGULATOR_QCOM_USB_VBUS
Tom Rini [Mon, 23 Mar 2026 19:53:02 +0000 (13:53 -0600)] 
power: regulator: qcom: Correct dependenecies for DM_REGULATOR_QCOM_USB_VBUS

The DM_REGULATOR_QCOM_USB_VBUS functionality can only work with DM_PMIC
enabled as well, so express this dependency in Kconfig.

Signed-off-by: Tom Rini <trini@konsulko.com>
Link: https://patch.msgid.link/20260323195302.2363577-1-trini@konsulko.com
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2 weeks agophy: qcom: qusb2: Add QCS615 QUSB2 PHY support
Balaji Selvanathan [Fri, 13 Feb 2026 09:01:20 +0000 (14:31 +0530)] 
phy: qcom: qusb2: Add QCS615 QUSB2 PHY support

Add support for QCS615 QUSB2 PHY by introducing platform-specific
initialization table and register layout. The implementation reuses
the IPQ6018 register layout and defines QCS615-specific tuning
parameters for proper USB PHY operation.

Taken from Linux commit 8adbf20e0502 ("phy: qcom-qusb2: Add support for QCS615")

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260213-talos_usb-v1-3-4c4355d61437@oss.qualcomm.com
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2 weeks agoclk: qcom: qcs615: Add GCC_AHB2PHY_WEST_CLK clock support
Balaji Selvanathan [Fri, 13 Feb 2026 09:01:19 +0000 (14:31 +0530)] 
clk: qcom: qcs615: Add GCC_AHB2PHY_WEST_CLK clock support

Add GCC_AHB2PHY_WEST_CLK gate clock definition to the QCS615
clock driver. This clock is required for proper PHY operation
and eliminates clock-related warnings during USB initialization.

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260213-talos_usb-v1-2-4c4355d61437@oss.qualcomm.com
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2 weeks agoclk: qcom: qcs615: Add GCC_USB3_PRIM_CLKREF_CLK support
Balaji Selvanathan [Fri, 13 Feb 2026 09:01:18 +0000 (14:31 +0530)] 
clk: qcom: qcs615: Add GCC_USB3_PRIM_CLKREF_CLK support

Add support for GCC_USB3_PRIM_CLKREF_CLK to the QCS615 clock driver.
This clock is referenced in the device tree USB node but was not
implemented in U-Boot, causing "Clock 152 not found" warnings during
fastboot run.

Signed-off-by: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Link: https://patch.msgid.link/20260213-talos_usb-v1-1-4c4355d61437@oss.qualcomm.com
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
2 weeks agoPrepare v2026.04-rc5 v2026.04-rc5
Tom Rini [Mon, 23 Mar 2026 20:19:17 +0000 (14:19 -0600)] 
Prepare v2026.04-rc5

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