[PATCH V4 00/44] imx: add i.MX8ULP support
Stefano Babic
sbabic at denx.de
Mon Aug 2 11:54:19 CEST 2021
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 at 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 at denx.de
=====================================================================
More information about the U-Boot
mailing list