summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-06-08configs: xilinx: Enable DFU MTD supportPadmarao Begari
Enable CONFIG_DFU_MTD and CONFIG_DM_MTD to support DFU transfers over MTD partitions, required for FWU multi-bank update using NOR flash. Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-06-08board: xilinx: Add FWU boot index supportPadmarao Begari
Add fwu_plat_get_alt_num() and fwu_plat_get_bootidx() platform callbacks required for FWU multi-bank update on Versal and Versal Gen 2. The boot index is read from the PMC Global PGGS4 register which is populated by PLM with a magic number and boot partition index. Uses firmware IOCTL when CONFIG_ZYNQMP_FIRMWARE is enabled, otherwise falls back to direct MMIO read. Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-06-08board: amd: Add capsule and FWU supportPadmarao Begari
Add configure_capsule_updates() supporting MMC, SD and QSPI/OSPI boot modes for DFU string generation. Add set_dfu_alt_info() for FWU multi-bank mode to generate DFU alt info from NOR flash MTD partitions. Add XILINX_BOOT_IMAGE_GUID for the capsule updatable firmware image. Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-06-08board: xilinx: Add capsule and FWU supportPadmarao Begari
Guard configure_capsule_updates() so it is skipped when FWU multi-bank update is enabled. Add set_dfu_alt_info() for FWU multi-bank mode to generate DFU alt info dynamically from NOR flash MTD partitions using fwu_gen_alt_info_from_mtd(). Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-06-08firmware: zynqmp: Add PMC PGGS register read APIPadmarao Begari
Add zynqmp_pm_get_pmc_global_pggs_reg() to read PMC Global PGGS3 and PGGS4 registers via firmware IOCTL. Supports IOCTL_READ_PGGS as the preferred path and falls back to IOCTL_READ_REG for older PLM firmware versions that do not support IOCTL_READ_PGGS. Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-06-08arm64: xilinx: Add PMC PGGS3 and PGGS4 registersPadmarao Begari
Add PMC Global PGGS3 and PGGS4 register defines to Versal and Versal Gen 2 hardware headers. These registers hold boot index and boot metadata required for FWU multi-bank update support. Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-06-08xilinx: mbv: Allow compiler to optimize inlining in SPLMichal Simek
Enable CONFIG_SPL_OPTIMIZE_INLINING to let the compiler decide which functions marked 'inline' to actually inline, rather than forcing all of them. This reduces SPL code size by allowing the compiler to eliminate unnecessary code duplication. spl/u-boot-spl: all -872 text -872 Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/09f2a62099abf561b91b0d3692714f0f29057d31.1777550623.git.michal.simek@amd.com
2026-06-08xilinx: mbv: Disable AVAILABLE_HARTSMichal Simek
The MicroBlaze V platform has only a single hart, so multi-hart enumeration support is unnecessary. Disable CONFIG_AVAILABLE_HARTS to reduce code size. all -121 data -12 text -109 spl/u-boot-spl: all -68 data -4 text -64 Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/511c3c05d29479a4d1410a902cc01963113c4e1a.1777550623.git.michal.simek@amd.com
2026-06-08board: zynqmp: Remove hardcoded USB ethernet initializationPranav Sanwal
usb_ether_init() called in board_late_init() when CONFIG_USB_ETHER was enabled without CONFIG_USB_GADGET_DOWNLOAD. This makes USB ethernet gadget a fixed default, with no way to opt out at runtime without a rebuild. Remove the hardcoded call. If USB ethernet gadget functionality is needed, it can be added via the preboot environment variable. Signed-off-by: Pranav Sanwal <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-06-08configs: zynqmp: Enable USB gadget download supportPranav Sanwal
USB_GADGET_DOWNLOAD enables the g_dnl composite gadget framework, allowing other functions to operate over the USB peripheral interface. Signed-off-by: Pranav Sanwal <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-06-07usb: typos 'requird', 'current'Heinrich Schuchardt
%s/requird/required/ %s/current XHCI/currently XHCI/ Reviewed-by: Marek Vasut <[email protected]> Reviewed-by: Bin Meng <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-06-07efi_loader: validate PE-COFF relocation dataHeinrich Schuchardt
When applying base relocations from a PE-COFF binary all data must be treated as untrusted. Add the following checks to efi_loader_relocate(): * Reject relocation blocks that don't start on a 32-bit aligned address. * Reject relocation blocks whose SizeOfBlock is smaller than the block header, which would cause an unsigned underflow when computing the entry count. * A block with SizeOfBlock == 0 is invalid and does not mark the end of the relocation table. * Reject relocation blocks that extend beyond the end of the relocation section. * Reject individual relocation entries whose target offset, together with the access width, exceeds the mapped image size, preventing out-of-bounds writes. Pass virt_size to efi_loader_relocate() from efi_load_pe() to enable the per-entry bounds check. Reported-by: Anas Cherni <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2026-06-07dtoc: test: add missing escape in help textFrancesco Valla
A single percent sign might be interpreted as a string format directive and shall thus be escaped - doubling it - to actually indicate a percentage. Without the escape, pytest fails to run test_fdt.py with the following error: ValueError: Test coverage failure fdt code coverage: Traceback (most recent call last): File "/usr/lib64/python3.14/argparse.py", line 1748, in _check_help formatter._expand_help(action) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^ File "/usr/lib64/python3.14/argparse.py", line 676, in _expand_help return help_string % params ~~~~~~~~~~~~^~~~~~~~ TypeError: %c requires an int or a unicode character, not dict The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/user/u-boot/./tools/dtoc/test_fdt", line 1002, in <module> sys.exit(main()) ~~~~^^ File "/home/user/u-boot/./tools/dtoc/test_fdt", line 987, in main parser.add_argument('-T', '--test-coverage', action='store_true', ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ default=False, ^^^^^^^^^^^^^^ help='run tests and check for 100% coverage') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.14/argparse.py", line 1562, in add_argument self._check_help(action) ~~~~~~~~~~~~~~~~^^^^^^^^ File "/usr/lib64/python3.14/argparse.py", line 1750, in _check_help raise ValueError('badly formed help string') from exc ValueError: badly formed help string Fixes: 7640b166604e ("test_fdt: Convert to use argparse") Signed-off-by: Francesco Valla <[email protected]>
2026-06-07doc: Update urllib3 version for buildingTom Rini
The GitHub dependabot tool has reported two "high" priority bug, CVE-2026-44431 and CVE-2026-44432, with this package. Update to the patched version. Reported-by: GitHub dependabot Signed-off-by: Tom Rini <[email protected]>
2026-06-05Merge tag 'u-boot-imx-next-20260605' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/30357 - Several conversions to OF_UPSTREAM. - Improvements for TQMa6UL boards. - Add iMX8MP UltraLite Part CPU type.
2026-06-05Merge patch series "rtc: pcf85036: improve spec coherence and extend features"Tom Rini
Alexander Feilke <[email protected]> says: This series fixes some spec inconsistencies and oversimplifications in the initial PCF85063 support, and adds some missing features from mainline linux v6.19. [trini: Make a minor correction to the Kconfig help that Alexander Sverdlin noted in review] Signed-off-by: Tom Rini <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-06-05drivers: Kconfig: rtc_pcf85063: note unsupported chip featuresAlexander Feilke
Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05rtc: pcf85063: add power loss detection during probeAlexander Feilke
Retrofit from upstream linux to try resetting the device after power loss. Reviewed-by: Alexander Sverdlin <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05rtc: pcf85063: support loading quartz-load capacitance from device treeAlexander Feilke
Use previously ignored quartz-load-femtofarads property from device tree to set load capacitance. If missing, leave the device unconfigured as a default might have been set. force_cap is left out for now but can be retrofitted in the future as there may be different hardware without the 12.500pF flag. Reviewed-by: Alexander Sverdlin <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05rtc: pcf85063: keep the divider chain in reset during set_timeAlexander Feilke
Sync from upstream linux v6.19. Reviewed-by: Alexander Sverdlin <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05rtc: pcf85063: add missing register definitionsAlexander Feilke
Sync definitions from upstream linux v6.19. Reviewed-by: Alexander Sverdlin <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05rtc: pcf85063: add support for NXP PCF85063 familyAlexander Feilke
Supported devices: - generic PCF85063 / PCF85063TP (no alarm regs) - PCF85063A / PCF85073A (alarm regs) Tested with TQMa8MPxL SOM from TQ-Systems GmbH. Also add missing .data field to rv8263 which represents the number of available registers (= linux `pcf85063_config.max_register + 1`). Signed-off-by: Markus Niebel <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05rtc: pcf85063: adjust date format to adhere to the rtc_time specAlexander Feilke
The rtc_time documentation in rtc_def.h notes a differences to the common "struct time" that specifies tm_mon as 1 ... 12 and tm_year as year since 0. Also trim register values to valid bits. Fixes: 1c2a2253f798 ("drivers: rtc: add PCF85063 support") Reviewed-by: Alexander Sverdlin <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05cmd: date: validate date using rtc_month_days()Markus Niebel
The old check accepted day 0 as well as Feb 29th in non-leap years. With this change, both day and month 0 are rejected, and the local day limit logic is now handled by rtc_month_days(), which correctly accounts for month length and leap years. In the 'MMDDhhmm' format case, tm_year is not initialized by mk_date(). The leap-year calculation in rtc_month_days() therefore depends on the value provided by the caller, which do_date() does, via dm_rtc_get(). This is pre-existing behaviour, but is now made more explicit. Signed-off-by: Markus Niebel <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Alexander Sverdlin <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05cmd_date: make mk_date() staticAlexander Feilke
Use static as this function is not used externally. Signed-off-by: Alexander Feilke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-06-05cpu: imx8_cpu: fix the mpidr checkPeng Fan
The mpidr's type is u32, however dev_read_addr returns a value with type fdt_addr_t(phys_addr_t) which is 64bit long. So the check never fail. This patch we still keep mpidr as u32 type, because i.MX8 only has max two cluster, the higher 32bit will always be 0. Use a variable addr to do the check, if check pass, assign the lower 32 bit to plat->mpidr. Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Ye Li <[email protected]>
2026-06-05cpu: imx8_cpu: Add iMX8MP UltraLite Part cpu typeYe Li
iMX8MP UltraLite part is missed in the cpu type print Signed-off-by: Ye Li <[email protected]> Acked-by: Peng Fan <[email protected]>
2026-06-05boards: tqma7: call tq-sysinfo setupAlexander Feilke
Probe TQ sysinfo drivers to print device info from eeprom during boot. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05arm: dts: tqma7: integrate tq,eeprom sysinfo driverAlexander Feilke
Add sysinfo node for tq,eeprom sysinfo driver. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05arm: dts: tqma7: add eeprom nvmem-layoutAlexander Feilke
TQMa7 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. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05board: tq: common: add sysinfo setup helperNora Schiffer
Add a setup helper based on the tq_eeprom sysinfo driver and set up the U-Boot environment. Signed-off-by: Nora Schiffer <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05sysinfo: tq_eeprom: new driverNora Schiffer
Introduce a sysinfo driver that can be instantiated from the device, which will provide information from the EEPROM found on all TQ-Systems SoMs. Signed-off-by: Nora Schiffer <[email protected]> Signed-off-by: Max Merchel <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05sysinfo: add sysinfo_get_and_detect() helperNora Schiffer
sysinfo_detect() is commonly called after sysinfo_get(). Make the API a bit more convenient to use by introducing a helper. Signed-off-by: Nora Schiffer <[email protected]> Signed-off-by: Alexander Feilke <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-06-05sysinfo: uclass: use sysinfo_priv size for per_device_autoNora Schiffer
Reference the struct itself for the size as it is more robust, even if it contains just a bool at the moment. Signed-off-by: Nora Schiffer <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05arm: imx9: Fix broken formattingMarek Vasut
Fix ad-hoc tabs and spaces use, convert to tabs. Drop bogus duplicate asterisk from non-kerneldoc code comments. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2026-06-05clk: imx: don't build i.MX/RTxxxx code for all users of CCFAlexander Sverdlin
When commit 1d7993d1d0ef ("clk: Port Linux common clock framework [CCF] for imx6q to U-boot (tag: v5.1.12)") introduced the parts of Linux Common Clock Framework, it was done for i.MX6 only and even had "depends on SPL_CLK_IMX6Q" conditions. Since commit ccab06689aa2 ("clk: imx: expose CCF entry for all") the framework can be reused with SoCs of other vendors (say, TI), but NXP SoC-specific code is still being build. It is especially problematic for size-constrained SPL images on TI AM62x. Make the build of the i.MX/RTxxxx code not only dependent on CONFIG_$(PHASE_)CLK_CCF, but also on CONFIG_MACH_IMX options which shall cover the i.MX platform users. This saves 2264 bytes on 32-bit ARM platforms [using CCF]. Reviewed-by: Peng Fan <[email protected]> Signed-off-by: Alexander Sverdlin <[email protected]>
2026-06-05imx: kontron-sl-mx6ul: Enable I2C supportFrieder Schrempf
Enable the driver to support using I2C interfaces. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-05arch: imx9: Fix blk_dwrite/blk_derase error checkingFrancois Berder
blk_dwrite/blk_derase returns the number of blocks written/erased. The existing check allowed partial writes or partial erase to be considered successful. Fix error handling of blk_dwrite/blk_derase by checking that return value corresponds to the number of blocks written/erased. Signed-off-by: Francois Berder <[email protected]>
2026-06-05arm: imx8mp: Add new variant parts supportYe Li
iMX8MP added 4 new variant parts for low cost industrial and HMI. The parts disabled HIFI DSP and ISP while other functions are enabled. Part number: - MIMX8ML2DVNLZAB and MIMX8ML2CVNKZAB (2-core) - MIMX8ML5DVNLZAB and MIMX8ML5CVNKZAB (4-core) Signed-off-by: Ye Li <[email protected]>
2026-06-05board: tqma7: update fastboot envAlexander Feilke
Replace magic value with documented variable. While at it, restrict fastboot env guard to USB as its the only supported fastboot method. Fixes d000ce5efee3 ("board: tqma7: add code for u-boot with spl") Signed-off-by: Alexander Feilke <[email protected]>
2026-06-05arm: gic-v3-its: Fix LPI pending table size calculationLyrix liu
The variable `pend_tab_total_sz` is calculated using the macro `LPI_PENDBASE_SZ`, which depends on the global variable `lpi_id_bits`. However, `lpi_id_bits` is initialized later in the function based on the GICD_TYPER register. This results in `pend_tab_total_sz` being calculated with an uninitialized `lpi_id_bits` value (0), This leads to the LPI pending tables being mapped with an incorrect size. Fixes: 60b9b47d295b ("Revert "arch: arm: use dt and UCLASS_SYSCON to get gic lpi details"") Signed-off-by: Lyrix liu <[email protected]> Signed-off-by: Ye Li <[email protected]>
2026-06-05configs: add defconfigs for TQMa6UL[L]x[L] SOM on MBa6ULx baseboardMax Merchel
work around ERR11115: The lower part of the OCRAM is unusable on i.MX6UL mask revision 2N52P with date code before 9/22/2017. Adjust CONFIG_SPL_TEXT_BASE and CONFIG_SPL_MAX_SIZE accordingly to fix boot on these SoCs. Signed-off-by: Max Merchel <[email protected]>
2026-06-05board: tq: add TQMa6UL[L]x[L] SOM and MBa6ULx baseboardNora Schiffer
The TQMa6UL[L]x is a family of SoMs based on the i.MX6UL[L] SoCs. They are available either with board connectors or as LGA packages with solder balls. Add Support for the SoM and its combination with our MBa6ULx carrier board. For use with the MBa6ULx carrier board, the LGA variant is soldered onto an adapter board. Signed-off-by: Nora Schiffer <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-06-05ARM: dts: tqma6ul: add boot phase propertiesMax Merchel
Add boot phase properties from U-Boot device tree. Patches are integrated into Linux v7.1-rc1. Revert this commit once the upstream linux device trees are synchronized. Signed-off-by: Max Merchel <[email protected]>
2026-06-05ARM: dts: add TQMa6UL[L]x[L] u-boot device tree fragmentsMax Merchel
Add u-boot specific device tree properties. Signed-off-by: Max Merchel <[email protected]>
2026-06-05imx: Remove hardcoded watchdog base address macrosAlice Guo
The watchdog base addresses are now obtained from the devicetree via ofnode_* functions. Remove the hardcoded macro definitions as they are no longer needed. Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-05watchdog: ulp_wdog: Use driver model for reset_cpu()Alice Guo
Replace hardcoded WDOG_BASE_ADDR with driver model based dynamic address lookup from device tree, allowing reset_cpu() to dynamically locate watchdog devices from device tree. This change also enables CONFIG_WDT for relevant boards and ensures the watchdog nodes are available for driver model usage. - Remove hardcoded WDOG_BASE_ADDR from hw_watchdog_* functions - Reimplement reset_cpu() using UCLASS_WDT device iteration - Add ulp_wdt_expire_now() callback for standard WDT interface - Pass wdog register pointer to hw_watchdog_set_timeout() - Enable CONFIG_WDT for boards using ULP watchdog - Remove wdog3 status = "disabled" overrides from U-Boot device tree overlays, as the watchdog device needs to be accessible for driver model based reset functionality. Signed-off-by: Alice Guo <[email protected]> Acked-by: Francesco Dolcini <[email protected]> # Toradex boards Reviewed-by: Peng Fan <[email protected]>
2026-06-05imx: soc: Get watchdog base addresses from device treeAlice Guo
Replace hardcoded watchdog base addresses with dynamic address lookup from device tree for i.MX7ULP, i.MX8ULP, i.MX91, i.MX93, i.MX943, i.MX95 and i.MX952. Move i.MX7ULP watchdog initialization from s_init() to arch_cpu_init() because ofnode_* APIs depend on FDT, which is not available during s_init(). Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-05arm: dts: imx: Update watchdog nodes for dynamic base address lookupAlice Guo
Update watchdog device tree nodes to enable dynamic base address retrieval for i.MX7ULP, i.MX8ULP, i.MX91, i.MX93, i.MX943, i.MX95 and i.MX952. This allows the bootloader to obtain watchdog base addresses from the device tree instead of using hardcoded values. - imx7ulp: Add wdog2 node - imx8ulp: Mark wdog3 available - imx91/imx93: Add wdog4 and wdog5 nodes Mark wdog3/wdog4/wdog5 available - imx943: Add wdog4 node and mark wdog3/wdog4 available - imx95/imx952: Add wdog4 node and mark wdog3/wdog4 available Watchdog nodes are marked with "bootph-all" to ensure availability during early boot stages when init_wdog() occurs. Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-05imx93_var_som: Switch to OF_UPSTREAMAlice Guo
Enable OF_UPSTREAM and remove local device tree files in favor of upstream device trees from Linux kernel. Signed-off-by: Alice Guo <[email protected]>