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

Stefan Roese sr at denx.de
Fri Apr 28 07:46:34 CEST 2023


On 4/28/23 06:08, Peng Fan (OSS) wrote:
> 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.

Good to hear, thanks for working on this.

Thanks,
Stefan

> 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%)
> 

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list