[PATCH 00/42] imx: i.MX9 update

Peng Fan (OSS) peng.fan at oss.nxp.com
Fri Apr 28 06:08:05 CEST 2023


From: Peng Fan <peng.fan at 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-marex@denx.de/
https://patchwork.ozlabs.org/project/uboot/patch/20230404192510.160819-2-marex@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



More information about the U-Boot mailing list