summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx
AgeCommit message (Collapse)Author
2026-07-06Merge branch 'next'Tom Rini
2026-06-26imx9: Add v2x_status and ele_info commandsYe Li
Add v2x_status and ele_info commands to print useful information for development and debug purpose. Signed-off-by: Ye Li <[email protected]>
2026-06-26imx6: clock: allow different clock sources for ldbBrian Ruley
The LDB clock sources don't have to be the same, so allow DI1 clock to be configured separately. Unlikely to be significant, but the reason will become apparent in the following commit. Signed-off-by: Brian Ruley <[email protected]>
2026-06-26imx: fdt: Allow users to inhibit trip point setupMarek Vasut
During development or various dangerous experiments, it may be necessary to override the trip points. Allow users to do that. However, do keep in mind that this may damage the SoC. Signed-off-by: Marek Vasut <[email protected]>
2026-06-26board: toradex: add initial support for aquila imx95Franz Schnyder
Add initial U-Boot support for Aquila iMX95 SoM. Link: https://www.toradex.com/computer-on-modules/aquila-arm-family/nxp-imx95 Link: https://www.toradex.com/products/carrier-board/aquila-development-board-kit Signed-off-by: Franz Schnyder <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]>
2026-06-26imx9: Select OF_LIVEPeng Fan
Enable the live DT to reduce the DT parsing time. Test data on i.MX95-EVK: Before: Accumulated time: 26,205 dm_spl 483,991 dm_f 22,977 dm_r After: Accumulated time: 26,229 dm_spl 484,772 dm_f 2,667 of_live 1,003 dm_r Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx9: soc: Use livetree API for fdt accessPeng Fan
Use livetree API, otherwise it will fail to read properties from the device tree when OF_LIVE is enabled. Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx: Guard print_cpuinfo with !CONFIG_IS_ENABLED(CPU)Peng Fan
When CONFIG_CPU is enabled, print_cpuinfo is defined in common/board_f.c with static property. However in imx cpu.c, print_cpuinfo is not a local function, so guard it with !CONFIG_IS_ENABLED(CPU). And all i.MX8M boards has CONFIG_CPU and CONFIG_CPU_IMX set, so remove the dead code. However legacy print_cpuinfo also print reset reason, to keep reset reason printed as before, export get_reset_reason() and invoke it at arch_misc_init(). Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx7ulp: cleanup get_imx_typePeng Fan
There is only one SoC and no external user of get_imx_type for i.MX7ULP, so directly embed the string in print_cpuinfo and drop get_imx_type(). Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx8ulp: cleanup get_imx_typePeng Fan
There is only one SoC and no external user of get_imx_type for i.MX8ULP, so directly embed the string in print_cpuinfo and drop get_imx_type(). Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx8m: Imply DM_THERMALPeng Fan
CONFIG_IMX_TMU depends on CONFIG_DM_THERMAL, so when selecting IMX_TMU, DM_THERMAL should also be selected. Update i.MX8M based defconfigs. Signed-off-by: Peng Fan <[email protected]> Acked-by: Francesco Dolcini <[email protected]>
2026-06-26imx9: scmi: use 48-bit MAC add instead of incrementing mac[5]Alice Guo
Replace mac[5] += offset with a proper 48-bit MAC address add to avoid overflow issues when mac[5] was close to 255. Example: i.MX95 MAC2: 00:11:22:33:44:FE + 6 Old: 00:11:22:33:44:04 (overflow, wraps to 0) New: 00:11:22:33:45:04 (correct carry from mac[5] to mac[4]) Signed-off-by: Alice Guo <[email protected]> Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-26imx9: scmi: Correct shutdown checkingPeng Fan
The shutdown checking should use shutdown flags, not bootflags. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx9: scmi: Fix SPL trampoline buffer for 1GB DDRYe Li
After supporting get DRAM size from SM, the trampoline buffer address still depends on PHYS_SDRAM_SIZE. If the real DDR size is less than PHYS_SDRAM_SIZE, the trampoline buffer address is invalid and SPL will crash. So use board_phys_sdram_size to get real DDR size to calculate correct address. Fixes: e1cc7117b630 ("imx9: scmi: Get DDR size through SM SCMI API") Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]> Tested-by: Emanuele Ghidoli <[email protected]>
2026-06-25Kconfig: arm: restyleJohan Jonker
Restyle all Kconfigs for "arm": Menu entries : no space left Menu attributes: 1 TAB Help text : 1 TAB + 2 spaces Replace '---help---' by 'help' Signed-off-by: Johan Jonker <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2026-06-24treewide: move bi_dram[] from bd to gdIlias Apalodimas
Currently, the bi_dram[] information is stored in the board info structure (bd). Because bd is only valid after reserve_board(), dram_init_banksize() must be called late in the initialization process. This limitation is problematic, as it forces us to rely on a variety of bespoke functions to determine board RAM, bank memory sizes, and other early setup requirements. By moving bi_dram[] into the global data (gd), we can run it earlier. This is particularly convenient since boards define their own dram_init_banksize() routines, which do not always rely on parsing Device Tree (DT) memory nodes. Additionally, U-Boot defaults to relocating to the top of the first memory bank. While boards currently use custom functions to override this behavior, having the DRAM bank information available earlier in gd makes relocating to a different bank trivial and standardizes the process. Reviewed-by: Anshul Dalal <[email protected]> Tested-by: Michal Simek <[email protected]> # Versal Gen 2 Vek385 Tested-by: Anshul Dalal <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]> Tested-by: Christophe Leroy (CS GROUP) <[email protected]>
2026-06-10nxp: imx[95,94,952]_evk: Implement board_fix_fdtYe Li
Select the OF_BOARD_FIXUP and implement board_fix_fdt in board codes of iMX95/952/94 EVK to handle fuse setting on various part numbers. Signed-off-by: Ye Li <[email protected]> Acked-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-06-10iMX9: scmi: Disable fused modules for iMX95/94/952Ye Li
Disable relevant modules in kernel FDT and u-boot FDT according to fuse settings on iMX95/94/952. For u-boot FDT fixup, introduce a common function that each board needs this fixup could select OF_BOARD_FIXUP and implement board_fix_fdt to call imx9_uboot_fixup_by_fuse. Signed-off-by: Ye Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-06-10imx9: scmi: Print CPU part number nameYe Li
Decode the CPU part number from PART_NUM fuse and print it in CPU name. For iMX95 and iMX952 Part number fuse is defined as: [7:6] : Package description [5:2] : Segment [1:0] : Number of A55 cores For iMX94, the PART_NUM[7:0] fuse directly reflects the part number value. Signed-off-by: Ye Li <[email protected]> Acked-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2026-06-10imx9: scmi: Fix temperature range for Extended industrial partsYe Li
The value '01' in MARKET_SEGMENT fuse is Extended industrial on iMX95/952/94. Fix its temperature range to -40C to 125C 01` - Ext. Industrial -40C to 125C Signed-off-by: Ye Li <[email protected]> Acked-by: Peng Fan <[email protected]> Signed-off-by: Peng Fan <[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-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: 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-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-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-05-15arm: imx9: Update i.MX91 part number detectionYe Li
Change to not use NXP_RECOG fuse, but detect part number according to feature disable fuses and SPEED fuse. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-05-15imx: priblob: Fix build breakYe Li
Add config.h to fix CAAM_BASE_ADDR undeclared build error when CONFIG_CMD_PRIBLOB enabled. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-05-15arm: mx6: module_fuse: update node path for Linux 6.13Peng Fan
Update node path for 5.10 Kernel. - aips-bus renamed to bus - gpmi-nand renamed to nand-controller cherry picked from https://github.com/nxp-imx/uboot-imx, tag lf-6.12.3-1.0.0, commit feb8178e97d4 ("LF-2637 mx6: fuse: update node path") add changes node path for Linux 6.13 Signed-off-by: Peng Fan <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-05-15board: nxp: imx9{4, 5, 52}_evk: Add qb save option in SPLSimona Toaca
Call qb save automatically in the board-specific spl_board_init(), if SPL_IMX_QB option is enabled. This makes sure qb_save is called before any image loading is done by the SPL. This option is also suitable for the case where U-Boot proper is missing (Falcon mode). qb save refers to saving DDR training data to NVM, so that OEI runs Quickboot flow on next reboot, skipping full training and achieveing a lower boot time. Signed-off-by: Simona Toaca <[email protected]>
2026-05-15arm: mach-imx: Add command to expose QB functionalitySimona Toaca
This command exposes 3 methods: - check -> checks if the data in volatile memory is valid (integrity check) - save -> saves the data to non-volatile memory and erases the data in volatile memory - erase -> erases the data in non-volatile memory cmd_qb can be used either directly in the U-Boot console or in an uuu script to save the QB data during flashing. It supports specifying a different boot medium than the current boot device for saving the data. Signed-off-by: Viorel Suman <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Simona Toaca <[email protected]>
2026-05-15imx9: Add support for saving DDR training data to NVMSimona Toaca
DDR training data can be saved to NVM and be available to OEI at boot time, which will trigger QuickBoot flow. U-Boot only checks for data integrity (CRC32), while OEI is in charge of authentication when it tries to load the data from NVM. On iMX95 A0/A1, 'authentication' is done via another CRC32. On the other SoCs, authentication is done by using ELE to check the MAC stored in the ddrphy_qb_state structure. Supported platforms: iMX94, iMX95, iMX952 (using OEI) Supported storage types: eMMC, SD, SPI flash. Signed-off-by: Viorel Suman <[email protected]> Signed-off-by: Ye Li <[email protected]> Signed-off-by: Simona Toaca <[email protected]>
2026-05-15imx: ahab: Use authenticated header for images loadingYe Li
When loading container image, the container header is loaded into heap memory. If ahab is enabled, the header is be copied to another fixed RAM for authentication in ahab_auth_cntr_hdr. The better method is using container header memory being authenticated for following image loading. So update ahab_auth_cntr_hdr to return the address of container header being authenticated. Caller uses this header for following parsing and image loading. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-05-15imx9: clock: Fix missing break in get_clk_src_rateYe Li
The break is missed for ARM_PLL_CLK in get_clk_src_rate. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-05-15imx9: scmi: Support iMX95/94/952 secondary bootYe Li
When ROM boots from secondary container set, SPL should select correct offset to load u-boot-atf container. The implementation uses ROM passover information: 1) For non-eMMC boot partition device, use image offset in ROM passover data to get u-boot-atf container offset. 2) For eMMC boot partition device, use boot stage (secondary) in ROM passover data to select correct eMMC boot partition for u-boot-atf container. Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-05-15imx9: scmi: soc: Add support for detecting primary/secondary bmode on MX95Fedor Ross
Implement the 'getprisec' subcommand of 'bmode' command for i.MX95 by reading out the ROM log events. This event is set by the BootROM if it switched to the secondary copy due to primary copy being corrupted. Signed-off-by: Fedor Ross <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2026-05-15imx: Add SPI NOR A/B switching supportMarek Vasut
Query the SM via SCMI, obtain rom_passover_t->img_set_sel and based on that, add 0 or 0x400000 offset (A or B copy offset) to boot container read address. Signed-off-by: Marek Vasut <[email protected]> Signed-off-by: Fedor Ross <[email protected]>
2026-05-15imx8mq: kontron-pitx-imx8m: Switch OF_UPSTREAMPeng Fan
arch/arm/dts/imx8mq-kontron-pitx-imx8m.dts is almost same as upstream Linux dts, so switch to OF_UPSTREAM by dropping the U-Boot copy of the dts, enabling OF_UPSTREAM and updating CONFIG_DEFAULT_DEVICE_TREE. Signed-off-by: Peng Fan <[email protected]>
2026-05-15imx8mq: librem5: Switch to OF_UPSTREAMPeng Fan
arch/arm/dts/imx8mq-librem5-r[4,3].dts is almost same as upstream Linux dts, and arch/arm/dts/imx8mq-librem5.dtsi is out of sync with upstream linux dts, but it should not break U-Boot after using OF_UPSTREAM. So switch to OF_UPSTREAM by dropping the U-Boot copy of the dts, enabling OF_UPSTREAM and updating CONFIG_DEFAULT_DEVICE_TREE. Signed-off-by: Peng Fan <[email protected]>
2026-05-15imx8mq: pico: Switch OF_UPSTREAMPeng Fan
arch/arm/dts/imx8mq-pico-pi.dts is almost same as upstream Linux dts, so switch to OF_UPSTREAM by dropping the U-Boot copy of the dts, enabling OF_UPSTREAM and updating CONFIG_DEFAULT_DEVICE_TREE. Signed-off-by: Peng Fan <[email protected]>
2026-05-15imx8mq: phanbell: Switch OF_UPSTREAMPeng Fan
arch/arm/dts/imx8mq-phanbell.dts is almost same as upstream Linux dts, so switch to OF_UPSTREAM by dropping the U-Boot copy of the dts, enabling OF_UPSTREAM and updating CONFIG_DEFAULT_DEVICE_TREE. Signed-off-by: Peng Fan <[email protected]>
2026-05-15imx8mq: reform2: Switch to OF_UPSTREAMPeng Fan
arch/arm/dts/imx8mq-mnt-reform2.dts are almost same as upstream Linux imx8mq-mnt-reform2.dts, so switch to OF_USPTREAM for this board, with only updating imx8mq-mnt-reform2-u-boot.dtsi to keep "simple-panel" compatible string for display panel. Signed-off-by: Peng Fan <[email protected]>
2026-04-21board: toradex: add Toradex Verdin iMX95Emanuele Ghidoli
Add support for the Toradex Verdin iMX95. Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/nxp-imx95 Link: https://www.toradex.com/products/carrier-board/verdin-development-board-kit Signed-off-by: Emanuele Ghidoli <[email protected]> Co-developed-by: Ernest Van Hoecke <[email protected]> Signed-off-by: Ernest Van Hoecke <[email protected]> Co-developed-by: Francesco Dolcini <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Simon Glass <[email protected]>