summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-03-30core: Rework REGMAP symbols implementationTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for REGMAP (and xPL variants). As this is a library function, it should always be selected and not depended on by other functionality. This is largely done correctly today, so just correct the few outliers. Acked-by: Anshul Dalal <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-03-30usb: isp1760: Correct dependencies for USB_ISP1760Tom Rini
As exposed by "make randconfig", we have an issue with the dependencies for USB_ISP1760. It depends on DM && OF_CONTROL being set and functionally requires REGMAP. As part of fixing that issue, we change "tristate" to "bool" and remove mentions of module support as that's not a thing in U-Boot. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-03-30test: Correct dependencies for SPL_UNIT_TESTTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for SPL_UNIT_TEST. In order to test SPL_DM_DEVICE_REMOVE we also need to have ensured that SPL_DM is enabled, so select that as well. Signed-off-by: Tom Rini <[email protected]>
2026-03-30timer: Correct dependencies for SPL_TIMERTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for SPL_TIMER. This depends not just on SPL but also SPL_DM to function, so add that. Signed-off-by: Tom Rini <[email protected]>
2026-03-30pinctrl: Correct dependencies for PINCTRL_TH1520Tom Rini
As exposed by "make randconfig", we have an issue with the dependencies for PINCTRL_TH1520. It really needs to depend on PINCTRL_GENERIC rather than select it, and PINCTRL_GENERIC in turn already depends on PINCTRL_FULL. Signed-off-by: Tom Rini <[email protected]>
2026-03-30misc: Correct dependencies on QCOM_GENITom Rini
As exposed by "make randconfig", we have an issue with the dependencies for QCOM_GENI. The symbol PARTITION_TYPE_GUID depends on EFI_PARTITION and this driver cannot function without both being set, so select that as well. Reviewed-by: Casey Connolly <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-03-30input: Correct dependencies for BUTTON_KEYBOARDTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for BUTTON_KEYBOARD. This needs to also depend on DM_GPIO, and then select BUTTON as well as BUTTON_GPIO, in order to meet all its requirements. Reviewed-by: Casey Connolly <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-03-30SPL: Rework logic around SPL_BLK_FS (and SPL_NVME)Tom Rini
As exposed by "make randconfig", we have an issue around SPL_BLK_FS. This is functionally a library type symbol that should be selected when required and select what it needs. Have SPL_BLK_FS select SPL_FS_LOADER and then SPL_NVME will now correctly select SPL_FS_LOADER via SPL_BLK_FS. Signed-off-by: Tom Rini <[email protected]>
2026-03-30boot: Update dependencies for some UPL optionsTom Rini
As exposed by "make randconfig", we have an issue around SPL_UPL. This depends on SPL_LIBGENERIC_SUPPORT indirectly. In turn, SPL_UPL_OUT needs to next depend on SPL_UPL. Signed-off-by: Tom Rini <[email protected]>
2026-03-30boot: Update tests around network symbols in BOOT_DEFAULTS_CMDSTom Rini
As exposed by "make randconfig", we have an issues around a number of symbols in BOOT_DEFAULTS_CMDS. Due to the nature of how we currently handle other networking related command options, we need to be testing for "!NO_NET" (which is the symbol for no networking stack) or "NET || NET_LWIP" rather than CMD_NET alone. For consistency and clarity here use "CMD_NET && !NO_NET" here. Signed-off-by: Tom Rini <[email protected]>
2026-03-30sysreset: Rework tests around SYSRESET_CMD_POWEROFFTom Rini
As exposed by "make randconfig", we have an issue around how SYSRESET_CMD_POWEROFF is typically selected. We cannot rely only on CMD_POWEROFF as SYSRESET_CMD_POWEROFF must also be tested for its own dependency of SYSRESET. Signed-off-by: Tom Rini <[email protected]>
2026-03-30xPL FIT: Rework SPL_FIT dependenciesTom Rini
As exposed by "make randconfig", we have xPL_FIT select'ing xPL_OF_CONTROL, and that in turn requires xPL_LIBGENERIC_SUPPORT. The most reasonable solution here is to have xPL_FIT select xPL_LIBGENERIC_SUPPORT. Signed-off-by: Tom Rini <[email protected]>
2026-03-30FIT: Image pre-load signature support must select not depends on FIT_SIGNATURETom Rini
The options to enable pre-load signature support (full U-Boot or in SPL) must depend on FIT_SIGNATURE being enabled, and not select it. Signed-off-by: Tom Rini <[email protected]>
2026-03-27arm: relocate: Introduce data-only relocation modeMarek Vasut
Introduce new mode of relocation which relocates only data, not code. This is mainly meant to relocate data to read-write portion of the RAM, while the code remains in read-only portion of the RAM from which it is allowed to execute. This split configuration is present on various secure cores. The result of the relocation is U-Boot running at its original address, data relocated to the end of DRAM, but with added read-write area offset. The U-Boot binary area is not reserved from the end of the DRAM in this relocation mode, because U-Boot itself is not relocated. Signed-off-by: Marek Vasut <[email protected]>
2026-03-27arm: Drop unused __XSCALE__ sectionMarek Vasut
The code in the __XSCALE__ section is unused, since there is no more XScale support in U-Boot. Remove the stale code. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2026-03-27arm: Introduce current_pl() on ARM32 and compatibility current_el()Marek Vasut
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 <[email protected]>
2026-03-27cmd: part: add part dupcheck subcommandPadmarao Begari
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 <[email protected]> Signed-off-by: Padmarao Begari <[email protected]>
2026-03-27fs: fat: Refactor dirty flag handlingDaniel Palmer
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 <[email protected]>
2026-03-27Remove confusing NULL from error messageLudwig Nussel
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 <[email protected]>
2026-03-27Add back debug output of hashed nodesLudwig Nussel
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 <[email protected]>
2026-03-27Merge tag 'xilinx-for-v2026.07-rc1-v2' of ↵Tom Rini
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
2026-03-27Merge tag 'doc-2026-04-rc6' of ↵Tom Rini
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.
2026-03-27cpu: microblaze: Fix unmet direct dependencies for XILINX_MICROBLAZE0_PVRMichal Simek
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 <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/61ddd555f58ef5169c48b190423640d949e4aad1.1773764781.git.michal.simek@amd.com
2026-03-27doc: overlay-fdt-boot: .dtbos do not need load addressesRasmus Villemoes
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 <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2026-03-27doc: board: ti: fix incorrect labels for boot switchesAnshul Dalal
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 <[email protected]>
2026-03-27doc: board: fix OPTEE args for TI SoCsAnshul Dalal
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 <[email protected]> Acked-by: Francesco Dolcini <[email protected]> # Toradex Verdin AM62
2026-03-27doc: Use sys.path.append for pytests being foundTom Rini
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 <[email protected]>
2026-03-27doc/buildman: fix missing :: on examplesDavid Lechner
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 <[email protected]>
2026-03-27doc: pstore: fix typoAristo Chen
Use "parameters have been set" and "they need" for correct grammar in the pstore documentation. Signed-off-by: Aristo Chen <[email protected]>
2026-03-27treewide: fix uImage.FIT document pathsDaniel Golle
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 <[email protected]>
2026-03-26Merge patch series "Introduce SQUASHFS support in SPL"Tom Rini
Richard Genoud <[email protected]> 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/[email protected]
2026-03-26MAINTAINERS: SQUASHFS: Add myself as co-maintainerRichard Genoud
I propose myself to maintain the squashfs files with João. Also, reorder patterns in alphabetical order. Signed-off-by: Richard Genoud <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Reviewed-by: João Marcos Costa <[email protected]>
2026-03-26MAINTAINERS: SQUASHFS: update João Marcos Costa emailRichard Genoud
João is using his Bootlin address now. Signed-off-by: Richard Genoud <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Reviewed-by: João Marcos Costa <[email protected]>
2026-03-26spl: mmc: support squashfsRichard Genoud
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 <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Reviewed-by: João Marcos Costa <[email protected]>
2026-03-26spl: add squashfs supportRichard Genoud
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 <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Reviewed-by: João Marcos Costa <[email protected]>
2026-03-26fs/squashfs: squashfs.h: include file should be self dependentRichard Genoud
Otherwise, we get a lot of errors when including this file. Signed-off-by: Richard Genoud <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Reviewed-by: João Marcos Costa <[email protected]>
2026-03-26fs/squashfs: sqfs_decompressor: simplify codeRichard Genoud
Switch to if (CONFIG_IS_ENABLED()) instead of #if when possible and remove unnecessary cases. Signed-off-by: Richard Genoud <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Reviewed-by: João Marcos Costa <[email protected]>
2026-03-26fs/squashfs: fix sqfs_decompressor.c build in SPLRichard Genoud
CONFIG_IS_ENABLED() must be used in place of IS_ENABLED() for config options that have a _SPL_ counterpart. Signed-off-by: Richard Genoud <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Reviewed-by: João Marcos Costa <[email protected]>
2026-03-26Merge tag 'fwu-next-26032026' of ↵Tom Rini
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.
2026-03-26Merge tag 'rpi-2026.04-rc5' of ↵Tom Rini
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
2026-03-26rpi: Update the naming for bcm2712 SoC RevD namingPeter Robinson
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 <[email protected]> Reviewed-by: Matthias Brugger <[email protected]>
2026-03-26arm: bcm: Include missing errno.hMarek Vasut
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 <[email protected]>
2026-03-26tools: mkfwumdata: Remove dependency on fwu_mdata.h headerKory Maincent
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 <[email protected]> Tested-by: Sughosh Ganu <[email protected]> Signed-off-by: Kory Maincent <[email protected]> Tested-by: Dario Binacchi <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2026-03-26tools: Add support for fwumdata toolKory Maincent
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 <[email protected]> Tested-by: Dario Binacchi <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2026-03-26tools: mkfwumdata: Add bank count validation for FWU metadata v2Kory Maincent
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 <[email protected]> Tested-by: Dario Binacchi <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2026-03-26tools: mkfwumdata: Improve error message specificityKory Maincent
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 <[email protected]> Tested-by: Dario Binacchi <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2026-03-26tools: Reorganize mkfwumdata tool into fwumdata_src directoryKory Maincent
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 <[email protected]> Tested-by: Dario Binacchi <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2026-03-26tools: gitignore: Add mkfwumdata to the git ignore fileKory Maincent
mkfwumdata is a built image. Add it to .gitignore. Signed-off-by: Kory Maincent <[email protected]> Tested-by: Dario Binacchi <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2026-03-25Merge patch series "test/py: gpio: cleanups and improvement"Tom Rini
David Lechner <[email protected]> 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/[email protected]
2026-03-25test/py: gpio: allow omitting gpio_op_pinDavid Lechner
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 <[email protected]>