From: Peng Fan <peng....@nxp.com> This is to resend the pending patches [1,2,3] for Stefano to pick Patchset base: fc97ff2695d6d7fbea7d5fda7b080f405d6ee744 (origin/master, origin/HEAD, imx/master) Merge https://source.denx.de/u-boot/custodians/u-boot-sunxi
Rebased patches to avoid buid break. 1. https://patchwork.ozlabs.org/project/uboot/patch/20220711071853.9299-1-peng....@oss.nxp.com/ 2. https://patchwork.ozlabs.org/project/uboot/cover/20220705060644.4509-1-peng....@oss.nxp.com/ 3. https://patchwork.ozlabs.org/project/uboot/cover/20220627034130.5892-1-peng....@oss.nxp.com/ CI: https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq/-/pipelines/12806 THere is one error is arm32 build exceed 1 hour fail, which i think not because of this patchset. 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 (35): 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: introduce eqos hook eqos_get_enetaddr board: freescale: imx93_evk: support ethernet tools: image: support i.MX93 arm: dts: imx8m: update binman ddr firmware node name ddr: imx8m: helper: load ddr firmware according to binman symbols arm: dts: imx8m: shrink ddr firmware size to actual file size imx: imx8mm-icore: migrate to use BINMAN 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/imx8mm-u-boot.dtsi | 16 +- arch/arm/dts/imx8mn-beacon-kit-u-boot.dtsi | 20 +- .../dts/imx8mn-bsh-smm-s2-u-boot-common.dtsi | 8 +- arch/arm/dts/imx8mn-ddr4-evk-u-boot.dtsi | 20 +- arch/arm/dts/imx8mn-evk-u-boot.dtsi | 20 +- .../dts/imx8mn-var-som-symphony-u-boot.dtsi | 16 +- arch/arm/dts/imx8mn-venice-u-boot.dtsi | 16 +- arch/arm/dts/imx8mp-u-boot.dtsi | 20 +- arch/arm/dts/imx8mq-cm-u-boot.dtsi | 20 +- arch/arm/dts/imx8mq-u-boot.dtsi | 16 +- 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/Kconfig | 1 + .../mach-imx/imx8m/imximage-8mm-lpddr4.cfg | 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 | 19 + 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 | 3 +- configs/imx8mm-icore-mx8mm-edimm2.2_defconfig | 3 +- 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/kontron-sl-mx8mm_defconfig | 1 - 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 | 92 +- 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 | 145 ++ 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 +- 117 files changed, 11207 insertions(+), 729 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 (61%) 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