[U-Boot] [PATCH V5 00/32] i.MX: Add i.MX8QXP support

Peng Fan peng.fan at nxp.com
Thu Oct 4 00:56:39 UTC 2018


Gentle ping..

Thanks,
Peng

> -----Original Message-----
> From: Peng Fan
> Sent: 2018年9月26日 21:52
> To: sbabic at denx.de; agust at denx.de
> Cc: u-boot at lists.denx.de; Peng Fan <peng.fan at nxp.com>
> Subject: [PATCH V5 00/32] i.MX: Add i.MX8QXP support
> 
> This patchset is to upstream i.MX8QXP and mek board support, with some
> drivers update to support i.MX8QXP. The information about the processor could
> be found
> https://www.nxp.com/products/processors-and-microcontrollers/applications-p
> rocessors/i.mx-applications-processors/i.mx-8-processors/i.mx-8x-family-arm-co
> rtex-a35-3d-graphics-4k-video-dsp-error-correcting-code-on-ddr:i.MX8X
> 
> The architecture of i.MX8QXP is different from i.MX6/7/8M, inside i.MX8QXP,
> there is a dedicated processor(SCU) used for power/clock/pin/ pad/resource
> management/thermal and etc.
> 
> 
> V5:
> Addressed Lothar Waßmann's comments for patch 24 and 32.
> Rebased on master.
> 
> V4:
> Add reviewed tag from Anatolij Gustschin Addressed comments from Anatolig
> for patch "misc: add i.MX8 misc driver"
> Addressed comments from Anatolig for patch "misc: imx8: add scfw api
> impementation"
>  Merged the files into one
>  Moved one error handle to patch 4
> Moved patch "arm: global_data: add scu_dev for i.MX8" to patch 7 For Fabio's
> comments to imx-mkimage, I'll start the porting work, but needs more time, it
> will be not be in this patchset.
> 
> V3:
> 
> patch 7: use CONFIG_IMX8
> patch 29: use CONFIG_IMX8
> patch 32: Added README with scfw_tcm.bin link added
> misc: remove sc_rpc_msg_t typedef, use struct sc_rpc_msg_s in patchset.
> 
> V2:
> In this V2 patchset, the SCFW API is replaced by uclass driver implementation,
> but the api name is not changed from scfw api.
> The related macro definitions are kept in different api.h file following SCFW API
> file structure.
> 
> Impelemnted scu misc driver to handle the low level communication between
> Acore and SCU.
> Implemented rm/pm/pad/misc protocol code to invoke misc_call for different
> functionality.
> The dm clk/pinctrl/power and others will invokde the protocol api to
> communicate with SCU.
> 
> The arch/arm/mach-imx/imx8/clock.c currently is only a dummy file to avoid
> build break for mxc_get_clock.
> 
> The i2c patch and common power domain patches are removed from this
> patchset.
> 
> The imx8 name still kept, this is because NXP marketing requires to use this
> name for i.MX branding.
> 
> 
> Peng Fan (30):
>   dt-bindings: pinctrl: add i.MX8QXP pads definition
>   dt-bindings: clock: dt-bindings: pinctrl: add i.MX8QXP clocks
>     definition
>   dt-bindings: soc: add i.MX8QXP pm and rsrc definition
>   imx8: add scfw macro definition
>   imx: add Kconfig entry for i.MX8QXP
>   arm: build mach-imx for i.MX8
>   arm: global_data: add scu_dev for i.MX8
>   misc: add i.MX8 misc driver
>   misc: imx8: add scfw api impementation
>   imx: boot_mode: Add FLEXSPI boot entry
>   imx8: add imx-regs header file
>   imx8: pins: include i.MX8QXP pin header when CONFIG_IMX8QXP defined
>   imx: add i.MX8 cpu type
>   armv8: add cpu core helper functions
>   imx8: add basic cpu support
>   imx8: add boot device detection
>   imx8: implement mmc_get_env_dev
>   imx8: add mmu and dram related functiions
>   imx8: add arch_cpu_init arch_cpu_init_dm
>   imx8: add iomux configuration api
>   imx8: add dummy clock
>   gpio: mxc_gpio: add support for i.MX8
>   pinctrl: Add pinctrl driver for i.MX8
>   power: Add power domain driver for i.MX8
>   clk: imx: add clk driver for i.MX8QXP
>   serial_lpuart: Update lpuart driver to support i.MX8
>   serial: lpuart: support uclass clk api
>   mmc: fsl_esdhc: add uclass clk support
>   arm: dts: introduce dtsi for i.MX8QXP
>   imx: add i.MX8QXP MEK board support
> 
> Ye Li (2):
>   serial: lpuart: Enable RX and TX FIFO
>   fsl_esdhc: Update usdhc driver to support i.MX8
> 
>  arch/arm/Kconfig                                  |   8 +
>  arch/arm/Makefile                                 |   2 +-
>  arch/arm/dts/Makefile                             |   2 +
>  arch/arm/dts/fsl-imx8-ca35.dtsi                   |  66 ++
>  arch/arm/dts/fsl-imx8dx.dtsi                      | 452 +++++++++++++
>  arch/arm/dts/fsl-imx8dxp.dtsi                     |  11 +
>  arch/arm/dts/fsl-imx8qxp-mek.dts                  | 136 ++++
>  arch/arm/dts/fsl-imx8qxp.dtsi                     |  51 ++
>  arch/arm/include/asm/arch-imx/cpu.h               |   5 +
>  arch/arm/include/asm/arch-imx8/clock.h            |  27 +
>  arch/arm/include/asm/arch-imx8/gpio.h             |  21 +
>  arch/arm/include/asm/arch-imx8/imx-regs.h         |  46 ++
>  arch/arm/include/asm/arch-imx8/imx8-pins.h        |  15 +
>  arch/arm/include/asm/arch-imx8/iomux.h            |  40 ++
>  arch/arm/include/asm/arch-imx8/power-domain.h     |  15 +
>  arch/arm/include/asm/arch-imx8/sci/rpc.h          | 158 +++++
>  arch/arm/include/asm/arch-imx8/sci/sci.h          |  86 +++
>  arch/arm/include/asm/arch-imx8/sci/svc/misc/api.h |  30 +
> arch/arm/include/asm/arch-imx8/sci/svc/pad/api.h  |  57 ++
>  arch/arm/include/asm/arch-imx8/sci/svc/pm/api.h   |  44 ++
>  arch/arm/include/asm/arch-imx8/sci/svc/rm/api.h   |  69 ++
>  arch/arm/include/asm/arch-imx8/sci/types.h        | 220 +++++++
>  arch/arm/include/asm/arch-imx8/sys_proto.h        |  19 +
>  arch/arm/include/asm/armv8/cpu.h                  |  26 +
>  arch/arm/include/asm/global_data.h                |   4 +
>  arch/arm/include/asm/mach-imx/boot_mode.h         |   1 +
>  arch/arm/include/asm/mach-imx/sys_proto.h         |   3 +
>  arch/arm/mach-imx/Makefile                        |   1 +
>  arch/arm/mach-imx/imx8/Kconfig                    |  26 +
>  arch/arm/mach-imx/imx8/Makefile                   |   7 +
>  arch/arm/mach-imx/imx8/clock.c                    |  21 +
>  arch/arm/mach-imx/imx8/cpu.c                      | 544
> ++++++++++++++++
>  arch/arm/mach-imx/imx8/iomux.c                    |  43 ++
>  board/freescale/imx8qxp_mek/Kconfig               |  14 +
>  board/freescale/imx8qxp_mek/MAINTAINERS           |   6 +
>  board/freescale/imx8qxp_mek/Makefile              |   7 +
>  board/freescale/imx8qxp_mek/README                |  72 ++
>  board/freescale/imx8qxp_mek/imx8qxp_mek.c         | 152 +++++
>  board/freescale/mx8mq_evk/README                  |  81 +++
>  configs/imx8qxp_mek_defconfig                     |  38 ++
>  drivers/clk/Kconfig                               |   1 +
>  drivers/clk/Makefile                              |   1 +
>  drivers/clk/imx/Kconfig                           |   6 +
>  drivers/clk/imx/Makefile                          |   5 +
>  drivers/clk/imx/clk-imx8.c                        | 212 ++++++
>  drivers/gpio/mxc_gpio.c                           |  30 +-
>  drivers/misc/Makefile                             |   1 +
>  drivers/misc/imx8/Makefile                        |   3 +
>  drivers/misc/imx8/scu.c                           | 266 ++++++++
>  drivers/misc/imx8/scu_api.c                       | 316 +++++++++
>  drivers/mmc/fsl_esdhc.c                           |  30 +-
>  drivers/pinctrl/nxp/Kconfig                       |  18 +
>  drivers/pinctrl/nxp/Makefile                      |   2 +
>  drivers/pinctrl/nxp/pinctrl-imx.c                 | 209 +++---
>  drivers/pinctrl/nxp/pinctrl-imx.h                 |  16 +
>  drivers/pinctrl/nxp/pinctrl-imx8.c                |  40 ++
>  drivers/pinctrl/nxp/pinctrl-scu.c                 |  66 ++
>  drivers/power/domain/Kconfig                      |   8 +-
>  drivers/power/domain/Makefile                     |   1 +
>  drivers/power/domain/imx8-power-domain.c          | 315 +++++++++
>  drivers/serial/serial_lpuart.c                    | 126 +++-
>  include/configs/imx8qxp_mek.h                     | 156 +++++
>  include/dt-bindings/clock/imx8qxp-clock.h         | 583
> +++++++++++++++++
>  include/dt-bindings/pinctrl/pads-imx8qxp.h        | 757
> ++++++++++++++++++++++
>  include/dt-bindings/soc/imx8_pd.h                 | 188 ++++++
>  include/dt-bindings/soc/imx_rsrc.h                | 557
> ++++++++++++++++
>  include/fsl_lpuart.h                              |   2 +-
>  67 files changed, 6399 insertions(+), 142 deletions(-)  create mode 100644
> arch/arm/dts/fsl-imx8-ca35.dtsi  create mode 100644
> arch/arm/dts/fsl-imx8dx.dtsi  create mode 100644
> arch/arm/dts/fsl-imx8dxp.dtsi  create mode 100644
> arch/arm/dts/fsl-imx8qxp-mek.dts  create mode 100644
> arch/arm/dts/fsl-imx8qxp.dtsi  create mode 100644
> arch/arm/include/asm/arch-imx8/clock.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/gpio.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/imx-regs.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/imx8-pins.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/iomux.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/power-domain.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/sci/rpc.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/sci/sci.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/misc/api.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/pad/api.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/pm/api.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/sci/svc/rm/api.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/sci/types.h
>  create mode 100644 arch/arm/include/asm/arch-imx8/sys_proto.h
>  create mode 100644 arch/arm/include/asm/armv8/cpu.h  create mode
> 100644 arch/arm/mach-imx/imx8/Kconfig  create mode 100644
> arch/arm/mach-imx/imx8/Makefile  create mode 100644
> arch/arm/mach-imx/imx8/clock.c  create mode 100644
> arch/arm/mach-imx/imx8/cpu.c  create mode 100644
> arch/arm/mach-imx/imx8/iomux.c  create mode 100644
> board/freescale/imx8qxp_mek/Kconfig
>  create mode 100644 board/freescale/imx8qxp_mek/MAINTAINERS
>  create mode 100644 board/freescale/imx8qxp_mek/Makefile
>  create mode 100644 board/freescale/imx8qxp_mek/README
>  create mode 100644 board/freescale/imx8qxp_mek/imx8qxp_mek.c
>  create mode 100644 board/freescale/mx8mq_evk/README  create mode
> 100644 configs/imx8qxp_mek_defconfig  create mode 100644
> drivers/clk/imx/Kconfig  create mode 100644 drivers/clk/imx/Makefile
> create mode 100644 drivers/clk/imx/clk-imx8.c  create mode 100644
> drivers/misc/imx8/Makefile  create mode 100644 drivers/misc/imx8/scu.c
> create mode 100644 drivers/misc/imx8/scu_api.c  create mode 100644
> drivers/pinctrl/nxp/pinctrl-imx8.c
>  create mode 100644 drivers/pinctrl/nxp/pinctrl-scu.c  create mode 100644
> drivers/power/domain/imx8-power-domain.c
>  create mode 100644 include/configs/imx8qxp_mek.h  create mode 100644
> include/dt-bindings/clock/imx8qxp-clock.h
>  create mode 100644 include/dt-bindings/pinctrl/pads-imx8qxp.h
>  create mode 100644 include/dt-bindings/soc/imx8_pd.h  create mode
> 100644 include/dt-bindings/soc/imx_rsrc.h
> 
> --
> 2.14.1



More information about the U-Boot mailing list