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

Peng Fan peng.fan at nxp.com
Fri Jul 27 07:54:36 UTC 2018


Hi All,

I plan to send out V3 early next week. QXP BETA2 has been external released, so there will be update in README including link to scfw images.
Paste the link here first: https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/imx-sc-firmware-0.7.bin, use mx8qx-mek-scfw-tcm.bin for b0 chip.

Troy, Fabio, Stefano,

I would like to still keep CONFIG_IMX8, not CONFIG_MX8. Do you have concerns?

Thanks,
Peng.

> -----Original Message-----
> From: Peng Fan
> Sent: 2018年7月18日 9:36
> To: sbabic at denx.de; Fabio Estevam <fabio.estevam at nxp.com>
> Cc: u-boot at lists.denx.de; dl-linux-imx <linux-imx at nxp.com>; Peng Fan
> <peng.fan at nxp.com>
> Subject: [PATCH V2 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.
> 
> 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
>   misc: add i.MX8 misc driver
>   misc: imx8: add scfw api impementation
>   arm: global_data: add scu_dev for i.MX8
>   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                      | 444 +++++++++++++
>  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          | 159 +++++
>  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                    |  22 +
>  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/imx8qxp_mek.c         | 152 +++++
>  configs/imx8qxp_mek_defconfig                     |  37 ++
>  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/clk.c                           |  93 +++
>  drivers/misc/imx8/misc.c                          |  88 +++
>  drivers/misc/imx8/pad.c                           |  39 ++
>  drivers/misc/imx8/pm.c                            |  38 ++
>  drivers/misc/imx8/rm.c                            |  97 +++
>  drivers/misc/imx8/scu.c                           | 247 +++++++
>  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                      |   6 +
>  drivers/power/domain/Makefile                     |   1 +
>  drivers/power/domain/imx8-power-domain.c          | 312 +++++++++
>  drivers/serial/serial_lpuart.c                    | 126 +++-
>  include/configs/imx8qxp_mek.h                     | 157 +++++
>  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 +-
>  69 files changed, 6251 insertions(+), 141 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/imx8qxp_mek.c
>  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/clk.c
> create mode 100644 drivers/misc/imx8/misc.c  create mode 100644
> drivers/misc/imx8/pad.c  create mode 100644 drivers/misc/imx8/pm.c
> create mode 100644 drivers/misc/imx8/rm.c  create mode 100644
> drivers/misc/imx8/scu.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