summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
20 hourslmb: Return -EFAULT when freeing unallocated memory regionsJonas Karlman
Make lmb_free() return -EFAULT when the requested memory region is not allocated, instead of the generic -1 error value. Document the updated error code in the public API comment and change the LMB unit test to check for the new -EFAULT errno value. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Randolph Sapp <[email protected]>
20 hourslmb: Return -EFAULT when requested region is not part of memory mapJonas Karlman
lmb_alloc_addr() is documented to return -EINVAL when the requested memory region is not part of the LMB memory map. However, -EINVAL is also used to e.g. indicate that a NULL pointer is passed as the addr parameter or when the requested memory region partially overlaps an existing region. Change lmb_alloc_addr() to return -EFAULT when the requested memory region is not part of the LMB memory map to make the type of error known to callers. Also extend unit tests to validate that the return code has stay the same when the requested memory region partially overlaps. No caller of lmb_alloc_addr() is checking what type of error code is returned, so this change has no intended behavior change. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Randolph Sapp <[email protected]>
5 daysarm64: renesas: r8a779g3: Switch to distro boot command on Retronix R-Car ↵Marek Vasut
V4H Sparrow Hawk Switch Retronix R-Car V4H Sparrow Hawk to distro boot command to obtain generic distro boot capability. The boot scripts now search each of the SD, NVMe, USB boot devices for either a fitImage with embedded script, regular boot script, or extlinux.conf, and boot the first one found. This allows for standardized boot of the device, similar to other such devices. There are slight customizations to the distro boot commands, specifically the PCIe controller is started before USB controller, because the USB controller is attached to the PCIe controller. Furthermore, USB ethernet boot is not enabled. Signed-off-by: Marek Vasut <[email protected]>
5 daysarm64: renesas: r8a779g3: Add bootloader update environment on Retronix ↵Marek Vasut
R-Car V4H Sparrow Hawk Add bootloader update environment to Retronix R-Car V4H Sparrow Hawk. The "update_loader_from_{mmc,nvme,usb}" script updates U-Boot "flash.bin" in SPI NOR at offset 0x0 from SD card, NVMe SSD and USB mass storage device respectively. Each script sets up parameters for the generic update script "update_loader_from_blk", which can be used to update the "flash.bin" from any block device. The parameters are these: - renesas_update_loader_iface ....... Update block device (mmc, nvme, usb, ...) - renesas_update_loader_dev ......... Update block device number (0, 1, ...) - renesas_update_loader_part ........ Update block device partition (1, 2, ...) - renesas_update_loader_filename .... Update file name (flash.bin) - renesas_update_loader_sf_offset ... SPI NOR target offset (0x0) Signed-off-by: Marek Vasut <[email protected]>
5 daysarm64: renesas: r8a779g3: Add PCIe firmware environment on Retronix R-Car ↵Marek Vasut
V4H Sparrow Hawk Add PCIe controller firmware handling environment to Retronix R-Car V4H Sparrow Hawk. The "renesas_rcar_gen4_load_firmware" script is used to load PCIe controller firmware from SPI NOR offset 0x300000. The "flash_pcie_fw_to_qspi_from_mmc" script is used to write the firmware from SD card to SPI NOR offset 0x300000 . Signed-off-by: Marek Vasut <[email protected]>
11 daysremoteproc: renesas: rsip: Extract SCP initialization from board fileMarek Vasut
Move the SCP initialization from board file into remoteproc driver where this is supposed to be. Add SCP MDLC DT node and describe the SCP reset controlled by the SCP MDLC in remoteproc DT node. Adjust the driver to control the SCP reset via reset framework instead of the current board-specific register poking. Signed-off-by: Marek Vasut <[email protected]>
12 daysMerge tag 'u-boot-rockchip-2026.10-20260813' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-rockchip CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-rockchip/-/pipelines/972 - Disable JTAG for RK3576. Fix for boards potentially not being able to use SD card anymore due to automatic switch to JTAG based on level of one specific pin,
12 daysMerge tag 'net-20260813' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-net Pull request net-20260813. net: - phy: dp83867: enable extended read / write for driver - phy: fix duplicate eth_phy binding - Drop unnecessary device_set_name - dwc_eth_xgmac: Return -ENODEV when phy_connect() fails - nfs: clean up bounds checks in nfs_readlink_reply() - rtl8169: add support for RTL8126A and RTL8127A - srand_mac(): fix -ENODEV crash with CONFIG_DM_RNG net-legacy: - Fix out-of-bounds write in IP fragment reassembly - test: net: add regression test for IP reassembly overflow net-lwip: - Add tftpsrv command - Handle chained pbufs in transmit path - sntp: fix netif leak when ntpserverip is unset - wget: free mbedtls x509 cert context to avoid memory leak - Fix DHCP fine timer interval
13 daysxilinx: versal2: Add PM UFS firmware interfaceMichal Simek
Add firmware interface for UFS access but also keep IO interface when firmware is not enabled. Signed-off-by: Michal Simek <[email protected]> Link: https://patch.msgid.link/6419fe4f6f1f451aee624c7762b7aa690d50e498.1784870711.git.michal.simek@amd.com
13 daysarm64: versal2: Select GIC redistributor base at runtimeMichal Simek
The GIC redistributor base address depends on the part: the 2VM3654 device has 4 APU cores and 3 GIC ITS blocks, which shifts the redistributor region up compared to the base 8 core / single ITS part. A single U-Boot binary must therefore pick the right base at runtime instead of relying on the compile-time GICR_BASE used by the generic lowlevel_init(). Add a SoC specific lowlevel_init() that reads the PMC TAP IDCODE and selects GICR_BASE_2VM3654 for the 2VM3654 device, otherwise keeps the default GICR_BASE. CONFIG_ARMV8_MULTIENTRY is not supported on Versal Gen 2 so the generic slave handling is intentionally dropped. Signed-off-by: Michal Simek <[email protected]> Link: https://patch.msgid.link/4c0dc2b6e29d300db15be0844879ab4d028d98a9.1783493630.git.michal.simek@amd.com
14 daysinclude: linux: Import hw_bitfield.h from Linux v6.18Jonas Karlman
Hardware of various vendors, but very notably Rockchip, often uses 32-bit registers where the upper 16-bit half of the register is a write-enable mask for the lower half. Add hw_bitfield.h with two macros: FIELD_PREP_WM16, and FIELD_PREP_WM16_CONST. The latter is a version that can be used in initializers, like FIELD_PREP_CONST. Import hw_bitfield.h from Linux commit 21368fcbb124 ("bitmap: introduce hardware-specific bitfield operations"), first introduced in v6.18-rc1. This contains two changes compared to the Linux version: - include of linux/limit.h was dropped - use of const_true() in FIELD_PREP_WM16_CONST() was dropped Signed-off-by: Jonas Karlman <[email protected]> Acked-by: Quentin Schulz <[email protected]> Reviewed-by: Tom Rini <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Quentin Schulz <[email protected]>
2026-08-11scmi: pinctrl: Rename SCMI_PIN_DEFUALT to SCMI_PIN_DEFAULTUdit Kumar
Fix typo in enum scmi_config_type in include/scmi_protocols.h. The enum value SCMI_PIN_DEFUALT was misspelled and should be SCMI_PIN_DEFAULT to match the correct English spelling. This fixes potential compilation issues and improves code clarity for any code that references this enum value Fixes: 0cb160f1b629 ("scmi: pinctrl: add pinctrl driver for SCMI") Signed-off-by: Udit Kumar <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-08-11power: regulator: tps65219: Fix LDO selector boundariesKumara Bhimeswararao Matsa
According to the TPS65219 datasheet, selectors 0x38 through 0x3f saturate at 3.4 V for LDO1 and LDO2. For LDO3 and LDO4, selectors 0x00 through 0x0c saturate at 1.2 V, while selectors 0x36 through 0x3f saturate at 3.3 V. The driver currently uses 0x56, 0x12, and 0x54 as selector boundary values. These values do not match the selector boundaries defined by the datasheet. Use the correct selector boundary values of 0x38, 0x0c, and 0x36 for interpolation. Fixes: b5cfa0c7ca4f ("power: add driver for the TPS65219 PMIC") Signed-off-by: Kumara Bhimeswararao Matsa <[email protected]> Acked-by: Maarten Brock <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-08-11firmware: scmi: Support probe vendor ID 0x81Michal Simek
Preparing to add the AMD/Xilinx SCMI vendor protocol driver, support probe of SCMI vendor ID 0x81. Add the protocol ID, the per-agent protocol device slot, the probe/lookup switch cases and the scmi command name, gated by a Kconfig option for conditional compilation. The same wiring has been done by commit 7830ccc77a13 ("firmware: scmi: Support probe vendor ID 0x80 and 0x82"). Signed-off-by: Michal Simek <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-08-10bootretry: only reinitialize retry_time when bootretry env variable has been ↵Rasmus Villemoes
touched Commit aa5ef3c0a752 ("bootretry: check for bootretry variable changes") broke the feature where one can define different keys for "delaying" versus "stopping" boot. The way the latter is implemented is by the code in autoboot.c calling bootretry_dont_retry() when the stop sequence has been detected, and that simply sets the retry_time variable in bootretry.c to -1. However, with the mentioned commit, that is unconditionally overridden on every command, since it gets re-initialized from either the bootretry environment variable or CONFIG_BOOT_RETRY_TIME, thus making "delay" and "stop" effectively the same. To fix that, while still picking up changes to the bootretry environment variable, use the proper mechanism for C code to be notified about changes to environment variables. Since the callback is invoked before the change has actually been done to the environment (callbacks can reject the change from taking effect), we cannot simply call the existing bootretry_init_cmd_timeout() from the callback, as its env_get() would not see the new value. Instead, refactor most of it to an internal bootretry_parse(), and call that with the new value (which is NULL in the case bootretry is being deleted, so that works exactly as it should). Signed-off-by: Rasmus Villemoes <[email protected]>
2026-08-10serial: coreboot: Accept DBG2 subtype 0x12Desapogu Jayaramudu
U-Boot running as a coreboot payload obtains serial console information either from the coreboot table or from the ACPI DBG2 table. When serial console support is disabled in coreboot, the coreboot table does not contain serial information. In this case U-Boot falls back to parsing the DBG2 table. Some AMD platforms or any other platforms that uses memory-mapped I/O advertise the debug UART using DBG2 subtype 0x0012 ("16550-compatible with parameters defined in Generic Address Structure"). U-Boot currently accepts only subtype 0x0000, causing DBG2 UART detection to fail and leaving no console output. Accept subtype 0x0012 as well and keep the existing handling logic. Signed-off-by: Desapogu Jayaramudu <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-08-10Merge patch series "boot: fit: authenticate the dm-verity roothash"Tom Rini
Daniel Golle <[email protected]> says: A signed FIT configuration can delegate the integrity of a (potentially large) root filesystem image to the kernel's dm-verity instead of having U-Boot hash the whole payload at boot: the FIT carries a "dm-verity" subnode with the roothash, salt and block parameters, U-Boot passes the roothash to Linux through the dm-mod.create bootargs, and dm-verity then validates the filesystem block by block against it. For that to be safe the roothash has to be trusted, and in a signed configuration the only thing that establishes trust is the configuration signature. The roothash was not covered by it. fit_config_add_hash() collected the image node, its hash subnodes and its cipher subnode into the signed region, but not the dm-verity subnode, so the roothash, the sole integrity anchor for the filesystem, was left unsigned. The result is a verified-boot bypass for the root filesystem: an attacker who can rewrite the boot medium can replace the filesystem, recompute a matching dm-verity tree, write the new roothash into the unsigned dm-verity subnode, and the configuration signature still verifies. dm-verity then faithfully validates the malicious filesystem against the attacker's roothash. This series closes the gap. Link: https://lore.kernel.org/r/[email protected]
2026-08-10test: fit: verify dm-verity roothash is covered by the config signatureDaniel Golle
A dm-verity protected filesystem image is not hashed by U-Boot; its integrity is delegated to the kernel, which trusts the roothash taken from the FIT dm-verity subnode. For that chain of trust to hold, the roothash (and salt) must be part of the region covered by the configuration signature, otherwise an attacker can replace both the filesystem and the roothash while keeping the signature valid. Add two independent checks of this property: - test/py/tests/test_fit_verity_sign.py signs a configuration that references a filesystem image carrying a dm-verity subnode, then confirms that tampering the roothash or the salt is rejected by fit_check_sign. A control that tampers a byte known to be signed proves the check can fail. A matching page is added under doc/develop/pytest/ so the module documentation is rendered with the rest of the generated docs. - test/boot/fit_verity.c gains a runtime unit test that builds the exact node list the configuration signature is computed over, turns it into hashed regions and checks both that the roothash bytes fall inside a signed region and that tampering them changes the hash. It needs no private key, so it also runs on real devices and uses the same hash path a device would. To let the unit test build the signed-region node list, rename the config node-list helper to fit_config_get_signed_nodes(), make it non-static and declare it in image.h. Signed-off-by: Daniel Golle <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-08-08Merge branch 'main' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-sh This includes temporary U-Boot DT ECC carveouts for R-Car Gen5, they will be dropped from U-Boot DTs once OF_UPSTREAM DTs get re-synced. This also includes RPC-IF support for R-Car Gen5 and env storage in RPC HF. This also includes an update for R-Car Gen5 UFS controller driver.
2026-08-07arm: renesas: Enable RPC on R-Car R8A78000 X5H Cortex-M33 RSIP portMarek Vasut
Enable RPC and HyperFlash support on R-Car R8A78000 X5H Cortex-M33 RSIP. RPC is used both to update the HF content, which includes the U-Boot on RSIP itself and SCP firmware, as well as access the U-Boot environment for U-Boot on RSIP. Signed-off-by: Marek Vasut <[email protected]>
2026-08-07Merge tag 'u-boot-imx-main-20260807' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-imx CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-imx/-/pipelines/906 - Fix a boot regression on i.MX7 related to the system counter. - Add Aquila iMX95 0243 PID4. - Update phycore_imx8mm DDR timings. - Add FRDM-IMX95 initial support. - Handle FCFB header during SPI NOR boot and CST backend selection.
2026-08-06Merge branch 'main' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-riscv CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-riscv/-/pipelines/884 - board: MPFS: add hardware RNG support and fix RNG consumers - board: sophgo: add support for Milk-V Duo 256M
2026-08-06imx: Add FRDM-IMX95 initial supportJoseph Guo
Add boot support and peripherals like eMMC/SD, UART, I2C, GPIO, ENETC0/1 and PCIE0/1 for iMX95 15x15 FRDM. Updated doc for build instructions. Signed-off-by: Lei Xu <[email protected]> Signed-off-by: Joseph Guo <[email protected]>
2026-08-05board: sophgo: add support for Milk-V Duo 256MHiago De Franco
Add U-Boot support for Milk-V Duo 256M. This board has a different SoC compared to the Milk-V Duo 64M, it uses the Sophgo SG2002 instead of the Sophgo CV1800B. Both SoCs share many common IP blocks, so this board reuses the existing cv1800b CPU support. The board shares the same 'board.c' with Milk-V Duo 64MB (CV1800B), so use the same file for now. Link: https://milkv.io/docs/duo/getting-started/duo256m Signed-off-by: Hiago De Franco <[email protected]> Acked-by: Leo Yu-Chi Liang <[email protected]>
2026-08-05misc: mpfs_syscontroller: add mailbox RX helper for service responsesJamie Gibbons
The MPFS system controller run_service() helper only submits the mailbox request but does not read back the response data. However, the caller must explicitly receive the response. Add a public system controller helper to receive mailbox service responses to populate the response buffer after issuing a system controller request. Without this, the drivers copy uninitialised stack data instead of mailbox response data, resulting in deterministic output. Signed-off-by: Jamie Gibbons <[email protected]> Acked-by: Conor Dooley <[email protected]>
2026-08-03cyclic: get rid of cyclic_get_list() helperRasmus Villemoes
As the comment indicates, this was used to silence a warning without having to add casts everywhere gd->cyclic_list was referenced. But nowadays gd is not volatile qualified, so this helper is not needed and only obfuscates the code somewhat, because the head of the list being operated on with the hlist_ or list_ macros is usually not obtained via a function call. Remove the helper and refer to the list head using the idiomatic &gd->cyclic_list. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2026-08-03board: phycore_imx8mm: add 1 and 4GB RAM timingsINgo Rah
The Phytec Tauri L is sold with multiple memory configurations beyond the base 2 GB variant. To support these alternative capacities seamlessly, read the physical memory size directly from the EEPROM of the underlying phyCORE module and apply the appropriate DDR timing parameters at runtime. Alternatively, a fixed memory configuration can still be enforced via a dedicated Kconfig option if dynamic detection is not desired. Note that while U-Boot correctly discovers the full physical memory bank, the device tree excludes the memory beyond 3 GB (below the 4 GB boundary). This ensures that U-Boot allocations and early EFI staging buffers remain safe from 32-bit interconnect DMA limitations inherent to some i.MX8MM IP blocks. Signed-off-by: INgo Rah <[email protected]> Reviewed-by: Gregor Herburger <[email protected]> Reviewed-by: Benedikt Spranger <[email protected]> Reviewed-by: Yannic Moog <[email protected]> Tested-by: Yannic Moog <[email protected]>
2026-07-31Merge tag 'efi-2026-10-rc2-2' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-efi Pull request efi-2026-10-rc2-2 CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-efi/-/pipelines/839 Documentation: * README: Slightly rephrase env set and env print paragraph * cmd: gpt: Reinstate gpt setenv * CONTRIBUTE: replace "as" with "like" UEFI: * Unify the memory map output of 'efi mem' and 'efidebug memmap' * Print ISA-specific and unknown memory attributes * Rix memory leak in efi_sigstore_parse_siglist * Fix use of uninitialized guid in variable enumeration loops
2026-07-31efi: Print ISA-specific and unknown memory attributesAristo Chen
The attribute mnemonic table did not cover EFI_MEMORY_ISA_VALID and the EFI_MEMORY_ISA_MASK field, and attribute bits without a mnemonic were silently dropped, so a memory map carrying ISA-specific, invalid or not yet known attributes displayed incomplete information without any hint that something was missing. Add a mnemonic for EFI_MEMORY_ISA_VALID and print the ISA-specific field as ISA=<value> when it is valid, instead of decoding bits whose meaning U-Boot cannot know. Any remaining bits that match neither the mnemonic table nor the ISA field are printed as a hexadecimal value. Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Aristo Chen <[email protected]>
2026-07-31efi: Unify the memory map output of 'efi mem' and 'efidebug memmap'Aristo Chen
The efi and efidebug commands each carried their own code for printing the EFI memory map, with separate tables of memory type and attribute names. The copies had drifted: efidebug knew EFI_PERSISTENT_MEMORY_TYPE while 'efi mem' printed it as '<invalid>', neither table knew EFI_UNACCEPTED_MEMORY_TYPE, and the 'efi mem' printer had misaligned column headers, a broken '<gap>' line and a superfluous Virtual column: the map is identity mapped before SetVirtualAddressMap() is called, so the field carries no information at the time the command can run. Move the printing loop of 'efidebug memmap' into efi_common.c as efi_show_memmap(), which is linked into both commands, and use it from both. The second copy in 'efi mem' is deleted together with efi_print_mem_table() and the private sorting and merging code, including the 'all' argument. The memory type names follow the UEFI specification with the leading 'Efi' and the trailing 'Type' stripped, for example ConventionalMemory for EfiConventionalMemory, and the missing name for unaccepted memory is added. The type column is widened to fit the longest name, MemoryMappedIOPortSpace. The shared function iterates the map with the descriptor size reported by the firmware instead of assuming sizeof(struct efi_mem_desc). This matters for 'efi mem' under EDK II based firmware, which reports a descriptor size of 0x30. The memory map key, which was printed uninitialized on the payload path, is now initialized. The command documentation is updated with output captured from the app running under OVMF, and documents why virtual addresses are not shown. Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Aristo Chen <[email protected]>
2026-07-30arm: mvebu: Add Allied Telesis x960 boardChris Packham
The x960-28YSQ is a 25G/100G layer 3 switch from Allied Telesis. Signed-off-by: Chris Packham <[email protected]> Reviewed-by: Stefan Roese <[email protected]> [sr: fix DT file name in MAINTAINERS]
2026-07-30Merge tag 'mmc-for-2026.10-rc2' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-mmc CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-mmc/-/pipelines/781 - Enable MMC CMD23 for multi-block transfers - Various fixes to mmc core - Add PF9453 pmic/regulator driver - Support SCP 4.36 map for renesas-r8a78000
2026-07-29crypto: hash: use DM providers from hash commandJames Hilliard
The hash command currently always uses the software implementation for the selected algorithm, even when driver-model hash providers are available. Add a hash_digest_wd_lookup() helper which probes UCLASS_HASH devices in order and uses the first provider supporting the requested algorithm. Continue past unavailable providers and unsupported operations, but propagate a hard digest failure once a provider accepts the operation. Remember probe failures so they are not silently hidden by software fallback when no later provider succeeds. Use the helper from the hash command and retain its software fallback when no usable provider is present. Add sandbox tests covering provider fallback and hard-error propagation. Signed-off-by: James Hilliard <[email protected]>
2026-07-29power: pmic: ADD PMIC PF9453 supportJoy Zou
Support NXP PMIC pf9453. Reviewed-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Joy Zou <[email protected]> Signed-off-by: Peng Fan <[email protected]> Rebased [1] on main and checkpatch fixed. See also [2] [1] https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/ [2] https://lists.u-boot-project.org/pipermail/u-boot/2026-July/625613.html Signed-off-by: Krzysztof Drobiński <[email protected]>
2026-07-29mmc: enable CMD23 for multi-block transfersEric Chung
Enable the support for the CMD23 (SET_BLOCK_COUNT) command to manage multi-block read/write operations. This allows the MMC core to use CMD23 in preference to the legacy CMD18/CMD25 plus CMD12 sequence, reducing command overhead and improving I/O performance on multi-block transfers. Signed-off-by: Eric Chung <[email protected]> Signed-off-by: Tanmay Kathpalia <[email protected]> [ Drop MMC_CAP_CMD32 from mvebu_mmc.h ] Signed-off-by: Peng Fan <[email protected]>
2026-07-28Merge tag 'efi-2026-01-rc2' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-efi Pull request efi-2026-01-rc2 CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-efi/-/pipelines/753 Documentation: * sandbox: fix enum host_platform_flags description * switch from setenv to env set and from printenv to env print * document Renesas R-Car Gen5 RSIP Cortex-R52 start * thead: lpi4a: detail how to enable fastboot UEFI: * unify and correct GUID selection for security database variables * test: check default GUID selection of security database variables * set correct frame buffer address * check efi_deserialize_load_option() in get_dp_device()
2026-07-27Merge tag 'u-boot-imx-main-20260727' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-imx CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-imx/-/pipelines/749 - Support authenticating signed Mcore container image on i.MX9. - Support booting CM70, CM71 and CM33 sync cores on i.MX9. - Add i.MX SNVS RTC driver. - Detect RAM sizes on Toradex smarc and aquila i.MX95 boards. - Add support for the Librem5 devkit. - Subtract half a cycle instead of three quarters of a cycle after DQS gating calibration on i.MX6. - Several tqma6 improvements. - Add product ID support for new Toradex boards.
2026-07-27sandbox: fix enum host_platform_flags descriptionHeinrich Schuchardt
`make htmldocs` reports ./include/sandbox_host.h:14: warning: cannot understand function prototype: 'enum host_platform_flags ' Align the description with Sphinx style. Fixes: 93e9af685fef ("test: bootdev: scan with a broken high-priority device") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Denis Mukhin <[email protected]>
2026-07-27Merge tag 'u-boot-rockchip-2026.10-20260724' of ↵Tom Rini
https://git.u-boot-project.org/u-boot/custodians/u-boot-rockchip - Switched to use upstream pinctrl header include, - Dropped SDHCI DT properties in U-Boot-specific DT for NanoPi R5 as most are present upstream and those which aren't are breaking devices, - Fixed ECC strength mismatch between reading and writing on non-0 NAND chips configured as boot medium (nand-is-boot-medium), - Moved Simon to reviewer for ARM ROCKCHIP, - Fixed build issue related to GPT capsule support accessing a struct member only present when CONFIG_PARTITION_TYPE_GUID is set, - Added support for new devices: - Anbernic RG-DS - ROC-RK3588S-PC
2026-07-27board: toradex: aquila-imx95: detect RAM sizesEmanuele Ghidoli
Use alias-based RAM probing to detect different memory configurations on Toradex Aquila iMX95. The address wrap-around is not linear: address bits above the module capacity alias back with some low address bits XORed (bit 32 -> XOR 0xc000), as measured on 4GB and 8GB modules. During probing, skip the first 256MB, since that region is reserved. Signed-off-by: Emanuele Ghidoli <[email protected]>
2026-07-27board: toradex: smarc-imx95: detect RAM sizesEmanuele Ghidoli
Use alias-based RAM probing to detect different memory configurations on Toradex SMARC iMX95. The address wrap-around is not linear: address bits above the module capacity alias back with some low address bits XORed (bit 32 -> XOR 0xc000), as measured on 4GB and 8GB modules. During probing, skip the first 256MB, since that region is reserved. Signed-off-by: Emanuele Ghidoli <[email protected]>
2026-07-27imx9{4, 5, 52}_evk: power on mcore according to SM configYe Li
When working with SM config mx9{4,5,52}evkrpmsg, mcores are not booted by ROM. Hence, power on the mcore and initialize TCM ECC in u-boot for subsequent mcore booting. Signed-off-by: Ye Li <[email protected]> [fabio: Adapted to mainline context] Signed-off-by: Fabio Estevam <[email protected]>
2026-07-27imx9: bootaux: Support booting CM70, CM71 and CM33 sync coresAlice Guo
Support booting CM70, CM71 and CM33 sync core image by bootaux command on iMX95, iMX94 and iMX952. (iMX95 and iMX952 only supports CM70). Each core uses different core id which is defined by SM and passed in SIP call. - CM33: 0 - CM70: 1 - CM71: 7 - CM33S: 8 Prior to run bootaux to start core, prepaux is needed before loading image. Below is example for booting CM70 TCM image on iMX95. =>fatload mmc 1:1 0x90000000 rpmsg.bin =>prepaux 1 =>cp.b 0x90000000 0x203c0000 ${filesize} =>bootaux 0 1 Signed-off-by: Alice Guo <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Jacky Bai <[email protected]>
2026-07-27board: purism: Add support for the Librem5 devkitGuido Günther
Although it has similar naming the Librem 5 Devkit is a completely different design from the Librem 5 phone. It uses an imx8mq SOM from Emcraft, a separate HDMI port instead of DisplayPort, different USB-C chip, panel, etc. This is based on a Emcraft's SOM documentation, Purism's downstream fork and the available schematics of the devkit. Link: https://developer.puri.sm/Librem5/Development_Environment/Boards/imx8.html Link: https://source.puri.sm/Librem5/dvk-mx8m-bsb Co-authored-by: Angus Ainslie <[email protected]> Co-authored-by: Manuel Traut <[email protected]> Signed-off-by: Manuel Traut <[email protected]> Tested-by: Manuel Traut <[email protected]> Signed-off-by: Guido Günther <[email protected]> [fabio: Removed the arch/arm/dts/Makefile entry that does not apply and it is not needed as the board uses OF_UPSTREAM] Signed-off-by: Fabio Estevam <[email protected]>
2026-07-24fit: prefer the default configuration on best-match tiesCarlo Caione
With CONFIG_FIT_BEST_MATCH, fit_conf_find_compat() selects the configuration matching the most specific U-Boot compatible string; on equal matches the first listed configuration wins and the configurations node 'default' property is never consulted. A FIT whose configurations all share the same base devicetree compatible (e.g. one manifest carrying a base tree plus overlay combinations for a single board) therefore always boots the first configuration, silently ignoring the default chosen by the manifest author. Break score ties in favour of the default configuration. A strictly better compatible match still wins over it, and FITs without a default keep the current first-listed behaviour. Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]> Signed-off-by: Carlo Caione <[email protected]>
2026-07-23net: lwip: add tftpsrv commandJames Hilliard
The legacy network stack supports tftpsrv, which listens for an incoming TFTP write request and receives the first file into memory. Despite the old command help wording, the command returns after receiving the file and does not boot it automatically. The lwIP stack already builds the lwIP TFTP application, but only wires it up for client-side tftpboot. Add a lwIP tftpsrv command and implement the server path with tftp_init_server(). Reuse the existing lwIP TFTP write callback and memory copy path so LMB checks, progress output, filesize/fileaddr updates and EFI bootdev handling stay consistent with tftpboot. Track receive timeout and write-failure state around the lwIP callbacks so a stalled or rejected receive is not reported as a successful close. Move CMD_TFTPSRV out of the legacy-only Kconfig block so it can be enabled with either network stack. Update the command help text and add usage documentation for the receive-only behavior. Add pytest coverage for tftpsrv using a generated host file and curl's TFTP upload support. Enable the command in qemu_arm64_lwip_defconfig so the test can be run with the existing lwIP QEMU build when the boardenv provides env__net_tftpsrv_file. Signed-off-by: James Hilliard <[email protected]> [Jerome Forissier: remove trailing ':' after SPDX tag] Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2026-07-23rockchip: rk3588s: Add support for ROC-RK3588S-PCFabio Estevam
The ROC-RK3588S-PC board is an SBC made by Firefly, based on the RK3588S SoC. Add support for it. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Link: https://patch.msgid.link/[email protected] [s/ROC-PC-RK3588S/ROC-RK3588S-PC/ in commit log and diff] Signed-off-by: Quentin Schulz <[email protected]>
2026-07-23rockchip: pinctrl: use include from dts/upstreamJohan Jonker
Use Rockchip pinctrl include from dts/upstream and remove what is now redundant. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Quentin Schulz <[email protected]>
2026-07-23rockchip: pinctrl: replace RK_GPIOn definesJohan Jonker
The use of RK_GPIOn defines is deprecated in the upstream rockchip.h file. Replace all them by the gpio number. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Quentin Schulz <[email protected]>
2026-07-23rockchip: pinctrl: replace RK_FUNC_n definesJohan Jonker
The use of RK_FUNC_n defines is deprecated in the upstream rockchip.h file. Replace all them by the function number. Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Quentin Schulz <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Quentin Schulz <[email protected]>