summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-06-27Merge tag 'u-boot-imx-master-20260627' 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/30543 - Fix MAC address representation on i.MX9 - Fix iMX8MQ PLL - Fix SPL trampoline buffer for 1GB DDR on i.MX9
2026-06-27clk: imx: imx8mq: Fix iMX8MQ PLL issueYe Li
The fractional PLL used on iMX8MQ is not pll14xx, it is different PLL and not exist in u-boot. Add this fractional PLL driver and update iMX8MQ clock driver to adapt this fraction PLL. Fixes: 11c8ab01f3ed ("clk: imx8mq: Add a clock driver for the imx8mq") Signed-off-by: Ye Li <[email protected]> Reviewed-by: Peng Fan <[email protected]>
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-26misc: ele_api: Add V2X Get State APIYe Li
Add V2X Get State API to return V2X states for debug purpose Signed-off-by: Ye Li <[email protected]>
2026-06-26imx952_evk: Correct CONFIG_DEFAULT_FDT_FILEPeng Fan
The device tree is not stored under freescale directory when booting Linux, so drop vendor name. Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx95/952/94_evk/: enable booting Image.gzPeng Fan
Add support for booting compressed kernel Image.gz by defining kernel_comp_addr_r and kernel_comp_size in the default environment. Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx93_evk/qsb/frdm: enable booting Image.gz and avoid extra memcpyPeng Fan
Add support for booting compressed kernel Image.gz by defining kernel_comp_addr_r and kernel_comp_size in the default environment. While at here, set ip_dyn to yes to allow dhcp work properly. Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx8mm/n_evk: enable booting Image.gz and avoid extra memcpyPeng Fan
Add support for booting compressed kernel Image.gz by defining kernel_comp_addr_r and kernel_comp_size in the default environment. Set kernel_comp_addr_r to a high memory region to provide a dedicated decompression buffer, avoiding overlap between compressed input and decompressed output. Also adjust CONFIG_SYS_LOAD_ADDR from 0x40480000 to 0x40400000. With TEXT_OFFSET=0, the kernel is relocated directly to loadaddr, so separating decompression and execution regions is required to guarantee safe decompression without additional copying. Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx8mq_evk: enable booting Image.gz and avoid extra memcpyPeng Fan
Add support for booting compressed kernel Image.gz by defining kernel_comp_addr_r and kernel_comp_size in the default environment. Set kernel_comp_addr_r to a high memory region to provide a dedicated decompression buffer, avoiding overlap between compressed input and decompressed output. Also adjust CONFIG_SYS_LOAD_ADDR from 0x40480000 to 0x40400000. With TEXT_OFFSET=0, the kernel is relocated directly to loadaddr, so separating decompression and execution regions is required to guarantee safe decompression without additional copying. Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx8mp_evk: enable booting Image.gz and avoid extra memcpyPeng Fan
Add support for booting compressed kernel Image.gz by defining kernel_comp_addr_r and kernel_comp_size in the default environment. Set kernel_comp_addr_r to a high memory region (0x80000000) to provide a dedicated decompression buffer, avoiding overlap between compressed input and decompressed output. Also adjust CONFIG_SYS_LOAD_ADDR from 0x40480000 to 0x40600000. With TEXT_OFFSET=0, the kernel is relocated directly to loadaddr, so separating decompression and execution regions is required to guarantee safe decompression without additional copying. Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx: kontron-sl-mx8mm: Enable the watchdog at bootFrieder Schrempf
We want the watchdog to be enabled at boot by default so it can handle emergency situations in any case. Signed-off-by: Frieder Schrempf <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-26clk: imx6q: use clk_divider_table instead of fixed factor for pll5 divsBrian Ruley
Now that non-linear clk divider tables are supported, replace the fixed factor implementation with the proper divider, which allows more fine control over clock rates. Signed-off-by: Brian Ruley <[email protected]>
2026-06-26clk: clk-divider: add clk_register_divider_table()Brian Ruley
The existing clk_register_divider() only supports linear or power-of-two divider mappings. Some hardware (e.g. i.MX6 PLL5 post_div and video_div) uses non-linear register-value-to-divisor mappings that require a lookup table. Add clk_register_divider_table() which accepts a clk_div_table, and reimplement clk_register_divider() as a wrapper passing table=NULL. Signed-off-by: Brian Ruley <[email protected]>
2026-06-26video: imx: ipuv3: enable ipu clk before writing registers in CCFBrian Ruley
Obviously, the clock has to be enabled if writing to it's registers. This was missed because the board I tested on had enabled the clocks in early init. Also, remove the completely useless "ipu_clk_enabled" struct member and use the accurate usecount / enabled_count instead. Signed-off-by: Brian Ruley <[email protected]>
2026-06-26clk: imx6q: configure ldb clock selectorsBrian Ruley
A hardware bug prevents LDB clock selectors from being configured later on non-plus i.MX6QD variants, so let's set the desired configuration in the probe before we register them. We also have to make the necessary clock functions available in XPL builds. Signed-off-by: Brian Ruley <[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-26clk: imx6q: add missing pll bypassesBrian Ruley
After reset, all PLLs are bypassed by default so unbypass them so that dependent clocks can function correctly. Signed-off-by: Brian Ruley <[email protected]>
2026-06-26clk: imx6q: guard video clocks behind configBrian Ruley
Do not touch the video clocks unless explicitly required by the configuration. This avoids the issue of the binary size increase on SPL builds that do not enable video. For those that do, they should increase the size limit to fit the new code and data. Signed-off-by: Brian Ruley <[email protected]>
2026-06-26clk: imx6q: cosmetic: keep pll definitions togetherBrian Ruley
Make it easier to reason about by keeping similar clocks grouped together. While at it, fix comment spacing. Signed-off-by: Brian Ruley <[email protected]>
2026-06-26imx93_frdm: Add support for 2CS 2GB DRAM supportMathieu Dubois-Briand
Add 2CS 2GB DRAM configuration, as revision B2 of the i.MX93 FRDM board is using it. This is mostly an import of Tom Zheng work from NXP u-boot git: https://github.com/nxp-imx/uboot-imx/commit/4c35a6086aed Acked-by: Peng Fan <[email protected]> Signed-off-by: Mathieu Dubois-Briand <[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-26imx93: Add support for OPTEEKrzysztof Drobiński
OPTEE-OS starts correctly when "opteed" is enabled for Secure Payload Dispatcher in TF-A (tested on OP-TEE version: 4.9.0), however imx93 devices require a patch for OPTEE targets because binman does not see the tee.bin file when it is available. Enable conditional OPTEE support for imx93 devices. Signed-off-by: Krzysztof Drobiński <[email protected]> Signed-off-by: Mathieu Dubois-Briand <[email protected]>
2026-06-26binman: Add optee binary to i.MX9 platform typesMathieu Dubois-Briand
OP-TEE tee.bin is generated externally and might be missing during the build. Signed-off-by: Mathieu Dubois-Briand <[email protected]>
2026-06-26mx6sabre: Move environment variables to .env filesAristo Chen
Move the shared environment from CFG_EXTRA_ENV_SETTINGS in mx6sabre_common.h to a common text environment fragment in include/env/nxp/mx6sabre_common.env. The mx6sabresd and mx6sabreauto board environments include this fragment and add their own console setting, which is the only board specific difference between them. The eMMC firmware update variables remain guarded by CONFIG_SUPPORT_EMMC_BOOT inside the fragment. The now unused CONSOLE_DEV defines and the linux/stringify.h include are dropped. The generated default environment is unchanged for both boards. This was verified by comparing the output of scripts/get_default_envs.sh before and after the change, which produced identical results. Signed-off-by: Aristo Chen <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-26mx6ullevk: Move environment variables to .env fileAristo Chen
Move the board environment from CFG_EXTRA_ENV_SETTINGS in the config header to board/nxp/mx6ullevk/mx6ullevk.env for better maintainability. The file is named after CONFIG_SYS_BOARD so it is selected automatically without setting CONFIG_ENV_SOURCE_FILE. Drop the now unused linux/stringify.h include. The generated default environment is unchanged. This was verified by comparing the output of scripts/get_default_envs.sh before and after the change, which produced identical results. Signed-off-by: Aristo Chen <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2026-06-26mx7ulp_evk: Move environment variables to .env fileAristo Chen
Move the board environment from CFG_EXTRA_ENV_SETTINGS in the config header to board/nxp/mx7ulp_evk/mx7ulp_evk.env for better maintainability. The file is named after CONFIG_SYS_BOARD so it is selected automatically without setting CONFIG_ENV_SOURCE_FILE. The generated default environment is unchanged. This was verified by comparing the output of scripts/get_default_envs.sh before and after the change, which produced identical results. Signed-off-by: Aristo Chen <[email protected]> Reviewed-by: Peng Fan <[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-26imx8m_evk: Select OF_LIVEPeng Fan
Enable the live DT to reduce the DT parsing time. Test data on i.MX8MP shows that boot time is decreased by ~%6 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-26misc: ele: Use dev_read_addrPeng Fan
Use dev_read_addr which supports livetree API, otherwise driver will fail to get addr when OF_LIVE is enabled. Signed-off-by: Peng Fan <[email protected]>
2026-06-26gpio: imx_rgpio2p: Use dev_read_addr_indexPeng Fan
Use dev_read_addr_index which supports livetree API, otherwise driver will fail to get addr when OF_LIVE is enabled. Signed-off-by: Peng Fan <[email protected]>
2026-06-26serial: lpuart: Use livetree API for fdt accessPeng Fan
Use livetree API, otherwise driver will fail to read properties from the device tree when OF_LIVE is enabled. Signed-off-by: Peng Fan <[email protected]>
2026-06-26imx8m: dts: Update ddr firmware namePeng Fan
Update to latest ddr firmware name, otherwise user may use legacy ddr firmware from linux-firmware-imx release. 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-26imx952: Update gpio node regsPeng Fan
Same to 85319b2e672 ("board: toradex: smarc-imx95: remove gpio1 reg"), there is no need to use dual base for i.MX952 gpio, so drop the U-Boot specific reg changes. 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-26board: qualcomm: phone: enable CMD_FASTBOOT_ABORT_KEYEDSam Day
Thus users are able to exit from fastboot by pressing a key. It's also possible to bail out by running `fastboot continue` from the host, but it's nice to be consistent with UMS. Also convenient to be able to bailout during testing if USB isn't working properly. Reviewed-by: Simon Glass <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Signed-off-by: Sam Day <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2026-06-26cmd: fastboot: Add keyed abort optionSam Day
Works the same as CONFIG_CMD_UMS_ABORT_KEYED does: any keypress will abort fastboot mode (rather than only ctrl-c). Reviewed-by: Mattijs Korpershoek <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Casey Connolly <[email protected]> Signed-off-by: Sam Day <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2026-06-26usb: gadget: f_mass_storage: Disable eps during disconnectMattijs Korpershoek
When trying two ums commands in a row, the second one no longer enumerates properly from the host. This happens since commit 59310d1ecb9f ("usb: gadget: introduce 'enabled' flag in struct usb_ep") causing usb_ep_enable() to return early when ep->enabled is already set. Gadget function drivers (such as f_fastboot or f_mass_storage) implement a disable() function which is called whenever we are done using the gadget. Because f_mass_storage driver does not disable the endpoints, ep->enabled will never be set to false again. This can be reproduced on the STM32MP157C-DK2 or the Khadas VIM3 boards. Add calls to usb_ep_disable() as done in linux [1] to fix this. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9fff139aeb11186fd8e75860c959c86cb43ab2f6 Fixes: 59310d1ecb9f ("usb: gadget: introduce 'enabled' flag in struct usb_ep") Reported-by: Patrice Chotard <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2026-06-26usb: f_sdp: handle the spl load function failureYe Li
Current implementation does not check the return value of spl load function. If the spl load is failed, SPL may meet crash due to spl_image variable is not initialized. Add the failure check, so SPL can print and stop with error. Signed-off-by: Ye Li <[email protected]> Fixes: 2c72ead73874 ("usb: gadget: f_sdp: Allow SPL to load and boot FIT via SDP") Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2026-06-25Merge patch series "Kconfig restyle part 2"Tom Rini
Johan Jonker <[email protected]> says: The Kconfig menu attribute '---help---' is deprecated. If we change to "help" the text has to indent. This again has to align with other attributes, so we have to restyle them as well. And as there's a script then change all Kconfig files excluding 'arch' and 'board' directories from part 1. Restyle all Kconfigs: Menu entries : no space left Menu attributes: 1 TAB Help text : 1 TAB + 2 spaces Replace '---help---' by 'help' Problems: People creating indents in help texts. The script doesn't care. It puts everything left aligned. Help texts with empty lines. It stops aligning as help test. Other fixes: While using checkpatch.pl or the script some issues showed up, so fix them as well. Link: https://lore.kernel.org/r/[email protected]
2026-06-25Kconfig: restyleJohan Jonker
Restyle Kconfig: 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]>
2026-06-25Kconfig: drivers: restyle remainingJohan Jonker
Restyle all Kconfigs for the rest of "drivers": 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]> [trini: Add missing indentation on a few more multi-paragraph help texts] Signed-off-by: Tom Rini <[email protected]>
2026-06-25Kconfig: gpio: add empty lineJohan Jonker
Restyle by adding an empty line between configs. Signed-off-by: Johan Jonker <[email protected]>