mbox series

[00/37] imx: add i.MX8ULP support

Message ID 20210412121306.11484-1-peng.fan@oss.nxp.com
Headers show
Series imx: add i.MX8ULP support | expand

Message

Peng Fan (OSS) April 12, 2021, 12:12 p.m. UTC
From: Peng Fan <peng.fan@nxp.com>


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.

This patchset is to add initial support for i.MX8ULP, with
core soc functions, clock, dtsi, and evk board.

Peng Fan (20):
  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 xrdc support
  arm: imx8ulp: add trdc release request
  arm: imx8ulp: release trdc and assign lpav from RTD to APD
  arm: imx8ulp: add dummy imx_get_mac_from_fuse
  arm: imx8ulp: add iomuxc support
  arm: dts: add i.MX8ULP dtsi
  arm: imx: add i.MX8ULP EVK support

Ye Li (17):
  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

 arch/arm/Kconfig                              |   10 +
 arch/arm/Makefile                             |    4 +-
 arch/arm/dts/imx8ulp-emulator-u-boot.dtsi     |   32 +
 arch/arm/dts/imx8ulp-emulator.dts             |   93 +
 arch/arm/dts/imx8ulp-evk-u-boot.dtsi          |   32 +
 arch/arm/dts/imx8ulp-evk.dts                  |  204 ++
 arch/arm/dts/imx8ulp-pinfunc.h                |  978 ++++++++++
 arch/arm/dts/imx8ulp.dtsi                     |  706 +++++++
 arch/arm/include/asm/arch-imx/cpu.h           |    2 +
 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  |  134 ++
 .../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/s400_api.h  |   41 +
 arch/arm/include/asm/arch-imx8ulp/sys_proto.h |   19 +
 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}       |   44 +-
 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            |    7 +
 arch/arm/mach-imx/imx8ulp/cgc.c               |  459 +++++
 arch/arm/mach-imx/imx8ulp/clock.c             |  390 ++++
 arch/arm/mach-imx/imx8ulp/iomux.c             |   65 +
 arch/arm/mach-imx/imx8ulp/lowlevel_init.S     |   26 +
 arch/arm/mach-imx/imx8ulp/pcc.c               |  449 +++++
 arch/arm/mach-imx/imx8ulp/soc.c               |  685 +++++++
 arch/arm/mach-imx/imx8ulp/xrdc.c              |  144 ++
 .../arm/mach-imx/{imx8 => }/parse-container.c |    4 +-
 arch/arm/mach-imx/spl_imx_romapi.c            |  171 +-
 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   | 1696 +++++++++++++++++
 board/freescale/imx8ulp_evk/spl.c             |  146 ++
 configs/imx8ulp_evk_defconfig                 |  103 +
 drivers/misc/Makefile                         |    1 +
 drivers/misc/imx8ulp/Makefile                 |    4 +
 drivers/misc/imx8ulp/fuse.c                   |  198 ++
 drivers/misc/imx8ulp/imx8ulp_mu.c             |  251 +++
 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                 |  108 ++
 include/dt-bindings/clock/imx8ulp-clock.h     |  247 +++
 include/fsl_lpuart.h                          |    2 +-
 65 files changed, 8605 insertions(+), 86 deletions(-)
 create mode 100644 arch/arm/dts/imx8ulp-emulator-u-boot.dtsi
 create mode 100644 arch/arm/dts/imx8ulp-emulator.dts
 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/s400_api.h
 create mode 100644 arch/arm/include/asm/arch-imx8ulp/sys_proto.h
 rename arch/arm/include/asm/{arch-imx8 => mach-imx}/image.h (95%)
 rename arch/arm/mach-imx/{imx8/image.c => image-container.c} (82%)
 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/soc.c
 create mode 100644 arch/arm/mach-imx/imx8ulp/xrdc.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/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