summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-07-27doc: board: renesas: Document Renesas R-Car Gen5 RSIP Cortex-R52 startMarek Vasut
Document the usage of remoteproc on R-Car Gen5 RSIP U-Boot port and clarify how to start Cortex-R52 cores from U-Boot on RSIP. Signed-off-by: Marek Vasut <[email protected]>
2026-07-27doc: Switch from printenv to env printMarek Vasut
The "env" command is the recommended environment management command, its "print" subcommand is the equivalent replacement for legacy "printenv" command. Update the documentation to use the contemporary "env print" command instead of legacy "printenv" command. Note that the "printenv" command is unlikely to be removed from U-Boot in the near future due to it being integral part of the command line ABI. Implemented using: $ sed -i 's@\<printenv\>@env print@g' $(git grep -li '\<printenv\>' doc/) README Signed-off-by: Marek Vasut <[email protected]>
2026-07-27doc: Switch from setenv to env setMarek Vasut
The "env" command is the recommended environment management command, its "set" subcommand is the equivalent replacement for legacy "setenv" command. Update the documentation to use the contemporary "env set" command instead of legacy "setenv" command. Note that the "setenv" command is unlikely to be removed from U-Boot in the near future due to it being integral part of the command line ABI. Implemented using: $ sed -i 's@\<setenv\>@env set@g' $(git grep -li '\<setenv\>' doc/) README Signed-off-by: Marek Vasut <[email protected]>
2026-07-27doc: thead: lpi4a: detail how to enable fastbootMichael Opdenacker
Add that the "BOOT" button must be used to switch the board to fastboot mode. Signed-off-by: Michael Opdenacker <[email protected]> Reviewed-by: Yao Zi <[email protected]>
2026-07-27efi_loader: set correct frame buffer addressHeinrich Schuchardt
If we use video copy, bit image transfers need to write to the in memory copy of the physical frame buffer. Damage control will sync the changes to the physical frame buffer. Cyclic video copy will catch all changes done by EFI applications directly accessing the frame buffer copy. gopobj->mode.fb_base must be a valid pointer to memory and not a virtual sandbox address. With this change the block image transfer test works again on the sandbox. setenv efi_selftest block image transfer bootefi selftest Fixes: a75cf70d23ac ("efi: Correct handling of frame buffer") Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-07-27board: gateworks: fsa: bound FSA EEPROM gpio descriptor countChristopher Kleiner
fsa_user_info.gpios[] is a fixed 20-element array, but the number of descriptors iterated and indexed comes from the FSA add-on board EEPROM: board_info.sockgpios and board_info.ioexpgpios are u8 fields (up to 255 each) read via dm_i2c_read() with no upper bound. fsa_config_gpios(), invoked automatically at boot from fsa_init(), loops over info->gpios[i] for i < sockgpios + ioexpgpios, reading past the 20-element array (an out-of-bounds stack read whose contents are then used to configure GPIOs and build names). do_fsa_gpio() validates the console-supplied index only against the same EEPROM counts, so "fsa gpio <i> ..." can memcpy() a descriptor to user_info.gpios[i] for i up to 254 -- an out-of-bounds stack write that is then written back to the EEPROM. A malicious or swapped FSA add-on board EEPROM (only a valid checksum is required, which the attacker can compute) thus yields OOB accesses on the boot path and via the console command. Clamp the descriptor count to ARRAY_SIZE(info->gpios) before iterating, and reject any console index outside the array. Fixes: da9e2218afc2 ("board: venice: add FSA support") Signed-off-by: Christopher Kleiner <[email protected]>
2026-07-27configs: tqma6ul: add support for redundant environmentAlexander Feilke
Activate the redundant environment and set the required offset. Signed-off-by: Alexander Feilke <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-07-27board: tqma6: add kernel device tree handling for environmentPaul Gerber
Set the environment variable 'fdtfile' depending on ENET workaround detection. The function tqma6_get_fdt_configuration is implemented to be reusable for configuration detection in multi-DTB FIT image and therefore returns the devicetree name without the '.dtb' ending. Set fdtfile only if CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG is enabled and it is currently unset. The model string is loaded from the device tree variant. Therefore, the overriding of the model string is being removed. Signed-off-by: Paul Gerber <[email protected]> Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-07-27board: tqma6: implement ENET errata workaround detectionMarkus Niebel
TQMa6 SOM beginning with hardware rev. 0200 comes in two flavours: With and without a hardware workaround for ENET errata err006687. Therefore we need two flavours of device tree. To be able to detect the presence of the workaround we need to check GPIO1_6 is connected to I2C bus or not. If the I2C bus is detected, the workaround is not used and separate I2C buses are used for the SoM and the baseboard. Later on this detection will be used to select the correct devicetree at runtime. Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-07-27board: tqma6: use runtime SoC detection in enet setupMax Merchel
Select the appropriate iomux settings based on the CPU type during ethernet configuration. Signed-off-by: Paul Gerber <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-07-27dts: tqma6: mba6: remove old device treesMax Merchel
No longer required due to the use of upstream device trees. Signed-off-by: Max Merchel <[email protected]>
2026-07-27ARM: dts: tqma6: add boot phase propertiesMax Merchel
Add boot phase properties from U-Boot device tree. This commit can be reverted if changes are integrated in upstreem device trees and synced with U-Boot. Signed-off-by: Max Merchel <[email protected]>
2026-07-27board: tqma6: change U-Boot device tree fragmentsMarkus Niebel
We will need GPIO to distinguish between SOM variants with / without workaround for ENET errata. This is necessary to implement the appropriate solution and remove code intended for the non-DM use case. To support reuse, split them in SOM and baseboard specific parts. Prepare fragments for use with SPL. Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-07-27rtc: snvs: Add i.MX SNVS RTC driverAlexander Koch
Add simple driver for i.MX SNVS RTC IP present in NXP i.MX SoCs. Signed-off-by: Alexander Koch <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2026-07-27arm64: imx: Handle both MMC2 and SD2 boot devices on Data Modul i.MX8M Mini ↵Marek Vasut
eDM SBC Handle both MMC2 and SD2 boot devices as SDMMC device 1 on Data Modul i.MX8M Mini eDM SBC. In case the system boots from a microSD card, the BootROM reports boot device as SD2_BOOT instead of MMC2_BOOT. Continue booting from that SDMMC device instead of falling back to SDP. Note that SDMMC device 1 is the microSD slot on this device, SDMMC device 2 is the eMMC, but BootROM reports the numbers the other way around, hence the potential confusion in this commit message. Fixes: 0b97a394f6b7 ("ARM: imx: Replace YModem with SDP on Data Modul i.MX8M Mini eDM SBC SPL") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-07-27toradex: tdx-cfg-block: Add verdin am62 0242 pid4Vitor Soares
Add the new 0242 PID4 to config block handling: - 0242 Verdin AM62 Dual 1GB WB ET Update the board-specific variant selection to use the Wi-Fi variant for the new WB SKU. Signed-off-by: Vitor Soares <[email protected]>
2026-07-27toradex: tdx-cfg-block: Add smarc imx8mp 0240 pid4Vitor Soares
Add the new 0240 PID4 to config block handling: - 0240 SMARC iMX8M Plus Quad 4GB WB IT Signed-off-by: Vitor Soares <[email protected]>
2026-07-27toradex: tdx-cfg-block: Add verdin imx8mm 0239 pid4Vitor Soares
Add the new 0239 PID4 to config block handling: - 0239 Verdin iMX8M Mini Quad 2GB WB IT Update the board-specific variant selection to use the Wi-Fi variant for the new WB SKU. Signed-off-by: Vitor Soares <[email protected]>
2026-07-27toradex: tdx-cfg-block: Add verdin imx8mp 64gb emmc pid4sVitor Soares
Add the new Verdin iMX8M Plus 64GB eMMC PID4s to config block handling: - 0236 Verdin iMX8M Plus Quad 4GB WB IT - 0237 Verdin iMX8M Plus Quad 4GB IT - 0238 Verdin iMX8M Plus Quad 8GB WB IT Update the board-specific variant selection to use the Wi-Fi variant for the new WB SKUs. Signed-off-by: Vitor Soares <[email protected]>
2026-07-27toradex: tdx-cfg-block: Add apalis imx8qm 64gb emmc pid4sVitor Soares
Add the new Apalis iMX8QM 64GB eMMC PID4s to config block handling: - 0233 Apalis iMX8QM 4GB WB IT - 0234 Apalis iMX8QM 4GB IT - 0235 Apalis iMX8QM 8GB WB IT Signed-off-by: Vitor Soares <[email protected]>
2026-07-27toradex: tdx-cfg-block: Add aquila tda4 0230 pid4Vitor Soares
Add the new 0230 PID4 to config block handling: - 0230 Aquila TDA4 Octa 8GB IT Signed-off-by: Vitor Soares <[email protected]>
2026-07-27toradex: tdx-cfg-block: Add smarc imx95 0229 pid4Vitor Soares
Add the new 0229 PID4 to config block handling: - 0229 SMARC iMX95 Hexa 4GB IT Signed-off-by: Vitor Soares <[email protected]>
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: scmi: Update get mac from fuse for iMX952Ye Li
Since iMX952 only has 2 pf and 2 vf, update the imx_get_mac_from_fuse to adapt this layout. Signed-off-by: Ye Li <[email protected]>
2026-07-27test: py: load: check null_dev_desc_ok dispatchVincent Jardin
Some pytest modules exercising the dispatch added by fs: dispatch null_dev_desc_ok filesystems before lookup test_load_semihosting.py: "load semihosting - <addr> <file>" and the optional [bytes] [pos] variant. Runs on qemu_arm64 with CONFIG_SEMIHOSTING=y; reuses test_hostfs.py's host-staged fixture. test_load_sandbox.py: "load sandbox - <addr> <file>" and the optional [bytes] [pos] variant. Runs on sandbox (boardspec('sandbox')); the sandbox fstype is registered with name="sandbox" and null_dev_desc_ok=true, so the same fs_lookup_null_dev_info() helper that routes semihosting also routes the "sandbox". A "load ubifs - <addr> <file>" test is intentionally not provided. UBIFS is built on UBI on MTD, which requires some additional works that are not available with qemu/sandbox-ing. Signed-off-by: Vincent Jardin <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-07-27doc: usage: cmd: load: null-block-deviceVincent Jardin
Document the dispatch path added by the former commit fs: dispatch null_dev_desc_ok filesystems before lookup Add a null-block-device interfaces section that: * lists the three fstypes that can benefit of it (semihosting, ubifs, sandbox) and the CONFIG option that builds each * explains the '-' convention for the unused <dev[:part]> field Suggested-by: Simon Glass <[email protected]> Signed-off-by: Vincent Jardin <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-07-27fs: dispatch null_dev_desc_ok filesystems before lookupVincent Jardin
Filesystems that are null_dev_desc_ok (semihosting, ubifs) have no UCLASS_BLK device under their ifname, so on real hardware fs_set_blk_dev() always fails at the partition lookup. The workaround was to add a per-filesystem command (example cmd/ubifs.c), which duplicates the plumbing of fstype_info. Probe such entries with block_desc=NULL up front, so load semihosting - <addr> <file> works without a new command. Sandbox boards that exercise the existing fallback through "host bind" stay unchanged. Signed-off-by: Vincent Jardin <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-07-27imx93_frdm: Add OP-TEE device tree nodeMathieu Dubois-Briand
Add missing firmware/optee node, so is can be both used and copied into Linux device tree by optee_copy_firmware_node(). This is consistent with other i.MX93 boards. Signed-off-by: Mathieu Dubois-Briand <[email protected]>
2026-07-27arm64: dts: imx8mn: Drop nxp,fspi-header-filenameMarek Vasut
The FSPI header is now generated purely using binman, drop no longer supported nxp,fspi-header-filename property. Acked-by: Peng Fan <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2026-07-27arm64: dts: imx8mm: Drop nxp,fspi-header-filenameMarek Vasut
The FSPI header is now generated purely using binman, drop no longer supported nxp,fspi-header-filename property. Acked-by: Peng Fan <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2026-07-27binman: imx8mimage: Generate FSPI header in binman instead of mkimageMarek Vasut
Stop depending on the current mkimage method of generating the FSPI header, instead generate the FSPI header within binman itself. This is more flexible, as the FSPI header properties can be configured from within the board-specific DT instead of being hard-coded in mkimage at build time. Acked-by: Peng Fan <[email protected]> Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-07-27ge: common: vpd_reader: fix errloc array size in verify_bch()Md Shofiqul Islam
errloc stores bit positions of errors returned by decode_bch(). The maximum number of correctable errors is ecc_bits, so errloc must have ecc_bits entries. The array was allocated with data_length entries instead, which is the number of EEPROM data bytes -- orders of magnitude larger than needed and incorrect. Fixes: b418dfe16e62 ("board: ge: make VPD code common") Signed-off-by: Md Shofiqul Islam <[email protected]>
2026-07-27boards: tqma6ul: select TQ_COMMON_SYSINFOMax Merchel
Select TQ_COMMON_SYSINFO to use the tq_eeprom sysinfo driver to read and print module EEPROM data. Signed-off-by: Max Merchel <[email protected]>
2026-07-27arm: dts: tqma6ul: integrate tq,eeprom sysinfo driverMax Merchel
Add sysinfo node for tq,eeprom sysinfo driver. Signed-off-by: Max Merchel <[email protected]>
2026-07-27arm: dts: tqma6ul: add eeprom nvmem-layoutMax Merchel
TQMa6UL has board-information located in EEPROM at offset 0x20. Add necessary nodes and properties for nvmem-cells. Revert this commit once the upstream linux device trees are accepted and synchronized. Signed-off-by: Max Merchel <[email protected]>
2026-07-27sysinfo: tq_eeprom: select NVMEMMax Merchel
The SYSINFO_TQ_EEPROM driver requires NVMEM to access the SoM EEPROM. Signed-off-by: Max Merchel <[email protected]>
2026-07-27arm64: dts: imx8m: Reinstate TEE ifdefferyMarek Vasut
Since b57ed147939c ("dts: imx8m{m,n,p,q}: Make optee packaging optional") the TEE node is always present in U-Boot proper fitImage, even if the CONFIG_OPTEE is disabled because the u-boot.itb should not contain any tee.bin. This is wasteful, and produces the following warning which is also confusing to users: " Image 'image' is missing optional external blobs but is still functional: tee-os /binman/section/fit/images/tee/tee-os (tee.bin): See the documentation for your board. You may need to build Open Portable Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin " Reinstate the CONFIG_OPTEE ifdeffery to mitigate the problem, but retain the binman "optional" keyword at tee.bin . Before: " $ mkimage -l u-boot.itb FIT description: Configuration to load ATF before U-Boot Created: Tue Jun 30 17:23:54 2026 Image 0 (uboot) ... Image 2 (tee) <------------------------------ bogus empty image entry Description: OP-TEE | Created: Tue Jun 30 17:23:54 2026 | Type: Trusted Execution Environment Image | Compression: uncompressed | Data Size: 0 Bytes = 0.00 KiB = 0.00 MiB <--------' Image 3 (fdt-1) ... " After: " $ mkimage -l u-boot.itb FIT description: Configuration to load ATF before U-Boot Created: Tue Jun 30 17:58:15 2026 Image 0 (uboot) ... Image 1 (atf) ... Image 2 (fdt-1) ... " Fixes: b57ed147939c ("dts: imx8m{m,n,p,q}: Make optee packaging optional") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-07-27mx6: ddr: Subtract half a cycle instead of three quarters of a cycle after ↵Marek Vasut
DQS gating calibration The current DRAM calibration sequence is implemented based on NXP AN4467 Rev.2 03/2015, which in chapter "12.3.2 Calibration Sequence Setup with Predefined Data Content" states: " 9. For each of the DQSx: - Read the HW_DG_UPx value from the MMDC0/1_MPDGHWSTx, subtract the value of 0xc0 (3/4 cycle). " However, the i.MX 6Solo/6DualLite Applications Processor Reference Manual, Rev. 5, 05/2020, chapter "45.11.3.1.2 Hardware DQS Calibration with pre-defined value" states: " 35. Set (MPDGHWSTn[HW_DG_UPn][10:7] - 1) to MPDGCTRLn[DG_HC_DELn]. (We set the DQS gating value to be the upper limit value minus 1 half cycle) " The i.MX 6Dual/6Quad Applications Processor Reference Manual, Rev. 6, 05/2020, chapter 44.11.3.1.2 Hardware DQS Calibration with pre-defined value lists the same information. So do the following manuals: - i.MX 6DualPlus/6QuadPlus Applications Processor Reference Manual, Rev. 3, 05/2020 chapter 46.11.3.1.2 Hardware DQS Calibration with pre-defined value - i.MX 6SoloX Applications Processor Reference Manual, Rev. 4, 05/2020 chapter 40.11.3.1.2 Hardware DQS Calibration with pre-defined value - i.MX 6UltraLite Applications Processor Reference Manual, Rev. 2, 03/2017 chapter 33.11.3.1.2 Hardware DQS Calibration with pre-defined value - i.MX 6ULL Applications Processor Reference Manual, Rev. 1, 11/2017 chapter 35.11.3.1.2 Hardware DQS Calibration with pre-defined value - i.MX 6ULZ Applications Processor Reference Manual, Rev. 0, 10/2018 chapter 29.11.3.1.2 Hardware DQS Calibration with pre-defined value The NXP MMDC DDR Stress Test (3.0.0) tool seems to be have the same way as the later document rather than the AN4467 application note, and produces values similar to the values with subtracted 1/2 cycle. Adjust the behavior to match the more recent Reference Manual and the MMDC calibration tool. Winbond W634GU6RB does show sporadic signs of instability without this correction. Signed-off-by: Marek Vasut <[email protected]> Tested-by: Christoph Niedermaier <[email protected]>
2026-07-27arm: dts: imx943-evk: Add label for gpio expander devicesYe Li
Because the i2c address of some gpio expander devices are same, so in dts they have same node name which lead to same gpio device name. Users can't get the GPIO through GPIO API or GPIO command. Add the label to each gpio expander node, hence give unique name. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-07-27imx9: scmi: reset GPIO2 according its node statusPeng Fan
Check the GPIO2 dts node status to determine reset it or not. On iMX952 single SPL/U-Boot image is shared for both mx952evk and mx952evkrpmsg SM configs. GPIO2 is assigned to M7 domain in mx952evkrpmsg, and there is no active user of GPIO2 for mx952evk and mx952evkrpmsg in SPL/U-Boot, so it is disabled in DTS. Otherwise, reset GPIO2 will meet hang when working with mx952evkrpmsg SM. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[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-27imx9: bootaux: Support authenticate signed Mcore container imageYe Li
Add new command bootaux_cntr to replace bootaux in secure boot (CONFIG_AHAB_BOOT=y) to authenticate signed M33 core image. The M33 image must be packed in container format and signed. bootaux_cntr supports Mcore image loaded to TCM or run as FlexSPI NOR XIP. Signed-off-by: Ye Li <[email protected]> [fabio: Adapted to use gd->dram[i]] Signed-off-by: Fabio Estevam <[email protected]>
2026-07-27Merge https://git.u-boot-project.org/u-boot/custodians/u-boot-riscvTom Rini
CI: https://git.u-boot-project.org/u-boot/custodians/u-boot-riscv/-/pipelines/740 - some fixes - Add Yao Zi as a reviewer
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-27doc: android: refresh AVB provenance and pin libavb referenceIgor Opaniuk
Note that verification is performed by the libavb copy vendored under lib/libavb/ (AVB version 1.3.0) and which parts are U-Boot-specific, and pin the README reference to the exact upstream commit the vendored copy corresponds to instead of a moving master branch. Signed-off-by: Igor Opaniuk <[email protected]>
2026-07-27libavb: update to AOSP 1.3.0Igor Opaniuk
Re-sync the vendored libavb from AOSP external/avb, moving from the ~2019 snapshot (v1.1.0) to v1.3.0. v1.1.0 rejected any vbmeta whose required libavb minor version was greater than 1 with UNSUPPORTED_VERSION; this lifts that ceiling and picks up the accumulated upstream fixes. Synced from commit a1fe228b8654 ("libavb: support chain partition no ab"), which is where AVB version 1.3.0 was introduced; the vendored files match this commit verbatim except for the -Wstrict-prototypes fixup noted below. For more details check [1]. Functionality now parsed by the library: - AvbVBMetaImageHeader.rollback_index_location (v1.2) - AvbChainPartitionDescriptor flags / DO_NOT_USE_AB (v1.3) - AvbHashtreeDescriptor FLAGS_CHECK_AT_MOST_ONCE - AVB_HASHTREE_ERROR_MODE_PANIC The AvbOps callback set is unchanged, so the integration layer in common/avb_verify.c needs no changes. U-Boot-specific adaptations are preserved rather than pulling upstream's BoringSSL-oriented crypto restructure (sha/, boringssl/): the U-Boot port in avb_sysdeps.h / avb_sysdeps_posix.c and the flat avb_sha.h / avb_sha256.c / avb_sha512.c are kept as-is. The SHA API signatures are unchanged, so the retained implementation is compatible with the updated code. Imported files keep U-Boot's SPDX-License-Identifier header style and their upstream per-file licenses (avb_rsa.c stays MIT OR BSD-3-Clause). The unused, Apache-2.0-licensed avb_crc32.c is not imported. The import keeps U-Boot's existing local fix from commit fbfcb614e05 ("libavb: Fix a warning with clang-15"): avb_new_cmdline_subst_list() is kept with a (void) parameter list instead of reverting to upstream's empty () form, which clang rejects under -Werror,-Wstrict-prototypes. [1] https://android.googlesource.com/platform/external/avb/+/a1fe228b86543a21739c51352f5ce72f134fccfa Signed-off-by: Igor Opaniuk <[email protected]>
2026-07-26serial: sifive: remove busy-loops from getc and putc opsNaveen Kumar Chaudhary
The DM serial framework in __serial_getc() and __serial_putc() already retries when driver ops return -EAGAIN, calling schedule() between attempts to service the watchdog. sifive_serial_getc() and sifive_serial_putc() spin internally on -EAGAIN, which prevents the framework from calling schedule(). This can lead to watchdog timeouts when waiting for RX data or TX FIFO space. Remove the busy-loops and return -EAGAIN directly from the underlying helpers, letting the framework handle retries with proper watchdog servicing. This is consistent with how other DM serial drivers (pl01x, meson, cortina, etc.) implement their ops. Signed-off-by: Naveen Kumar Chaudhary <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2026-07-26riscv: remove log_debug() in enable_caches()Charles Perry
log_debug() cannot be used before log_init() has been called. Remove the log_debug() statement in enable_caches() since it is called before log_init() in initcall_run_r(). This fixes a bug where a RISC-V system which does not have the "zicbom" extension (such as PIC64-HPSC/HX) would get lost in an infinite loop in log_dispatch(). Fixes: 9e859849e2ca ("riscv: cache: Add CBO instructions") Signed-off-by: Charles Perry <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>