Hi Stefano, Do you have time to re-pick this patchset, since the last one set was dropped.
Thanks, Peng. > Subject: [PATCH V4 00/44] imx: add i.MX8ULP support > > From: Peng Fan <[email protected]> > > V4: > Fix checkpatch errors > Fix some checkpatch warnings, there are still warnings such as pin header > and dts exceed 100. > Tom, Stefano, please see whether you are happy with this patchset. > > V3: > Fix build error which break 8MN, pass buildman for i.MX. > Select GPIO_EXTRA_HEADER for 8ULP to fix build break which caused by > upstream change. > Rebased > Drop 7ULP, since already been picked up. > > 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. > > 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 > > > 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 | 11 + > 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 | 545 ++++++++ > 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 | 180 +++ > .../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 | 105 ++ > 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 + > include/configs/imx8ulp_evk.h | 107 ++ > include/dt-bindings/clock/imx8ulp-clock.h | 247 ++++ > include/fsl_lpuart.h | 2 +- > 75 files changed, 9313 insertions(+), 86 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 > > -- > 2.30.0

