summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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]>
2026-06-05imx93-frdm: Switch to OF_UPSTREAMAlice Guo
Switch the i.MX93 FRDM board to use the upstream device tree instead of maintaining a local copy. Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-05imx91: Switch to OF_UPSTREAMAlice Guo
Migrate i.MX91 boards to use OF_UPSTREAM feature, which allows U-Boot to directly use device trees from the Linux kernel upstream. Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-05imx7ulp: Switch to OF_UPSTREAMAlice Guo
Migrate i.MX7ULP boards to use OF_UPSTREAM feature, which allows U-Boot to directly use device trees from the Linux kernel upstream. Signed-off-by: Alice Guo <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-05imx8mp: msc-sm2s: Switch to OF_UPSTREAMPeng Fan
In Upstream Linux, the board dts is imx8mp-msc-sm2s-ep1.dts which is also showed in msc_sm2s_imx8mp_defconfig:CONFIG_DEFAULT_FDT_FILE. Upstream file imx8mp-msc-sm2s.dtsi is almost same as U-Boot imx8mp-msc-sm2s.dts, so directly use imx8mp-msc-sm2s-ep1.dts as U-Boot device tree and rename the u-boot.dtsi to imx8mp-msc-sm2s-ep1-u-boot.dtsi. Signed-off-by: Peng Fan <[email protected]>
2026-06-05imx8mm: pgh: Switch to OF_UPSTREAMPeng Fan
The U-Boot copy of the board device trees for this board is almost same as the ones in dts/upstream except some differences in display which not impact U-Boot as of now, so switch to the board to OF_UPSTREAM, by dropping the U-Boot copies and selecting OF_UPSTREAM. There are some changes in imx8mm-tqma8mqml.dtsi regarding sdhc2 supply, select DM_PMIC_PCA9450, DM_REGULATOR_PCA9450 and SPL_DM_REGULATOR_PCA9450 to avoid breaking sd. Signed-off-by: Peng Fan <[email protected]>
2026-06-05imx8mp: icore-mx8mp-edimm2.2: Switch to OF_UPSTREAMPeng Fan
The U-Boot copy of the board device trees for this board is same as the ones in dts/upstream, so switch to the board to OF_UPSTREAM, by dropping the U-Boot copies and selecting OF_UPSTREAM. Signed-off-by: Peng Fan <[email protected]>
2026-06-05imx8mm: icore-mx8mm: Switch to OF_UPSTREAMPeng Fan
arch/arm/dts/imx8mm-icore-mx8mm[ctouch2.dts,edimm2.2.dts] are same as the one in dts/upstream, so drop the copy and switch to OF_UPSTREAM by updating config and selecting OF_UPSTREAM. Signed-off-by: Peng Fan <[email protected]>
2026-06-04Merge tag 'u-boot-imx-master-20260604' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/30353 - Fix RAM size calculation on verdin-imx95. - Fix boot from SPI on i.MX8MM. - Fix boot abort on kontron-sl-mx6ul. - Fix the imx8 CPU market segment report.
2026-06-04tools: imx8image: Fix FSPI alignment to 4 kiBMarek Vasut
The SPI NOR minimum subsector size is 4 kiB, update the alignment. THis is particularly important in case of embedded DUMMY_DDR, which must be at at least 4 kiB aligned offset. Fixes: a2b96ece5be1 ("tools: add i.MX8/8X image support") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-04arm64: dts: imx8mn: Generate FSPI header using binman imx8mimageMarek Vasut
The binman imx8mimage now correctly handles generated fspi_header.bin in its imx8mimage etype. Make use of this, remove fspi_conf_block in favor of generated fspi_header.bin, and configure imx8mimage accordingly. Signed-off-by: Marek Vasut <[email protected]>
2026-06-04arm64: dts: imx8mm: Generate FSPI header using binman imx8mimageMarek Vasut
The binman imx8mimage now correctly handles generated fspi_header.bin in its imx8mimage etype. Make use of this, remove fspi_conf_block in favor of generated fspi_header.bin, and configure imx8mimage accordingly. Signed-off-by: Marek Vasut <[email protected]>
2026-06-04binman: imx8mimage: Handle nxp,boot-from = "fspi"Marek Vasut
Boot from FSPI requires additional 448 Byte long header, with U-Boot SPL starting at offset 0x1000. Currently, both i.MX8MM and i.MX8MN attempt to generate this header using fspi_conf_block with filename pointing at CONFIG_FSPI_CONF_FILE file. This does not work, for two reasons. First, the CONFIG_FSPI_CONF_FILE is generated by mkimage -T imx8mimage and may not be available yet when the fspi_conf_block is evaluated. That leads to a race condition where highly parallel builds fail to find the CONFIG_FSPI_CONF_FILE, which is usually called fspi_header.bin, on first build attempt. Second, binman gets confused and patches incorrect offset of DDR PHY firmware blobs into U-Boot SPL, the offset is incremented by exactly 0x1000 which is the size of fspi_conf_block. Fix both problems at once, make imx8mimage handle the generated FSPI header and prepend it in front of the imx8mimage processed data. This way, the race condition is solved, because the data generated by the imx8mimage are surely combined only after mkimage -T imx8mimage ran. The binman offset calculation is also solved, because there is no fspi_conf_block node in the DT anymore. Signed-off-by: Marek Vasut <[email protected]>
2026-06-04cpu: imx8_cpu: Fix CPU segment information printYe Li
Should not use CONFIG_IMX_TMU to determine the print of CPU market segment information. Only iMX8 platforms don't have segment fuse. And there is no extended commercial part on iMX9 (91/93/94/95), fix it to extended industrial. Signed-off-by: Ye Li <[email protected]>
2026-06-04imx: kontron-sl-mx6ul: Enable CONFIG_DM_MDIO to fix boot abortFrieder Schrempf
The following failure occurs right before switching to the kernel: data abort pc : [<9ff60162>] lr : [<9ff79d13>] reloc pc : [<8781c162>] lr : [<87835d13>] sp : 9bf30f78 ip : 9bf4b140 fp : 007963a0 r10: fffffdfb r9 : 9bf3bed0 r8 : 00004600 r7 : 00000000 r6 : 9ffe5a0c r5 : 00004600 r4 : 9bf4acf0 r3 : f5f5f5f5 r2 : f5f5f5f5 r1 : 9ffe0c5c r0 : 9bf7c130 Flags: NzCv IRQs off FIQs off Mode SVC_32 (T) Code: 9ffe b158 e9d0 2300 (6053) 601a Resetting CPU ... This is due to the fact that the board uses a shared MDIO bus for both ethernet controllers, but FEC_MXC_SHARE_MDIO is not enabled. This results in a double free in fecmxc_remove(). To fix this enable CONFIG_DM_MDIO so the shared MDIO is correctly detected from the devicetree. Fixes: 048fdda977ab ("imx: kontron-sl-mx6ul: Enable second ethernet interface") Signed-off-by: Frieder Schrempf <[email protected]>
2026-06-04board: toradex: verdin-imx95: fix ram size check calculated addressesEmanuele Ghidoli
The ram_alias_checks addresses are 32 bit values. When summed as 64 bit values the calculation is done correctly, otherwise, if they are summed as 32 bit values, the sum wraps around. Fix by adding uintptr_t recast to the base address. Fixes: 60d8255d8dc0 ("board: toradex: add Toradex Verdin iMX95") Signed-off-by: Emanuele Ghidoli <[email protected]> Acked-by: Francesco Dolcini <[email protected]>
2026-06-04Merge patch series "sc5xx Environment Cleanup and Fixes"Tom Rini
Caleb Ethridge <[email protected]> says: This series performs a general cleanup of the default U-boot environment for sc5xx boards, stemming from the decision to no longer store the environment in the SPI flash. The environments for each board have been edited to contain the minimum number of commands needed for all supported boot modes to avoid confusion, and the default boot command synced to spi for all boards that support it. The filesystem for the SPI flash has also been changed from jffs2 to ubifs. A bug with the Ethernet reset line on the sc594 has been fixed, and the sc573 has been renamed from the EZKIT to the EZLITE to match the name of the publically available board. EZKIT was only used internally before release. Preliminary binman support for sc5xx boards has been removed as it was unused and full support never added. Link: https://lore.kernel.org/r/[email protected]
2026-06-04Merge patch series "Cleanup some linker list usage issues"Tom Rini
Tom Rini <[email protected]> says: In looking at some other issues, I saw the comment in include/event.h about LTO discarding linker lists sometimes. Upon further investigation, this was a sandbox-specific problem for which this problem was a symptom. Also, the linker list code has always marked itself as "unused" and while Marek thinks this might have been due to warnings at the time, that is no longer the case. This series corrects sandbox to not have an issue with linker lists in two files, stops marking linker lists as unused and removes a now obsolete comment. Link: https://lore.kernel.org/r/[email protected]
2026-06-04event: Remove obsolete comment and __used attributesTom Rini
Now that we have both resolved the problem on sandbox that lead to a comment about linker list entries being omitted as well as made linker lists never list themselves as unused, we can update the event header file. Remove the now obsolete comment and "__used" attribute marker. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-06-04linker_lists: Do not set "unused" attributeTom Rini
Whenever we declare something to be in a linker list, we want it to be included. This is why all of our linker scripts have a line similar to: KEEP(*(SORT(__u_boot_list*))); to ensure that any linker list found in any of the archives we are linking together makes it to the final object. Remove the places where we set an attribute saying that it is unused, or maybe_unused. Signed-off-by: Tom Rini <[email protected]>
2026-06-04sandbox: Drop special link order treatment of start.o and sdl.oTom Rini
On hardware architectures, we need to treat start.o (generated from start.S) very special due to the constraints of being a program running on hardware in an unknown state. These objects are treated a little different than the rest by the linker and linker scripts on various architectures. Sandbox is different, and doesn't need to do that. In fact, it can lead to hard to diagnose problems because of just how subtly different the treatment is. For example, the comment about LTO in include/event.h introduced with commit 87a5d1b5d012 ("event: Add basic support for events") was only a sandbox issue because of the event in start.c and in turn linking start.o isn't treated the same way as an archive with all its sections considered. Correct all of this by removing the "head-" lines for cpu.o and sdl.o from arch/sandbox/Makefile (and unused cmd_cc_sdl.o lines) and change arch/sandbox/cpu/Makefile to treating them both with "obj-" and not "extra-". Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-06-04mach-sc5xx: Remove unused image offset Kconfig optionsCaleb Ethridge
Remove SC5XX_UBOOT_SPL_OFFSET, SC5XX_UBOOT_OFFSET, SC5XX_FITIMAGE_OFFSET and SC5XX_ROOTFS_OFFSET as they are no longer needed in the Kconfig. Signed-off-by: Caleb Ethridge <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-06-04arm: sc5xx: Add fdt_addr_r, kernel_addr_r, and ramdisk_addr_rCaleb Ethridge
Add fdt_addr_r, kernel_addr_r, and ramdisk_addr_r to the SC5xx boards. These variables are currently unused in the environment but will be used in the future once support for booti commands is added to the SC5xx boards. Signed-off-by: Caleb Ethridge <[email protected]>
2026-06-04arm: sc5xx: add missing boot env selectorsOzan Durgut
Define the boot options for SC598 SOM EZ-LITE so the shared ADI boot environment includes the expected boot commands for this board. SC598 SOM EZ-LITE board environment utilizes the shared ADI boot environment, but it does not define any of the USE_* boot mode selectors. Without those selectors, the shared env does not generate the board boot commands such as `spiboot`. This leaves the default `bootcmd=run spiboot` without a matching environment command and breaks autoboot. Fixes: c9e893d6266d ("board: adi: Add support for SC598") Signed-off-by: Ozan Durgut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-06-04arm: sc5xx: Remove SC5XX_LOADADDRCaleb Ethridge
Remove the SC5XX_LOADADDR Kconfig option, replace its users with CONFIG_SYS_LOAD_ADDR, and update the ADI boot environment to use `loadaddr`. SC5XX_LOADADDR was an ADI-specific duplicate of standard U-Boot load address handling. U-Boot already uses CONFIG_SYS_LOAD_ADDR for the default load address and `loadaddr` for boot commands, so keeping separate SC5XX-specific names is redundant. Signed-off-by: Ozan Durgut <[email protected]> Signed-off-by: Caleb Ethridge <[email protected]>
2026-06-04configs: sc5xx: Set default bootcmd to SPI bootCaleb Ethridge
Align configs to use the same default bootcommand. With the environment no longer stored in the SPI, SPI boot is the intended default boot method for all sc5xx platforms, with the exception of the sc573, and the sc584. The sc59x boards, the sc594 and the sc598, additionally have the option of using OSPI for boot, but the default boot method for these boards is still SPI. Signed-off-by: Caleb Ethridge <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-06-04mach-sc5xx: Update SPI bootargs for ubifsCaleb Ethridge
Update the bootargs used in SPI/OSPI bootmode to reflect change from jffs2 to ubifs for the SPI's filesystem, and remove the jffs2file variable from the environment as it is now unused. Signed-off-by: Caleb Ethridge <[email protected]>
2026-06-04mach-sc5xx: Update image load addressCaleb Ethridge
Update the load address for the image in each environment to match the updated partitions in Linux. The partitions in Linux for the spi are named as follows: - u-boot-spl - u-boot - kernel - rootfs The kernel partition is at 0x100000 for sc59x family boards, and 0xd0000 for all other sc5xx boards. Signed-off-by: Caleb Ethridge <[email protected]>
2026-06-04mach-sc5xx: sc573: Rename EZKIT board to EZLITECaleb Ethridge
Rename the SC573 EZKIT board to EZLITE across the device tree, defconfig, board file, and related Kconfig/Makefile entries to match with release naming. EZKIT was used internally before the official product release. Signed-off-by: Caleb Ethridge <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-06-04dts: sc594: Fix gige-reset line on EZKITCaleb Ethridge
The gige-reset line on the EZKIT was updated for the sc598 but not the sc594. This commit aligns the two .dts files since they are describing the same hardware, the EZKIT carrier board. Fixes: be7937847b7c ("board: adi: Add support for SC594") Signed-off-by: Caleb Ethridge <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-06-04mach-sc5xx: Remove preliminary binman supportCaleb Ethridge
Remove preliminary binman support from all sc5xx ADSP boards. Full support was never added because it was unused. Signed-off-by: Caleb Ethridge <[email protected]> Reviewed-by: Simon Glass <[email protected]>