mbox series

[V4,00/44] imx: add i.MX8ULP support

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

Message

Peng Fan (OSS) July 21, 2021, 2:16 p.m. UTC
From: Peng Fan <peng.fan@nxp.com>

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

Comments

Peng Fan (OSS) Aug. 2, 2021, 9:45 a.m. UTC | #1
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 <peng.fan@nxp.com>
> 
> 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
Stefano Babic Aug. 2, 2021, 9:54 a.m. UTC | #2
On 02.08.21 11:45, Peng Fan (OSS) wrote:
> Hi Stefano,
> 
> Do you have time to re-pick this patchset, since
> the last one set was dropped.
> 

Yes, it is in my TODO list, as soon as I get some time from my working 
projects (yours and Kontron's patch are set as high priority to be merged).

Regards,
Stefano

> Thanks,
> Peng.
> 
>> Subject: [PATCH V4 00/44] imx: add i.MX8ULP support
>>
>> From: Peng Fan <peng.fan@nxp.com>
>>
>> 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
>
Peng Fan (OSS) Aug. 2, 2021, 11:01 a.m. UTC | #3
> Subject: Re: [PATCH V4 00/44] imx: add i.MX8ULP support
> 
> On 02.08.21 11:45, Peng Fan (OSS) wrote:
> > Hi Stefano,
> >
> > Do you have time to re-pick this patchset, since the last one set was
> > dropped.
> >
> 
> Yes, it is in my TODO list, as soon as I get some time from my working projects
> (yours and Kontron's patch are set as high priority to be merged).

Appreciated.

-Peng.

> 
> Regards,
> Stefano
> 
> > Thanks,
> > Peng.
> >
> >> Subject: [PATCH V4 00/44] imx: add i.MX8ULP support
> >>
> >> From: Peng Fan <peng.fan@nxp.com>
> >>
> >> 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
> >
> 
> 
> --
> ==============================================================
> =======
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
> ==============================================================
> =======
Stefano Babic Aug. 6, 2021, 2:09 p.m. UTC | #4
Hi Peng,

On 02.08.21 13:01, Peng Fan (OSS) wrote:
>> Subject: Re: [PATCH V4 00/44] imx: add i.MX8ULP support
>>
>> On 02.08.21 11:45, Peng Fan (OSS) wrote:
>>> Hi Stefano,
>>>
>>> Do you have time to re-pick this patchset, since the last one set was
>>> dropped.
>>>
>>
>> Yes, it is in my TODO list, as soon as I get some time from my working projects
>> (yours and Kontron's patch are set as high priority to be merged).
> 
> Appreciated.
> 
> -Peng.


I get build error when I build imx8ulp_evk after merging V4:

    aarch64:  +   imx8ulp_evk
+aarch64-linux-ld.bfd: arch/arm/lib/reset.o: in function `do_reset':
+arch/arm/lib/reset.c:42: undefined reference to `reset_cpu'
+arch/arm/lib/reset.c:42:(.text.do_reset+0x24): relocation truncated to 
fit: R_AARCH64_CALL26 against undefined symbol `reset_cpu'
+aarch64-linux-ld.bfd: arch/arm/mach-imx/imx8ulp/rdc.o: in function 
`release_rdc':
+arch/arm/mach-imx/imx8ulp/rdc.c:197: undefined reference to `mu_hal_init'
+arch/arm/mach-imx/imx8ulp/rdc.c:197:(.text.release_rdc+0x30): 
relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 
`mu_hal_init'
+aarch64-linux-ld.bfd: arch/arm/mach-imx/imx8ulp/rdc.c:198: undefined 
reference to `mu_hal_sendmsg'
+arch/arm/mach-imx/imx8ulp/rdc.c:198:(.text.release_rdc+0x40): 
relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 
`mu_hal_sendmsg'
+aarch64-linux-ld.bfd: arch/arm/mach-imx/imx8ulp/rdc.c:199: undefined 
reference to `mu_hal_sendmsg'
+arch/arm/mach-imx/imx8ulp/rdc.c:199:(.text.release_rdc+0x50): 
relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 
`mu_hal_sendmsg'
+aarch64-linux-ld.bfd: arch/arm/mach-imx/imx8ulp/rdc.c:201: undefined 
reference to `mu_hal_receivemsg'
+arch/arm/mach-imx/imx8ulp/rdc.c:201:(.text.release_rdc+0x60): 
relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 
`mu_hal_receivemsg'
+aarch64-linux-ld.bfd: arch/arm/mach-imx/imx8ulp/rdc.c:203: undefined 
reference to `mu_hal_receivemsg'
+arch/arm/mach-imx/imx8ulp/rdc.c:203:(.text.release_rdc+0x74): 
relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol 
`mu_hal_receivemsg'
+make[2]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1
+make[1]: *** [Makefile:1998: spl/u-boot-spl] Error 2

So it seems that the reset_cpu() from the ulp_watchdog is not taken. Can 
you take a look ?

Regards,
Stefano
Peng Fan (OSS) Aug. 7, 2021, 7:36 a.m. UTC | #5
Hi Stefano,

> Subject: Re: [PATCH V4 00/44] imx: add i.MX8ULP support
> 
> Hi Peng,
> 
> On 02.08.21 13:01, Peng Fan (OSS) wrote:
> >> Subject: Re: [PATCH V4 00/44] imx: add i.MX8ULP support
> >>
> >> On 02.08.21 11:45, Peng Fan (OSS) wrote:
> >>> Hi Stefano,
> >>>
> >>> Do you have time to re-pick this patchset, since the last one set
> >>> was dropped.
> >>>
> >>
> >> Yes, it is in my TODO list, as soon as I get some time from my
> >> working projects (yours and Kontron's patch are set as high priority to be
> merged).
> >
> > Appreciated.
> >
> > -Peng.
> 
> 
> I get build error when I build imx8ulp_evk after merging V4:

It is a recent change in master from Simon that change
SPL_XX_SUPPORT to SPL_XX. I have rebased the patchset
and sent out v5.

Thanks
Peng.

> 
>     aarch64:  +   imx8ulp_evk
> +aarch64-linux-ld.bfd: arch/arm/lib/reset.o: in function `do_reset':
> +arch/arm/lib/reset.c:42: undefined reference to `reset_cpu'
> +arch/arm/lib/reset.c:42:(.text.do_reset+0x24): relocation truncated to
> fit: R_AARCH64_CALL26 against undefined symbol `reset_cpu'
> +aarch64-linux-ld.bfd: arch/arm/mach-imx/imx8ulp/rdc.o: in function
> `release_rdc':
> +arch/arm/mach-imx/imx8ulp/rdc.c:197: undefined reference to
> `mu_hal_init'
> +arch/arm/mach-imx/imx8ulp/rdc.c:197:(.text.release_rdc+0x30):
> relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol
> `mu_hal_init'
> +aarch64-linux-ld.bfd: arch/arm/mach-imx/imx8ulp/rdc.c:198: undefined
> reference to `mu_hal_sendmsg'
> +arch/arm/mach-imx/imx8ulp/rdc.c:198:(.text.release_rdc+0x40):
> relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol
> `mu_hal_sendmsg'
> +aarch64-linux-ld.bfd: arch/arm/mach-imx/imx8ulp/rdc.c:199: undefined
> reference to `mu_hal_sendmsg'
> +arch/arm/mach-imx/imx8ulp/rdc.c:199:(.text.release_rdc+0x50):
> relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol
> `mu_hal_sendmsg'
> +aarch64-linux-ld.bfd: arch/arm/mach-imx/imx8ulp/rdc.c:201: undefined
> reference to `mu_hal_receivemsg'
> +arch/arm/mach-imx/imx8ulp/rdc.c:201:(.text.release_rdc+0x60):
> relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol
> `mu_hal_receivemsg'
> +aarch64-linux-ld.bfd: arch/arm/mach-imx/imx8ulp/rdc.c:203: undefined
> reference to `mu_hal_receivemsg'
> +arch/arm/mach-imx/imx8ulp/rdc.c:203:(.text.release_rdc+0x74):
> relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol
> `mu_hal_receivemsg'
> +make[2]: *** [scripts/Makefile.spl:512: spl/u-boot-spl] Error 1
> +make[1]: *** [Makefile:1998: spl/u-boot-spl] Error 2
> 
> So it seems that the reset_cpu() from the ulp_watchdog is not taken. Can you
> take a look ?
> 
> Regards,
> Stefano
> 
> --
> ==============================================================
> =======
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic@denx.de
> ==============================================================
> =======