mbox series

[00/42] imx: i.MX9 update

Message ID 20230428040847.10841-1-peng.fan@oss.nxp.com
Headers show
Series imx: i.MX9 update | expand

Message

Peng Fan (OSS) April 28, 2023, 4:08 a.m. UTC
From: Peng Fan <peng.fan@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%)

Comments

Stefan Roese April 28, 2023, 5:46 a.m. UTC | #1
On 4/28/23 06:08, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@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
Peng Fan (OSS) May 5, 2023, 9:25 a.m. UTC | #2
Hi Stefano, Fabio

Do you have time to give a look? Is there a chance to for this patchset 
landed in 2023.07?

Thanks,
Peng

On 4/28/2023 12:08 PM, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@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%)
>
Stefano Babic May 21, 2023, 2:58 p.m. UTC | #3
Hi peng,

On 05.05.23 11:25, Peng Fan wrote:
> Hi Stefano, Fabio
> 
> Do you have time to give a look? Is there a chance to for this patchset 
> landed in 2023.07?
> 

Most patches are very small and clean. I have picked them up, I found a 
small issue due to the different place for sci.h, and I fixed this 
adding to your patch this:

diff --git a/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c 
b/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c
index 867ceff996..8b4d73052e 100644
--- a/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c
+++ b/board/advantech/imx8qm_dmsse20_a1/imx8qm_dmsse20_a1.c
@@ -10,7 +10,7 @@
  #include <asm/io.h>
  #include <asm/gpio.h>
  #include <asm/arch/clock.h>
-#include <asm/arch/sci/sci.h>
+#include <firmware/imx/sci/sci.h>
  #include <asm/arch/imx8-pins.h>
  #include <asm/arch/iomux.h>
  #include <asm/arch/sys_proto.h>
diff --git a/board/advantech/imx8qm_dmsse20_a1/spl.c 
b/board/advantech/imx8qm_dmsse20_a1/spl.c
index 49067bbfd6..7f2e972425 100644
--- a/board/advantech/imx8qm_dmsse20_a1/spl.c
+++ b/board/advantech/imx8qm_dmsse20_a1/spl.c
@@ -11,7 +11,7 @@
  #include <asm/io.h>
  #include <asm/gpio.h>
  #include <asm/arch/clock.h>
-#include <asm/arch/sci/sci.h>
+#include <firmware/imx/sci/sci.h>
  #include <asm/arch/imx8-pins.h>
  #include <asm/arch/iomux.h>
  #include <fsl_esdhc_imx.h>

(by the way, I do not think it is required to repost the patch, as the 
reason is clear and could be easy fixed).

I will rerun CI to check again, but then I agree to get this series soon.

Best regards,
Stefano

> Thanks,
> Peng
> 
> On 4/28/2023 12:08 PM, Peng Fan (OSS) wrote:
>> From: Peng Fan <peng.fan@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%)
>>