
Hi Peng,
On 15.07.21 05:29, Peng Fan (OSS) wrote:
All,
If no objection to this patchset, I'll send a PR to Stefano's repo in Friday this week. We will come out more update in rc[x]
No need - I am already on the way to merge them. TODO for next weekend.
I plan to merge this big chunk, too, before sending my PR to Tom, and also integrating some other patches that required just some refinements.
Regards, Stefano
Thanks, Peng. On 2021/6/29 10:31, Peng Fan (OSS) wrote:
From: Peng Fan peng.fan@nxp.com
V2: Rebased and test on new revision silicon with upower included.
The i.MX 8ULP crossover applications processor family brings ultra-low power processing and advanced integrated security with EdgeLockTM secure enclave to the intelligent edge.
It includes an uPower core for handling power related functions.
This patchset is to add initial support for i.MX8ULP, with core soc functions, clock, dtsi, and evk board.
Breno Lima (2): mx7ulp: Update unlock and refresh sequences in sWDOG driver mx7ulp: wdog: Wait for WDOG unlock and reconfiguration to complete
Peng Fan (24): arm: imx: add i.MX8ULP basic Kconfig option arm: imx: add i.MX8ULP cpu type and helper arm: imx: sys_proto: move boot mode define to common header arm: imx8ulp: support print cpu info imx: imx8ulp: add get reset cause arm: imx: basic i.MX8ULP support arm: imx: parse-container: guard included header files arm: imx: move container Kconfig under mach-imx net: fec_mxc: support i.MX8ULP driver: serial: fsl_lpuart: support i.MX8ULP arm: imx8ulp: add clock support drivers: mmc: fsl_esdhc_imx: support i.MX8ULP arm: imx8ulp: disable wdog3 arm: imx8ulp: add rdc support arm: imx8ulp: add trdc release request arm: imx8ulp: release trdc and assign lpav from RTD to APD imx8ulp: unify rdc functions arm: imx8ulp: add dummy imx_get_mac_from_fuse arm: imx8ulp: add iomuxc support imx8ulp: soc: correct reset cause imx8ulp: move struct mu_type to common header imx8ulp: add upower api support arm: dts: add i.MX8ULP dtsi arm: imx: add i.MX8ULP EVK support
Ye Li (20): arm: imx8: Move container parser and image to mach-imx common folder arm: imx8: Move container image header file to mach-imx arm: imx8ulp: add container support driver: misc: Add MU and S400 API to communicate with Sentinel pinctrl: Add pinctrl driver for imx8ulp arm: imx8ulp: soc: Change to use CMC1 to get bootcfg arm: imx8ulp: Enable full L2 cache in SPL arm: imx8ulp: Update the reset vector in u-boot drivers: misc: s400_api: Update S400_SUCCESS_IND to 0xd6 drivers: misc: imx8ulp: Add S400 API for image authentication drivers: misc: imx8ulp: Update S400 API for release RDC drivers: misc: s400_api: Update API for fuse read and write arm: imx8ulp: release and configure XRDC at early phase arm: imx8ulp: Probe the S400 MU device in arch init arm: iMX8ULP: Add boot device relevant functions arm: imx8ulp: Allocate DCNANO and MIPI_DSI to AD domain driver: misc: imx8ulp: Add fuse driver for imx8ulp imx8ulp: Use DGO_GP5 to get boot config imx8ulp: Add workaround for eMMC boot ddr: Add DDR driver for iMX8ULP
arch/arm/Kconfig | 10 + arch/arm/Makefile | 4 +- arch/arm/dts/Makefile | 3 + arch/arm/dts/imx8ulp-evk-u-boot.dtsi | 40 + arch/arm/dts/imx8ulp-evk.dts | 223 ++++ arch/arm/dts/imx8ulp-pinfunc.h | 978 ++++++++++++++ arch/arm/dts/imx8ulp.dtsi | 728 +++++++++++ arch/arm/include/asm/arch-imx/cpu.h | 4 + arch/arm/include/asm/arch-imx8ulp/cgc.h | 130 ++ arch/arm/include/asm/arch-imx8ulp/clock.h | 41 + arch/arm/include/asm/arch-imx8ulp/ddr.h | 38 + arch/arm/include/asm/arch-imx8ulp/gpio.h | 20 + arch/arm/include/asm/arch-imx8ulp/imx-regs.h | 162 +++ .../include/asm/arch-imx8ulp/imx8ulp-pins.h | 60 + arch/arm/include/asm/arch-imx8ulp/iomux.h | 82 ++ arch/arm/include/asm/arch-imx8ulp/mu_hal.h | 12 + arch/arm/include/asm/arch-imx8ulp/pcc.h | 139 ++ arch/arm/include/asm/arch-imx8ulp/rdc.h | 27 + arch/arm/include/asm/arch-imx8ulp/s400_api.h | 41 + arch/arm/include/asm/arch-imx8ulp/sys_proto.h | 19 + arch/arm/include/asm/arch-imx8ulp/upower.h | 15 + arch/arm/include/asm/arch-mx7ulp/sys_proto.h | 9 - arch/arm/include/asm/global_data.h | 5 + .../asm/{arch-imx8 => mach-imx}/image.h | 2 + arch/arm/include/asm/mach-imx/sys_proto.h | 13 +- arch/arm/mach-imx/Kconfig | 15 +- arch/arm/mach-imx/Makefile | 5 + arch/arm/mach-imx/cmd_dek.c | 2 +- .../{imx8/image.c => image-container.c} | 51 +- arch/arm/mach-imx/imx8/Kconfig | 13 - arch/arm/mach-imx/imx8/Makefile | 3 - arch/arm/mach-imx/imx8/ahab.c | 2 +- arch/arm/mach-imx/imx8ulp/Kconfig | 23 + arch/arm/mach-imx/imx8ulp/Makefile | 11 + arch/arm/mach-imx/imx8ulp/cgc.c | 455 +++++++ arch/arm/mach-imx/imx8ulp/clock.c | 397 ++++++ arch/arm/mach-imx/imx8ulp/iomux.c | 58 + arch/arm/mach-imx/imx8ulp/lowlevel_init.S | 26 + arch/arm/mach-imx/imx8ulp/pcc.c | 449 +++++++ arch/arm/mach-imx/imx8ulp/rdc.c | 411 ++++++ arch/arm/mach-imx/imx8ulp/soc.c | 544 ++++++++ arch/arm/mach-imx/imx8ulp/upower/Makefile | 6 + arch/arm/mach-imx/imx8ulp/upower/upower_api.c | 486 +++++++ arch/arm/mach-imx/imx8ulp/upower/upower_api.h | 258 ++++ arch/arm/mach-imx/imx8ulp/upower/upower_hal.c | 179 +++ .../arm/mach-imx/{imx8 => }/parse-container.c | 4 +- arch/arm/mach-imx/spl_imx_romapi.c | 172 ++- board/freescale/imx8ulp_evk/Kconfig | 14 + board/freescale/imx8ulp_evk/MAINTAINERS | 6 + board/freescale/imx8ulp_evk/Makefile | 7 + board/freescale/imx8ulp_evk/ddr_init.c | 207 +++ board/freescale/imx8ulp_evk/imx8ulp_evk.c | 67 + board/freescale/imx8ulp_evk/lpddr4_timing.c | 1159 +++++++++++++++++ board/freescale/imx8ulp_evk/spl.c | 115 ++ configs/imx8ulp_evk_defconfig | 103 ++ drivers/Makefile | 1 + drivers/ddr/imx/Kconfig | 1 + drivers/ddr/imx/imx8ulp/Kconfig | 11 + drivers/ddr/imx/imx8ulp/Makefile | 9 + drivers/ddr/imx/imx8ulp/ddr_init.c | 217 +++ drivers/misc/Makefile | 1 + drivers/misc/imx8ulp/Makefile | 4 + drivers/misc/imx8ulp/fuse.c | 198 +++ drivers/misc/imx8ulp/imx8ulp_mu.c | 234 ++++ drivers/misc/imx8ulp/s400_api.c | 244 ++++ drivers/mmc/Kconfig | 2 +- drivers/mmc/fsl_esdhc_imx.c | 12 +- drivers/net/Kconfig | 2 +- drivers/net/fec_mxc.c | 2 +- drivers/pinctrl/nxp/Kconfig | 14 + drivers/pinctrl/nxp/Makefile | 1 + drivers/pinctrl/nxp/pinctrl-imx8ulp.c | 44 + drivers/watchdog/ulp_wdog.c | 57 +- include/configs/imx8ulp_evk.h | 107 ++ include/dt-bindings/clock/imx8ulp-clock.h | 247 ++++ include/fsl_lpuart.h | 2 +- 76 files changed, 9357 insertions(+), 106 deletions(-) create mode 100644 arch/arm/dts/imx8ulp-evk-u-boot.dtsi create mode 100644 arch/arm/dts/imx8ulp-evk.dts create mode 100644 arch/arm/dts/imx8ulp-pinfunc.h create mode 100644 arch/arm/dts/imx8ulp.dtsi create mode 100644 arch/arm/include/asm/arch-imx8ulp/cgc.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/clock.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/ddr.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/gpio.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/imx-regs.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/imx8ulp-pins.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/iomux.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/mu_hal.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/pcc.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/rdc.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/s400_api.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/sys_proto.h create mode 100644 arch/arm/include/asm/arch-imx8ulp/upower.h rename arch/arm/include/asm/{arch-imx8 => mach-imx}/image.h (95%) rename arch/arm/mach-imx/{imx8/image.c => image-container.c} (79%) create mode 100644 arch/arm/mach-imx/imx8ulp/Kconfig create mode 100644 arch/arm/mach-imx/imx8ulp/Makefile create mode 100644 arch/arm/mach-imx/imx8ulp/cgc.c create mode 100644 arch/arm/mach-imx/imx8ulp/clock.c create mode 100644 arch/arm/mach-imx/imx8ulp/iomux.c create mode 100644 arch/arm/mach-imx/imx8ulp/lowlevel_init.S create mode 100644 arch/arm/mach-imx/imx8ulp/pcc.c create mode 100644 arch/arm/mach-imx/imx8ulp/rdc.c create mode 100644 arch/arm/mach-imx/imx8ulp/soc.c create mode 100644 arch/arm/mach-imx/imx8ulp/upower/Makefile create mode 100644 arch/arm/mach-imx/imx8ulp/upower/upower_api.c create mode 100644 arch/arm/mach-imx/imx8ulp/upower/upower_api.h create mode 100644 arch/arm/mach-imx/imx8ulp/upower/upower_hal.c rename arch/arm/mach-imx/{imx8 => }/parse-container.c (98%) create mode 100644 board/freescale/imx8ulp_evk/Kconfig create mode 100644 board/freescale/imx8ulp_evk/MAINTAINERS create mode 100644 board/freescale/imx8ulp_evk/Makefile create mode 100644 board/freescale/imx8ulp_evk/ddr_init.c create mode 100644 board/freescale/imx8ulp_evk/imx8ulp_evk.c create mode 100644 board/freescale/imx8ulp_evk/lpddr4_timing.c create mode 100644 board/freescale/imx8ulp_evk/spl.c create mode 100644 configs/imx8ulp_evk_defconfig create mode 100644 drivers/ddr/imx/imx8ulp/Kconfig create mode 100644 drivers/ddr/imx/imx8ulp/Makefile create mode 100644 drivers/ddr/imx/imx8ulp/ddr_init.c create mode 100644 drivers/misc/imx8ulp/Makefile create mode 100644 drivers/misc/imx8ulp/fuse.c create mode 100644 drivers/misc/imx8ulp/imx8ulp_mu.c create mode 100644 drivers/misc/imx8ulp/s400_api.c create mode 100644 drivers/pinctrl/nxp/pinctrl-imx8ulp.c create mode 100644 include/configs/imx8ulp_evk.h create mode 100644 include/dt-bindings/clock/imx8ulp-clock.h