From: Peng Fan <peng....@nxp.com> This patchset includes updates mainly for i.MX9, such as Clock, Memory, Parts, Low drive mode, DDR, cpu driver, Variants
The first patch is not about i.MX9, just include it here since it is a simple one for i.MX8ULP. For the watchdog reset_cpu, I will move it out from watchdog driver in future patches which would includes other changes. I include it here mainly for sysreset support. This patchset depends on two patches from Marek: https://patchwork.ozlabs.org/project/uboot/patch/20230404192510.160819-1-ma...@denx.de/ https://patchwork.ozlabs.org/project/uboot/patch/20230404192510.160819-2-ma...@denx.de/ Jacky Bai (4): ddr: imx9: Change the saved ddr data base to 0x2051c000 ddr: imx93: Add 625M bypass clock support ddr: imx93: update the ddr init to support mult setpoints ddr: imx9: update the rank setting for multi fsp support Peng Fan (33): imx8ulp: build ahab imx: spl_imx_romapi: typo fix imx: move imx8 sci header file to include/firmware/imx imx: firmware: sci: add inline functions when IMX8 not enabled imx: imx8_cpu: use static for local functions imx: imx8_cpu: support i.MX9 imx: imx8_cpu: support get temperature for i.MX9 imx: imx8_cpu: print cpu grade temperature imx9: configure M33 systick to 24M imx9: add more PLL settings imx9: use parameter freq when set_arm_clk imx9: correct getting LPI2C clk imx9: simplify clk settings imx9: cut off OPTEE memory region from U-Boot imx9: imx93_evk: enable CPU_IMX imx9: imx93_evk: drop unused macro imx9: imx93_evk: select IMX_TMU imx9: imx93_evk: enable CONFIG_WDT watchdog: ulp_wdog: guard reset_cpu with condition check imx9: soc: support reset cause imx9: Get market segment and speed grading imx9: clock: clear HW_CTRL_SEL imx9: clock: add CONFIG_IMX9_LOW_DRIVE_MODE support imx9: clock: config arm alt root to 500mhz imx9: add i.MX93 variants support imx9: correct coding style imx9: use i.MX generic rom api function imx9: imx93_evk: add low drive mode support on 11x11 EVK arm: dts: imx93: sync device tree with Linux arm: dts: imx93: add tmu imx9: imx93_evk: Update spl stack & bss base address imx9: imx93_evk: update ddr timing file imx9: imx93_evk: enable sysreset Ye Li (5): thermal: imx_tmu: Update TMU driver to support iMX93 imx9: Change hard coded MAC to read from fuse imx9: allow to bootaux Mcore with input address ddr: imx9: Add workaround for DDRPHY rank-to-rank errata imx9: Calculate DDR size from DDRC setting arch/arm/dts/imx93-11x11-evk-u-boot.dtsi | 29 - arch/arm/dts/imx93-11x11-evk.dts | 385 +- arch/arm/dts/imx93-pinfunc.h | 194 +- arch/arm/dts/imx93.dtsi | 618 +-- arch/arm/include/asm/arch-imx/cpu.h | 7 + arch/arm/include/asm/arch-imx8/power-domain.h | 2 +- arch/arm/include/asm/arch-imx8/sci/sci.h | 138 - arch/arm/include/asm/arch-imx8/sys_proto.h | 2 +- arch/arm/include/asm/arch-imx8m/ddr.h | 2 +- arch/arm/include/asm/arch-imx9/clock.h | 6 + arch/arm/include/asm/arch-imx9/ddr.h | 23 +- arch/arm/include/asm/arch-imx9/imx-regs.h | 3 + arch/arm/include/asm/mach-imx/sys_proto.h | 12 +- arch/arm/mach-imx/cmd_dek.c | 2 +- arch/arm/mach-imx/imx8/ahab.c | 2 +- arch/arm/mach-imx/imx8/cpu.c | 2 +- arch/arm/mach-imx/imx8/fdt.c | 2 +- arch/arm/mach-imx/imx8/iomux.c | 2 +- arch/arm/mach-imx/imx8/misc.c | 2 +- arch/arm/mach-imx/imx8/snvs_security_sc.c | 2 +- arch/arm/mach-imx/imx8ulp/Kconfig | 5 + arch/arm/mach-imx/imx8ulp/Makefile | 1 + arch/arm/mach-imx/imx9/Kconfig | 5 + arch/arm/mach-imx/imx9/clock.c | 113 +- arch/arm/mach-imx/imx9/imx_bootaux.c | 10 +- arch/arm/mach-imx/imx9/soc.c | 384 +- arch/arm/mach-imx/parse-container.c | 2 +- arch/arm/mach-imx/spl_imx_romapi.c | 2 +- .../imx8qm_rom7720_a1/imx8qm_rom7720_a1.c | 2 +- board/advantech/imx8qm_rom7720_a1/spl.c | 2 +- board/congatec/cgtqmx8/cgtqmx8.c | 2 +- board/freescale/imx8qm_mek/imx8qm_mek.c | 2 +- board/freescale/imx8qxp_mek/imx8qxp_mek.c | 2 +- board/freescale/imx8qxp_mek/spl.c | 2 +- board/freescale/imx93_evk/MAINTAINERS | 1 + board/freescale/imx93_evk/Makefile | 4 + board/freescale/imx93_evk/lpddr4x_timing.c | 3361 ++++++++++------- board/freescale/imx93_evk/lpddr4x_timing_ld.c | 1496 ++++++++ board/freescale/imx93_evk/spl.c | 26 +- board/siemens/capricorn/board.c | 2 +- board/toradex/apalis-imx8/apalis-imx8.c | 2 +- board/toradex/colibri-imx8x/colibri-imx8x.c | 2 +- configs/imx93_11x11_evk_defconfig | 12 +- configs/imx93_11x11_evk_ld_defconfig | 125 + drivers/clk/imx/clk-imx8.c | 2 +- drivers/clk/imx/clk-imx8qm.c | 2 +- drivers/clk/imx/clk-imx8qxp.c | 2 +- drivers/cpu/Kconfig | 6 + drivers/cpu/Makefile | 1 + drivers/cpu/imx8_cpu.c | 142 +- drivers/cpu/imx9_cpu.c | 224 ++ drivers/ddr/imx/imx9/Kconfig | 2 +- drivers/ddr/imx/imx9/ddr_init.c | 289 +- drivers/ddr/imx/phy/ddrphy_utils.c | 3 + drivers/ddr/imx/phy/helper.c | 5 +- drivers/misc/imx8/fuse.c | 2 +- drivers/misc/imx8/scu.c | 2 +- drivers/misc/imx8/scu_api.c | 2 +- drivers/pinctrl/nxp/pinctrl-scu.c | 2 +- .../power/domain/imx8-power-domain-legacy.c | 2 +- drivers/power/domain/imx8-power-domain.c | 2 +- drivers/thermal/Kconfig | 6 +- drivers/thermal/imx_scu_thermal.c | 2 +- drivers/thermal/imx_tmu.c | 101 + drivers/watchdog/ulp_wdog.c | 2 + include/configs/imx93_evk.h | 2 - include/dt-bindings/clock/imx93-clock.h | 17 +- include/dt-bindings/power/fsl,imx93-power.h | 15 + include/dt-bindings/power/imx93-power.h | 12 - .../firmware/imx}/sci/rpc.h | 0 include/firmware/imx/sci/sci.h | 379 ++ .../firmware/imx}/sci/svc/misc/api.h | 0 .../firmware/imx}/sci/svc/pad/api.h | 0 .../firmware/imx}/sci/svc/pm/api.h | 0 .../firmware/imx}/sci/svc/rm/api.h | 2 +- .../firmware/imx}/sci/svc/seco/api.h | 2 +- .../firmware/imx}/sci/types.h | 0 77 files changed, 5864 insertions(+), 2366 deletions(-) delete mode 100644 arch/arm/include/asm/arch-imx8/sci/sci.h create mode 100644 board/freescale/imx93_evk/lpddr4x_timing_ld.c create mode 100644 configs/imx93_11x11_evk_ld_defconfig create mode 100644 drivers/cpu/imx9_cpu.c create mode 100644 include/dt-bindings/power/fsl,imx93-power.h delete mode 100644 include/dt-bindings/power/imx93-power.h rename {arch/arm/include/asm/arch-imx8 => include/firmware/imx}/sci/rpc.h (100%) create mode 100644 include/firmware/imx/sci/sci.h rename {arch/arm/include/asm/arch-imx8 => include/firmware/imx}/sci/svc/misc/api.h (100%) rename {arch/arm/include/asm/arch-imx8 => include/firmware/imx}/sci/svc/pad/api.h (100%) rename {arch/arm/include/asm/arch-imx8 => include/firmware/imx}/sci/svc/pm/api.h (100%) rename {arch/arm/include/asm/arch-imx8 => include/firmware/imx}/sci/svc/rm/api.h (98%) rename {arch/arm/include/asm/arch-imx8 => include/firmware/imx}/sci/svc/seco/api.h (96%) rename {arch/arm/include/asm/arch-imx8 => include/firmware/imx}/sci/types.h (100%) -- 2.40.0