Commit Graph
106207 Commits
Author SHA1 Message Date
Tom Rini 835a18f80f Merge tag 'u-boot-imx-next-20260627' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next
CI:https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/30547

- Move environment variables to .env file on imx7ul-evk/imx6ull-evk/mx6-sabre
- imx ipuv3 improvements.
- Initial support for aquila imx95
- Add support for OPTEE on i.MX93
- Allow users to inhibit i.MX trip point setup
- Add support for imx93_frdm 2CS 2GB DRAM support
- Add optee binary to i.MX9 platform types
- Enable booting Image.gz on imx8m-evk/imx9-evk
2026-06-28 08:27:59 -06:00
Ye LiandFabio Estevam 8757c24282 imx9: Add v2x_status and ele_info commands
Add v2x_status and ele_info commands to print useful information
for development and debug purpose.

Signed-off-by: Ye Li <ye.li@nxp.com>
2026-06-26 23:02:46 -03:00
Ye LiandFabio Estevam 00bba5a358 misc: ele_api: Add V2X Get State API
Add V2X Get State API to return V2X states for debug purpose

Signed-off-by: Ye Li <ye.li@nxp.com>
2026-06-26 23:02:46 -03:00
Peng FanandFabio Estevam bd4be85a4a imx952_evk: Correct CONFIG_DEFAULT_FDT_FILE
The device tree is not stored under freescale directory when booting
Linux, so drop vendor name.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-06-26 23:02:46 -03:00
Peng FanandFabio Estevam 8c751d4821 imx95/952/94_evk/: enable booting Image.gz
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 <peng.fan@nxp.com>
2026-06-26 23:02:46 -03:00
Peng FanandFabio Estevam 5c4a371c94 imx93_evk/qsb/frdm: enable booting Image.gz and avoid extra memcpy
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 <peng.fan@nxp.com>
2026-06-26 23:02:46 -03:00
Peng FanandFabio Estevam 2619f50f72 imx8mm/n_evk: enable booting Image.gz and avoid extra memcpy
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 <peng.fan@nxp.com>
2026-06-26 23:02:46 -03:00
Peng FanandFabio Estevam 77c8ba8826 imx8mq_evk: enable booting Image.gz and avoid extra memcpy
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 <peng.fan@nxp.com>
2026-06-26 23:02:46 -03:00
Peng FanandFabio Estevam c295bc7c15 imx8mp_evk: enable booting Image.gz and avoid extra memcpy
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 <peng.fan@nxp.com>
2026-06-26 23:02:46 -03:00
Frieder SchrempfandFabio Estevam b61c4f2a32 imx: kontron-sl-mx8mm: Enable the watchdog at boot
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 <frieder.schrempf@kontron.de>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2026-06-26 23:02:46 -03:00
Brian RuleyandFabio Estevam 40c9ef1e77 clk: imx6q: use clk_divider_table instead of fixed factor for pll5 divs
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 <brian.ruley@gehealthcare.com>
2026-06-26 23:02:46 -03:00
Brian RuleyandFabio Estevam 3c9cb48b47 clk: clk-divider: add clk_register_divider_table()
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 <brian.ruley@gehealthcare.com>
2026-06-26 23:02:46 -03:00
Brian RuleyandFabio Estevam d8673fd3b5 video: imx: ipuv3: enable ipu clk before writing registers in CCF
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 <brian.ruley@gehealthcare.com>
2026-06-26 23:02:46 -03:00
Brian RuleyandFabio Estevam db4aa45718 clk: imx6q: configure ldb clock selectors
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 <brian.ruley@gehealthcare.com>
2026-06-26 23:02:46 -03:00
Brian RuleyandFabio Estevam e3c70d44ff imx6: clock: allow different clock sources for ldb
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 <brian.ruley@gehealthcare.com>
2026-06-26 23:02:46 -03:00
Brian RuleyandFabio Estevam 73394a3cdc clk: imx6q: add missing pll bypasses
After reset, all PLLs are bypassed by default so unbypass them so that
dependent clocks can function correctly.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
2026-06-26 23:02:46 -03:00
Brian RuleyandFabio Estevam d6331d465d clk: imx6q: guard video clocks behind config
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 <brian.ruley@gehealthcare.com>
2026-06-26 23:02:46 -03:00
Brian RuleyandFabio Estevam 450d9eaf5e clk: imx6q: cosmetic: keep pll definitions together
Make it easier to reason about by keeping similar clocks grouped
together. While at it, fix comment spacing.

