Re: [Patch V3 00/44] imx: add i.MX8ULP support

Stefano Babic
2021-07-19T07:59:38Z

On 19.07.21 09:46, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
>
> 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.
> Stefano, I see you have a PR to Tom, do you plan to pick up this patchset
> for a following PR, or I send a PR to your?

No, I plan to pick up your series + two Frieder's boards after fixing
the build, and I'll send a new PR to Tom. No need for a new PR.

Regards,
Stefano

> Thanks, Peng
>
> 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
>
> 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 | 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 +
> include/configs/imx8ulp_evk.h | 107 ++
> include/dt-bindings/clock/imx8ulp-clock.h | 247 ++++
> include/fsl_lpuart.h | 2 +-
> 75 files changed, 9321 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
>