[PATCH V2 00/49] imx: support i.MX93
Peng Fan
peng.fan at nxp.com
Mon Jun 27 08:45:01 CEST 2022
Hi Stefano,
> Subject: [PATCH V2 00/49] imx: support i.MX93
This should be V3, not V2. Hope this not matter, I have
marked the previous V2 as changes requested in patchwork.
Thanks,
Peng.
>
> From: Peng Fan <peng.fan at nxp.com>
>
> V2:
> Fix issue reported by CI build
> - Enlarge SPL_MAX_SIZE for i.MX8MM
> - Fix i.MX8ULP break
>
> This patchset is to support i.MX93, during the development, there are some
> code cleanup and restructure to make i.MX93 code porting cleaner.
>
> i.MX9 is a new i.MX family and i.MX93 is the first one that we would support
> in upstream. It features two Cortex-A55 core, one NPU, one M33 and others.
>
> There are some driver changes that also included to make i.MX93 function well,
> lpuart/mmc/network.
>
> mkimage also included, but I have not enable BINMAN which is under
> development, will post a follow patchset to switch to binman.
>
> Alice Guo (3):
> misc: imx8ulp: move fuse.c from imx8ulp to sentinel
> misc: fuse: support to access fuse on i.MX93
> misc: fuse: update the code for accessing fuse of i.MX93
>
> Jian Li (1):
> imx: imx9: Add function to initialize timer
>
> Peng Fan (31):
> spl: imx8mm: enlarge SPL_MAX_SIZE
> arm: makefile: cleanup mach-imx usage
> imx: simplify dependency with SPL_BOOTROM_SUPPORT
> imx: move get_boot_device to common header
> imx: move get_boot_device to common file
> imx: add USB2_BOOT type
> imx: add basic i.MX9 support
> fsl_lpuart: add i.MX9 support
> gpio: pca953x: support pcal6524
> imx: pinctrl: add pinctrl and pinfunc file for i.MX93
> imx: imx9: Add CCM and clock API support
> mmc: fsl_esdhc_imx: Support i.MX9
> spl: Use SPL_FIT_IMAGE_TINY for iMX9
> imx: imx9: support romapi
> misc: s4mu: Support iMX93 with Sentinel MU
> misc: S400_API: New API for FW status and chip info
> misc: s400_api: introduce ahab_release_m33_trout
> imx: imx9: Get the chip revision through S400 API
> imx: imx9: Add MIX power init
> imx: imx9: Add M33 release prepare function
> imx: imx9: Support booting m33 from Acore
> arm: dts: Add i.MX93 SoC DTSi file
> imx: imx93_evk: Add basic board support
> imx: imx93_evk: Set ARM clock to 1.7Ghz
> net: fec_mxc: support i.MX93
> net: dwc_eth_qos: fix build break when CLK not enabled
> net: dwc_eth_qos: public some functions
> net: dwc_eth_qos: move i.MX code out
> net: dwc_eth_qos: intrdouce eqos hook eqos_get_enetaddr
> board: freescale: imx93_evk: support ethernet
> tools: image: support i.MX93
>
> Ye Li (14):
> imx: Change USB boot device type
> imx: spl: Allow iMX7/8/8M to overwrite spl_board_boot_device
> imx: imx9: disable watchdog
> misc: imx: S400_API: Move S400 MU and API to a common place
> misc: S400_API: Update release RDC API
> imx: imx9: Add TRDC driver for TRDC init
> imx: imx9: Add AHAB boot support
> misc: S400_API: Rename imx8ulp_s400_msg to sentinel_msg
> imx: imx9: Add gpio registers structure
> imx: imx9: Support multiple env storages at runtime
> imx: imx9: clock: Add DDR clock support
> ddr: imx: Add i.MX9 DDR controller driver
> ddr: imx9: enable Performance monitor counter
> net: eqos: add function to get phy node and address
>
> arch/arm/Kconfig | 16 +
> arch/arm/Makefile | 12 +-
> arch/arm/dts/Makefile | 3 +
> arch/arm/dts/imx93-11x11-evk-u-boot.dtsi | 157 ++
> arch/arm/dts/imx93-11x11-evk.dts | 527 ++++++
> arch/arm/dts/imx93-pinfunc.h | 625 +++++++
> arch/arm/dts/imx93.dtsi | 688 ++++++++
> arch/arm/include/asm/arch-imx/cpu.h | 2 +
> arch/arm/include/asm/arch-imx8/sys_proto.h | 1 -
> arch/arm/include/asm/arch-imx8m/ddr.h | 6 +-
> arch/arm/include/asm/arch-imx8m/sys_proto.h | 2 +-
> arch/arm/include/asm/arch-imx8ulp/sys_proto.h | 5 -
> arch/arm/include/asm/arch-imx9/ccm_regs.h | 266 +++
> arch/arm/include/asm/arch-imx9/clock.h | 244 +++
> arch/arm/include/asm/arch-imx9/ddr.h | 126 ++
> arch/arm/include/asm/arch-imx9/gpio.h | 20 +
> arch/arm/include/asm/arch-imx9/imx-regs.h | 234 +++
> arch/arm/include/asm/arch-imx9/imx93_pins.h | 729 ++++++++
> arch/arm/include/asm/arch-imx9/sys_proto.h | 14 +
> arch/arm/include/asm/arch-imx9/trdc.h | 19 +
> arch/arm/include/asm/arch-mx7/sys_proto.h | 1 -
> arch/arm/include/asm/arch-mx7ulp/sys_proto.h | 1 -
> arch/arm/include/asm/global_data.h | 5 +-
> arch/arm/include/asm/mach-imx/boot_mode.h | 1 +
> arch/arm/include/asm/mach-imx/iomux-v3.h | 11 +-
> .../asm/{arch-imx8ulp => mach-imx}/mu_hal.h | 4 +-
> .../asm/{arch-imx8ulp => mach-imx}/s400_api.h | 18 +-
> arch/arm/include/asm/mach-imx/sys_proto.h | 11 +-
> arch/arm/mach-imx/Kconfig | 3 +-
> arch/arm/mach-imx/Makefile | 10 +-
> arch/arm/mach-imx/imx8m/soc.c | 47 -
> arch/arm/mach-imx/imx8ulp/ahab.c | 345 ++++
> arch/arm/mach-imx/imx8ulp/rdc.c | 6 +-
> arch/arm/mach-imx/imx8ulp/soc.c | 48 +-
> arch/arm/mach-imx/imx9/Kconfig | 34 +
> arch/arm/mach-imx/imx9/Makefile | 11 +
> arch/arm/mach-imx/imx9/ahab.c | 346 ++++
> arch/arm/mach-imx/imx9/clock.c | 844 ++++++++++
> arch/arm/mach-imx/imx9/clock_root.c | 438 +++++
> arch/arm/mach-imx/imx9/imx_bootaux.c | 133 ++
> arch/arm/mach-imx/imx9/lowlevel_init.S | 26 +
> arch/arm/mach-imx/imx9/soc.c | 473 ++++++
> arch/arm/mach-imx/imx9/trdc.c | 581 +++++++
> arch/arm/mach-imx/imx_romapi.c | 60 +
> arch/arm/mach-imx/spl.c | 82 +-
> board/freescale/common/Makefile | 2 +-
> board/freescale/imx8ulp_evk/spl.c | 2 +-
> board/freescale/imx93_evk/Kconfig | 21 +
> board/freescale/imx93_evk/MAINTAINERS | 6 +
> board/freescale/imx93_evk/Makefile | 12 +
> board/freescale/imx93_evk/imx93_evk.c | 90 +
> board/freescale/imx93_evk/lpddr4x_timing.c | 1486
> +++++++++++++++++
> board/freescale/imx93_evk/spl.c | 129 ++
> common/spl/Kconfig | 3 +-
> configs/imx8mm-cl-iot-gate-optee_defconfig | 1 -
> configs/imx8mm-cl-iot-gate_defconfig | 1 -
> configs/imx8mm-icore-mx8mm-ctouch2_defconfig | 1 -
> configs/imx8mm-icore-mx8mm-edimm2.2_defconfig | 1 -
> configs/imx8mm-mx8menlo_defconfig | 1 -
> configs/imx8mm_beacon_defconfig | 1 -
> configs/imx8mm_data_modul_edm_sbc_defconfig | 1 -
> configs/imx8mm_evk_defconfig | 1 -
> configs/imx8mm_venice_defconfig | 1 -
> configs/imx93_11x11_evk_defconfig | 117 ++
> configs/phycore-imx8mm_defconfig | 1 -
> configs/verdin-imx8mm_defconfig | 1 -
> drivers/Makefile | 1 +
> drivers/ddr/imx/Kconfig | 2 +
> drivers/ddr/imx/imx8m/Kconfig | 1 +
> drivers/ddr/imx/imx8m/Makefile | 3 +-
> drivers/ddr/imx/imx8m/ddr_init.c | 219 +++
> drivers/ddr/imx/imx9/Kconfig | 27 +
> drivers/ddr/imx/imx9/Makefile | 10 +
> drivers/ddr/imx/imx9/ddr_init.c | 489 ++++++
> drivers/ddr/imx/phy/Kconfig | 4 +
> drivers/ddr/imx/phy/Makefile | 9 +
> drivers/ddr/imx/{imx8m => phy}/ddrphy_csr.c | 0
> drivers/ddr/imx/{imx8m => phy}/ddrphy_train.c | 1 -
> drivers/ddr/imx/phy/ddrphy_utils.c | 169 ++
> drivers/ddr/imx/{imx8m => phy}/helper.c | 45 +-
> drivers/gpio/pca953x_gpio.c | 4 +
> drivers/misc/Kconfig | 7 +
> drivers/misc/Makefile | 2 +-
> drivers/misc/{imx8ulp => sentinel}/Makefile | 2 +-
> drivers/misc/{imx8ulp => sentinel}/fuse.c | 96 +-
> drivers/misc/{imx8ulp => sentinel}/s400_api.c | 149 +-
> .../{imx8ulp/imx8ulp_mu.c => sentinel/s4mu.c} | 11 +-
> drivers/mmc/Kconfig | 2 +-
> drivers/net/Kconfig | 2 +-
> drivers/net/Makefile | 1 +
> drivers/net/dwc_eth_qos.c | 406 +----
> drivers/net/dwc_eth_qos.h | 284 ++++
> drivers/net/dwc_eth_qos_imx.c | 131 ++
> drivers/net/fec_mxc.c | 4 +-
> drivers/pinctrl/nxp/Kconfig | 13 +
> drivers/pinctrl/nxp/Makefile | 1 +
> drivers/pinctrl/nxp/pinctrl-imx93.c | 37 +
> include/configs/imx93_evk.h | 149 ++
> include/dt-bindings/clock/imx93-clock.h | 203 +++
> include/dt-bindings/power/imx93-power.h | 12 +
> include/fsl_lpuart.h | 2 +-
> include/imx8image.h | 15 +-
> include/imx_sip.h | 1 +
> tools/imx8image.c | 79 +-
> 104 files changed, 11072 insertions(+), 635 deletions(-) create mode
> 100644 arch/arm/dts/imx93-11x11-evk-u-boot.dtsi
> create mode 100644 arch/arm/dts/imx93-11x11-evk.dts create mode
> 100644 arch/arm/dts/imx93-pinfunc.h create mode 100644
> arch/arm/dts/imx93.dtsi create mode 100644
> arch/arm/include/asm/arch-imx9/ccm_regs.h
> create mode 100644 arch/arm/include/asm/arch-imx9/clock.h
> create mode 100644 arch/arm/include/asm/arch-imx9/ddr.h
> create mode 100644 arch/arm/include/asm/arch-imx9/gpio.h
> create mode 100644 arch/arm/include/asm/arch-imx9/imx-regs.h
> create mode 100644 arch/arm/include/asm/arch-imx9/imx93_pins.h
> create mode 100644 arch/arm/include/asm/arch-imx9/sys_proto.h
> create mode 100644 arch/arm/include/asm/arch-imx9/trdc.h
> rename arch/arm/include/asm/{arch-imx8ulp => mach-imx}/mu_hal.h (79%)
> rename arch/arm/include/asm/{arch-imx8ulp => mach-imx}/s400_api.h (75%)
> create mode 100644 arch/arm/mach-imx/imx8ulp/ahab.c create mode
> 100644 arch/arm/mach-imx/imx9/Kconfig create mode 100644
> arch/arm/mach-imx/imx9/Makefile create mode 100644
> arch/arm/mach-imx/imx9/ahab.c create mode 100644
> arch/arm/mach-imx/imx9/clock.c create mode 100644
> arch/arm/mach-imx/imx9/clock_root.c
> create mode 100644 arch/arm/mach-imx/imx9/imx_bootaux.c
> create mode 100644 arch/arm/mach-imx/imx9/lowlevel_init.S
> create mode 100644 arch/arm/mach-imx/imx9/soc.c create mode 100644
> arch/arm/mach-imx/imx9/trdc.c create mode 100644
> arch/arm/mach-imx/imx_romapi.c create mode 100644
> board/freescale/imx93_evk/Kconfig create mode 100644
> board/freescale/imx93_evk/MAINTAINERS
> create mode 100644 board/freescale/imx93_evk/Makefile
> create mode 100644 board/freescale/imx93_evk/imx93_evk.c
> create mode 100644 board/freescale/imx93_evk/lpddr4x_timing.c
> create mode 100644 board/freescale/imx93_evk/spl.c create mode 100644
> configs/imx93_11x11_evk_defconfig create mode 100644
> drivers/ddr/imx/imx9/Kconfig create mode 100644
> drivers/ddr/imx/imx9/Makefile create mode 100644
> drivers/ddr/imx/imx9/ddr_init.c create mode 100644
> drivers/ddr/imx/phy/Kconfig create mode 100644
> drivers/ddr/imx/phy/Makefile rename drivers/ddr/imx/{imx8m =>
> phy}/ddrphy_csr.c (100%) rename drivers/ddr/imx/{imx8m =>
> phy}/ddrphy_train.c (98%) create mode 100644
> drivers/ddr/imx/phy/ddrphy_utils.c
> rename drivers/ddr/imx/{imx8m => phy}/helper.c (79%) rename
> drivers/misc/{imx8ulp => sentinel}/Makefile (67%) rename
> drivers/misc/{imx8ulp => sentinel}/fuse.c (69%) rename
> drivers/misc/{imx8ulp => sentinel}/s400_api.c (69%) rename
> drivers/misc/{imx8ulp/imx8ulp_mu.c => sentinel/s4mu.c} (94%) create mode
> 100644 drivers/net/dwc_eth_qos.h create mode 100644
> drivers/net/dwc_eth_qos_imx.c create mode 100644
> drivers/pinctrl/nxp/pinctrl-imx93.c
> create mode 100644 include/configs/imx93_evk.h create mode 100644
> include/dt-bindings/clock/imx93-clock.h
> create mode 100644 include/dt-bindings/power/imx93-power.h
>
> --
> 2.36.0
More information about the U-Boot
mailing list