Signed-off-by: Brian Ruley <brian.ruley@gehealthcare.com>
2026-06-26 23:02:46 -03:00
Mathieu Dubois-BriandandFabio Estevam 7353fadd38 imx93_frdm: Add support for 2CS 2GB DRAM support
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 <peng.fan@nxp.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
2026-06-26 23:02:45 -03:00
Marek VasutandFabio Estevam c7515d6462 imx: fdt: Allow users to inhibit trip point setup
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 <marex@nabladev.com>
2026-06-26 23:02:45 -03:00
Franz SchnyderandFabio Estevam 3ac3708d16 board: toradex: add initial support for aquila imx95
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 <franz.schnyder@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2026-06-26 23:02:45 -03:00
Krzysztof DrobińskiandFabio Estevam 807b17928a imx93: Add support for OPTEE
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 <krzysztof@kd-solutions.pl>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
2026-06-26 17:08:59 -03:00
Mathieu Dubois-BriandandFabio Estevam 223d0f0de8 binman: Add optee binary to i.MX9 platform types
OP-TEE tee.bin is generated externally and might be missing during the
build.

Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
2026-06-26 17:08:59 -03:00
Aristo ChenandFabio Estevam 8d21d74bdf mx6sabre: Move environment variables to .env files
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 <aristo.chen@canonical.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2026-06-26 17:08:26 -03:00
Aristo ChenandFabio Estevam 4377bd764c mx6ullevk: Move environment variables to .env file
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 <aristo.chen@canonical.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2026-06-26 17:08:26 -03:00
Aristo ChenandFabio Estevam 599fd74e0c mx7ulp_evk: Move environment variables to .env file
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 <aristo.chen@canonical.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
2026-06-26 17:08:26 -03:00
Peng FanandFabio Estevam 6f14516278 imx9: Select OF_LIVE
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 <peng.fan@nxp.com>
2026-06-26 17:07:57 -03:00
Peng FanandFabio Estevam e0dc9f254f imx8m_evk: Select OF_LIVE
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 <peng.fan@nxp.com>
2026-06-26 17:07:32 -03:00
Peng FanandFabio Estevam 94b5e618c7 imx9: soc: Use livetree API for fdt access
Use livetree API, otherwise it will fail to read properties from the device
tree when OF_LIVE is enabled.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-06-26 17:07:18 -03:00
Peng FanandFabio Estevam 170291f042 misc: ele: Use dev_read_addr
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 <peng.fan@nxp.com>
2026-06-26 17:07:06 -03:00
Peng FanandFabio Estevam 8db4311b4b gpio: imx_rgpio2p: Use dev_read_addr_index
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 <peng.fan@nxp.com>
2026-06-26 17:06:54 -03:00
Peng FanandFabio Estevam b4610c7177 serial: lpuart: Use livetree API for fdt access
Use livetree API, otherwise driver will fail to read properties
from the device tree when OF_LIVE is enabled.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-06-26 17:06:39 -03:00
Peng FanandFabio Estevam fd1072d0d5 imx8m: dts: Update ddr firmware name
Update to latest ddr firmware name, otherwise user may use legacy ddr
firmware from linux-firmware-imx release.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-06-26 17:06:15 -03:00
Peng FanandFabio Estevam 902cf2bf67 imx: Guard print_cpuinfo with !CONFIG_IS_ENABLED(CPU)
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 <peng.fan@nxp.com>
2026-06-26 17:05:56 -03:00
Peng FanandFabio Estevam 2571e319c5 imx7ulp: cleanup get_imx_type
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 <peng.fan@nxp.com>
2026-06-26 17:05:36 -03:00
Peng FanandFabio Estevam 0f09e834ac imx8ulp: cleanup get_imx_type
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 <peng.fan@nxp.com>
2026-06-26 17:05:15 -03:00
Peng FanandFabio Estevam f59da150c9 imx952: Update gpio node regs
Same to 85319b2e67 ("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 <peng.fan@nxp.com>
2026-06-26 17:00:22 -03:00
Peng FanandFabio Estevam e0fa78b215 imx8m: Imply DM_THERMAL
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 <peng.fan@nxp.com>
Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2026-06-26 17:00:22 -03:00
Tom Rini 63f6cc8ba6 Merge patch series "Kconfig restyle part 2"
Johan Jonker <jbx6244@gmail.com> 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/ef462dea-69aa-48df-9f7c-af2e6c54e52a@gmail.com
2026-06-25 15:01:03 -06:00
Johan JonkerandTom Rini 58ecf78d2b Kconfig: restyle
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 <jbx6244@gmail.com>
2026-06-25 15:01:00 -06:00
Johan JonkerandTom Rini 145d58e2c7 Kconfig: drivers: restyle remaining
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 <jbx6244@gmail.com>
[trini: Add missing indentation on a few more multi-paragraph help texts]
Signed-off-by: Tom Rini <trini@konsulko.com>
2026-06-25 15:00:58 -06:00
Johan JonkerandTom Rini 173ffc7bcf Kconfig: gpio: add empty line
Restyle by adding an empty line between configs.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2026-06-25 14:59:44 -06:00
Johan JonkerandTom Rini 55ae284935 Kconfig: video: restyle
Restyle all Kconfigs for "video":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
[trini: Add missing indentation on a multi-paragraph help text]
Signed-off-by: Tom Rini <trini@konsulko.com>
2026-06-25 14:59:30 -06:00
Johan JonkerandTom Rini 8b09b702d4 Kconfig: usb: restyle
Restyle all Kconfigs for "usb":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2026-06-25 14:58:13 -06:00
Johan JonkerandTom Rini b2c5dd6048 Kconfig: power: restyle
Restyle all Kconfigs for "power":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
[trini: Add missing indentation on a few more multi-paragraph help texts]
Signed-off-by: Tom Rini <trini@konsulko.com>
2026-06-25 14:57:42 -06:00
Johan JonkerandTom Rini 591086d49d Kconfig: pinctrl: restyle
Restyle all Kconfigs for "pinctrl":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2026-06-25 14:53:58 -06:00
Johan JonkerandTom Rini 2b92ad8622 Kconfig: net: restyle
Restyle all Kconfigs for "net":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2026-06-25 14:53:51 -06:00
Johan JonkerandTom Rini 11b7a94757 Kconfig: mtd: restyle
Restyle all Kconfigs for "mtd":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
[trini: Add missing indentation on a few more multi-paragraph help texts]
Signed-off-by: Tom Rini <trini@konsulko.com>
2026-06-25 14:53:19 -06:00
Johan JonkerandTom Rini 54cac2bf5c Kconfig: i2c: restyle
Restyle all Kconfigs for "i2c":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2026-06-25 14:15:37 -06:00
Johan JonkerandTom Rini f934012cd9 Kconfig: net: restyle
Restyle all Kconfigs for "net":
Menu entries   : no space left
Menu attributes: 1 TAB
Help text      : 1 TAB + 2 spaces
Replace '---help---' by 'help'

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
2026-06-25 14:15:33 -06:00