Commit Graph
106234 Commits
Author SHA1 Message Date
Tom Rini 204eefab53 MAINTAINERS: Remove merge garbage
When I merged the changes in commit 0d8e33717d ("Merge patch series
"arm: aspeed: add initial AST2700 SoC support"") I didn't fully remove
the before/after changes. Finish this merge now.

Reported-by: Yao Zi <me@ziyao.cc>
Signed-off-by: Tom Rini <trini@konsulko.com>
2026-07-01 11:17:06 -06:00
Tom Rini ae169744cf Merge tag 'u-boot-pci-next-20260701' of https://source.denx.de/u-boot/custodians/u-boot-ufs into next
- Add myself as PCI core maintainer
- Use dev_read/dev_remap APIs
2026-07-01 08:39:53 -06:00
Peng FanandNeil Armstrong 57abbbcc94 pci: layerscape: ep: Use dev APIs
Convert the Layerscape PCIe endpoint driver to use device and ofnode-based
APIs instead of legacy FDT interfaces.

Replace devfdt_get_addr_index_ptr(), fdt_get_named_resource(),
fdtdec_get_bool(), and fdtdec_get_int() with their modern counterparts such
as dev_read_addr_index_ptr(), dev_read_resource_byname(),
dev_read_bool(), and dev_read_s32_default().

Also remove the dependency on gd->fdt_blob and global data access.

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260526-devfdt-pci-v1-5-ed7f31d73938@nxp.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2026-07-01 11:42:52 +02:00
Peng FanandNeil Armstrong fc1016d683 pci: imx: Use dev_read_addr_index_ptr()
Use dev_read_addr_index_ptr() which support both live device tree and flat
DT backends, avoiding direct dependency on devfdt_* helpers.

No functional changes

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260526-devfdt-pci-v1-4-ed7f31d73938@nxp.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2026-07-01 11:42:52 +02:00
Peng FanandNeil Armstrong 06fdccbcd8 pci: dw_mvebu: Use dev_read_addr_x APIs
Use dev_read_addr_x APIs which support both live device tree and flat DT
backends, avoiding direct dependency on devfdt_* helpers.

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Stefan Roese <stefan.roese@mailbox.org>
Link: https://patch.msgid.link/20260526-devfdt-pci-v1-3-ed7f31d73938@nxp.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2026-07-01 11:42:52 +02:00
Peng FanandNeil Armstrong 9b6f2786aa pci: mpc85xx: Simplfy code with dev_remap_addr()
devfdt_get_addr_ptr() + map_physmem() could be simplifed with
devfdt_remap_addr(). But to avoid direct dependency on devfdt_* helpers,
use dev_remap_addr().

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Heiko Schocher <hs@nabladev.com>
Link: https://patch.msgid.link/20260526-devfdt-pci-v1-2-ed7f31d73938@nxp.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2026-07-01 11:42:51 +02:00
Peng FanandNeil Armstrong f657eab9be pci: rcar: Use dev_read_addr_index()
Use dev_read_addr_index() which supports both live device tree and flat DT
backends, avoiding direct dependency on devfdt_* helpers.

While at here, correct the return value check.

No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260526-devfdt-pci-v1-1-ed7f31d73938@nxp.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2026-07-01 11:42:51 +02:00
Neil Armstrong 6f949abb3c MAINTAINERS: Add myself as core PCI maintainer
Adding an entry for the PCI subsystem and add myself to the list
of maintainers to review patches and maintain the PCI subsystem core
along the ongoing work of the PCI platform maintainers.

Acked-by: Tom Rini <trini@konsulko.com>
Link: https://patch.msgid.link/20260519-u-boot-pci-nvme-maintainer-v1-2-363593cbbfdc@linaro.org
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2026-07-01 11:42:51 +02:00
Jonas KarlmanandTom Rini 5602e89a83 rockchip: sdram: Fix initialization of DRAM banks
The commit 55a3421769 ("common: Add an option to relocate on ram top")
changed so that dram_init_banksize() is called before gd->ram_top has
been initialized. This change broke Rockchip DRAM banks configuration
due to gd->ram_top now being 0 when dram_init_banksize() is called.

This makes first DRAM bank size calculation overflow and end up with

  DRAM bank   = 0x0000000000000000
  -> start    = 0x0000000000200000
  -> size     = 0xffffffffffe00000

instead of the expected (for 2 GiB)

  DRAM bank   = 0x0000000000000000
  -> start    = 0x0000000000200000
  -> size     = 0x000000007fe00000

or (for 4 GiB)

  DRAM bank   = 0x0000000000000000
  -> start    = 0x0000000000200000
  -> size     = 0x00000000f7e00000

on e.g. RK3399 boards.

Change to not depend on gd->ram_top having to be pre-calculated before
dram_init_banksize() is called, also move the related method
board_get_usable_ram_top() closer to more easily get an overview of
their interdependence, to restore working DRAM bank initialization.

Fixes: 55a3421769 ("common: Add an option to relocate on ram top")
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reported-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Tested-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> # on Radxa ROCK
2026-06-30 13:38:12 -06:00
Rasmus VillemoesandTom Rini 5a49a1dd55 Makefile.lib: remove stale migrate_xxx logic from fdtgrep logic
Commit 6d04828b45 ("dm: Remove pre-schema tag support") removed the
definitions of these migrate_xxx variables, but left behind their use
in the fdtgrep rule, which now makes that somewhat hard to understand.

Signed-off-by: Rasmus Villemoes <rv@rasmusvillemoes.dk>
Reviewed-by: Simon Glass <sjg@chromium.org>
2026-06-30 13:38:12 -06:00
Marek VasutandTom Rini 85a35bcd63 MAINTAINERS: Replace Cortina with N:
Use N: to match on all cortina files, drop the large list of
entries which represent the same set of relevant files and miss a
few in the process.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2026-06-30 10:30:10 -06:00
Tom Rini 0acd34228c Merge tag 'u-boot-dfu-next-20260629' of https://source.denx.de/u-boot/custodians/u-boot-dfu into next
u-boot-dfu-next-20260629:

CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/30562

Fastboot:
- Add support for CMD_FASTBOOT_ABORT_KEYED
- Enable CMD_FASTBOOT_ABORT_KEYED for qualcomm phones

USB Gadget:
- f_mass_storage: Disable eps during disconnect
- f_sdp: Fix spl load failure error handling
2026-06-30 09:27:19 -06:00
Tom Rini 0d8e33717d Merge patch series "arm: aspeed: add initial AST2700 SoC support"
Ryan Chen <ryan_chen@aspeedtech.com> says:

AST2700 is the 8th generation of Integrated Remote Management
Processor introduced by ASPEED Technology Inc. It is a Board
Management Controller (BMC) SoC family with a dual-die architecture:
SoC0 ("CPU" die with four ARM Cortex-A35 application cores) and
SoC1 ("IO" die with peripherals) each SoC have its own SCU PLLs,
clock dividers and reset domains.

Link: https://lore.kernel.org/r/20260612-ast2700_clk-v4-0-9bea29cfdc39@aspeedtech.com
2026-06-29 15:29:56 -06:00
Marek VasutandTom Rini d504639843 treewide: Staticize and constify acpi ops
Set the acpi_ops structure as static const where applicable. The
The structure is not accessible from outside of drivers and is not
going to be modified at runtime. The structure may be unused in a
couple of drivers depending on their configuration, mark those
sites with __maybe_unused .

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2026-06-29 15:29:44 -06:00
Marek VasutandTom Rini 4a0990218a cros_ec: Convert dm_cros_ec_get_ops into an inline function and constify dm_cros_ec_ops
Convert dm_cros_ec_get_ops into an inline function to improve compiler
code coverage, and constify struct dm_cros_ec_ops in a few places.

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
2026-06-29 15:29:44 -06:00
Alexander KochandTom Rini a51f24ac31 env: Avoid mixing of environment and driver prints on env load
The current environment loading code prints a partial string
"Loading Environment from %s..." and then triggers env driver
loading function. That env driver loading function may trigger
further prints, either from the env driver itself or from any
other driver that gets probed at that time. The result is a
print which mixed environment loading code prints and driver
code prints, as follows:

"
       Environment code print        _________________________
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv                          vv
Loading Environment from SPIFlash... SF: Detected w25q128jw... OK
                                     ^^^^^^^^^^^^^^^^^^^^^^
                                        Driver code print
"

Adjust the environment loading code print such, that it places
CR at the end of the line. This way, when the driver code prints
something, it overwrites the previous "Loading Environment from %s"
output and the result is not mixed. Furthermore, in case the env
was loaded correctly, print the "Loading Environment from %s ... OK"
in full again. This either overwrites the "Loading Environment from"
message and appends the print with "OK", or, it prints the line in
full after all the driver code prints.

This is not ideal, but it is the best we can do with only CR and
without ANSI control sequences. The result looks as follows:

"
SF: Detected w25q128jw with page size 256 Bytes, erase size 4 KiB, total 16 MiB
Loading Environment from SPIFlash... OK
"

Signed-off-by: Alexander Koch <akoch@initse.com>
Signed-off-by: Marek Vasut <marex@nabladev.com>
2026-06-29 15:29:44 -06:00
Naveen Kumar ChaudharyandTom Rini 1537ec5ceb rtc: mcfrtc: fix leap year calculation using wrong variable
The leap year check in rtc_set() passes the loop variable 'i' (month
index, always 1 when the condition is true) to isleap() instead of the
actual year. Since isleap(1) is always false, February 29th is never
accounted for when computing the day count, resulting in the RTC being
set one day behind for any date after February in a leap year.

Pass tmp->tm_year to isleap() so the leap day is correctly included.

Fixes: 8e585f02f8 ("Added M5329AFEE and M5329BFEE Platforms")
Signed-off-by: Naveen Kumar Chaudhary <naveen.osdev@gmail.com>
2026-06-29 15:29:23 -06:00
Ryan ChenandTom Rini 4a72fd9fb0 ram: aspeed: add SDRAM controller driver for AST2700
Add a SDRAM controller driver for the AST2700, derived from the
existing AST2700 controller code used by the Ibex SPL but adapted
to run from ARM U-Boot proper on the Cortex-A35 cores.

The DDR4/DDR5 controller and its DesignWare PHY are programmed by
the Ibex SPL before ARM U-Boot proper takes over. This driver
reads back the configuration left by the SPL, probes the
controller, and exposes ram_info (base and size, with the VGA
carve-out subtracted) via UCLASS_RAM so that dram_init() can
populate gd->ram_size.

The PHY firmware-load entry points (dwc_ddrphy_phyinit_userCustom_*)
are kept compiled but call a __weak fmc_hdr_get_prebuilt() stub
when ARM U-Boot proper is the caller; the real implementation is
provided by the Ibex SPL via the same fmc_hdr.h descriptor format
(here added for the ARM build).

Adds the supporting register-layout headers under
arch/arm/include/asm/arch-aspeed/:
  - sdram.h:   SDRAM controller and DWC PHY register definitions
  - scu.h:     SCU bits referenced by the SDRAM driver
  - fmc_hdr.h: prebuilt-blob descriptor (binary-compatible with
               arch/riscv/include/asm/arch-ast2700/fmc_hdr.h used
               by the Ibex SPL)

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2026-06-29 13:43:21 -06:00
Ryan ChenandTom Rini 6fb40812dd reset: ast2700: add reset driver support
Add reset controller driver for the dual-die AST2700 SoC. The
controller manages module-level reset signals via the modrst
register block at offset 0x200 within each SCU.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2026-06-29 13:43:20 -06:00
Ryan ChenandTom Rini 0758fddb37 clk: ast2700: add clock driver support
Add clock controller driver for the dual-die AST2700 SoC. The chip
has two SCUs (SoC0/CPU at 0x12c02000, SoC1/IO at 0x14c02000), each
with its own PLLs (HPLL/APLL/DPLL/MPLL), clock dividers and clock
gate controls. This commit registers two UCLASS_CLK drivers
matching "aspeed,ast2700-scu0" and "aspeed,ast2700-scu1".

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2026-06-29 13:43:20 -06:00
Ryan ChenandTom Rini 40bf1417ba arm: dts: aspeed: Add initial AST27xx SoC device tree
Add initial device tree support for the ASPEED AST27xx family, the
8th-generation Baseboard Management Controller (BMC) SoCs.

AST27xx SOC Family
 - https://www.aspeedtech.com/server_ast2700/
 - https://www.aspeedtech.com/server_ast2720/
 - https://www.aspeedtech.com/server_ast2750/

The AST27xx features a dual-SoC architecture consisting of two ties,
referred to as SoC0 and SoC1 - interconnected through an internal
property bus. Both SoCs share the same address decoding scheme,
while each maintains independent clock and reset domains.

- SoC0 (CPU die): contains a dual-core Cortex-A35 cluster and two
  Cortex-M4 cores, along with high-speed peripherals.
- SoC1 (I/O die): includes the BootMCU (responsible for system
  boot) and its own clock/reset domains low-speed peripherals.

The device tree describes the SoC0 and SoC1 domains and their peripheral
layouts.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2026-06-29 13:43:20 -06:00
Ryan ChenandTom Rini b62b55ba4b arm: aspeed: add ASPEED AST2700 SoC family support
Add initial support for the ASPEED AST2700, an arm64 (Cortex-A35)
Baseboard Management Controller (BMC) SoC. AST2700 is Aspeed's 8th
generation BMC and uses a dual-die architecture: SoC0 (the "CPU"
die) hosts the four Cortex-A35 cores and its own SCU at 0x12c02000,
while SoC1 (the "IO" die) hosts the peripherals and its own SCU at
0x14c02000.

This commit adds:
  - ASPEED_AST2700 Kconfig option and the ast2700 mach subdir
    (mach Makefile, ast2700/Kconfig, board/aspeed/evb_ast2700/*)
  - arm64 MMU map covering the SoC device window and the DRAM
    region at 0x4_0000_0000 (up to 8 GiB)
  - lowlevel_init.S for early CPU bring-up
  - cpu-info: print SoC ID (AST2700/2720/2750 A0/A1/A2 variants)
    and reset cause (cold reset, EXT reset, WDT reset)
  - board_common: dram_init via UCLASS_RAM, AHBC timeout init
  - platform: env_get_location() that selects SPI/eMMC based on
    the IO-die HW strap; arch_misc_init() that exposes
    ${boot_device} and ${verify} to the boot script
  - SCU0/SCU1 register layout header (scu_ast2700.h)
  - configs/evb-ast2700_defconfig and include/configs/evb_ast2700.h
    for the AST2700 EVB board

The defconfig depends on ast2700-evb.dts, which is introduced in
a subsequent patch; this commit must be applied with the
remaining series for evb-ast2700_defconfig to build.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2026-06-29 13:43:20 -06:00
Ryan ChenandTom Rini 3fa1b49c94 spi: aspeed: add AST2700 support
AST2700 is a 64-bit SoC whose flash AHB windows are decoded above
the 32-bit address space, so rework AHB addresses to uintptr_t and
decoded window sizes to size_t.

Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com>
2026-06-29 13:43:20 -06:00
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