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

Stefano Babic sbabic at denx.de
Sun May 21 16:58:13 CEST 2023


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

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


More information about the U-Boot mailing list