Message ID | 20210721141725.23346-1-peng.fan@oss.nxp.com |
---|---|
Headers | show |
Series | imx: add i.MX8ULP support | expand |
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
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 > -- ===================================================================== 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 =====================================================================
> 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 > ============================================================== > =======
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 -- ===================================================================== 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 =====================================================================
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 > ============================================================== > =======
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