public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH V3 00/32] i.MX: Add i.MX8QXP support
@ 2018-08-06  2:50 Peng Fan
  2018-08-06  2:50 ` [U-Boot] [PATCH V3 01/32] dt-bindings: pinctrl: add i.MX8QXP pads definition Peng Fan
                   ` (31 more replies)
  0 siblings, 32 replies; 44+ messages in thread
From: Peng Fan @ 2018-08-06  2:50 UTC (permalink / raw)
  To: u-boot

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-processors/i.mx-applications-processors/i.mx-8-processors/i.mx-8x-family-arm-cortex-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.

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
  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          | 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                     |  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 +-
 71 files changed, 6407 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/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/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

^ permalink raw reply	[flat|nested] 44+ messages in thread

end of thread, other threads:[~2018-08-22 17:23 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-06  2:50 [U-Boot] [PATCH V3 00/32] i.MX: Add i.MX8QXP support Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 01/32] dt-bindings: pinctrl: add i.MX8QXP pads definition Peng Fan
2018-08-09  8:25   ` Anatolij Gustschin
2018-08-06  2:50 ` [U-Boot] [PATCH V3 02/32] dt-bindings: clock: dt-bindings: pinctrl: add i.MX8QXP clocks definition Peng Fan
2018-08-09  8:29   ` Anatolij Gustschin
2018-08-06  2:50 ` [U-Boot] [PATCH V3 03/32] dt-bindings: soc: add i.MX8QXP pm and rsrc definition Peng Fan
2018-08-09  8:31   ` Anatolij Gustschin
2018-08-06  2:50 ` [U-Boot] [PATCH V3 04/32] imx8: add scfw macro definition Peng Fan
2018-08-09  8:51   ` Anatolij Gustschin
2018-08-06  2:50 ` [U-Boot] [PATCH V3 05/32] imx: add Kconfig entry for i.MX8QXP Peng Fan
2018-08-09  9:45   ` Anatolij Gustschin
2018-08-06  2:50 ` [U-Boot] [PATCH V3 06/32] arm: build mach-imx for i.MX8 Peng Fan
2018-08-09  9:51   ` Anatolij Gustschin
2018-08-06  2:50 ` [U-Boot] [PATCH V3 07/32] misc: add i.MX8 misc driver Peng Fan
2018-08-09 16:18   ` Anatolij Gustschin
2018-08-10  2:30     ` Peng Fan
2018-08-10 14:15       ` Anatolij Gustschin
2018-08-06  2:50 ` [U-Boot] [PATCH V3 08/32] misc: imx8: add scfw api impementation Peng Fan
2018-08-10 14:19   ` Anatolij Gustschin
2018-08-06  2:50 ` [U-Boot] [PATCH V3 09/32] arm: global_data: add scu_dev for i.MX8 Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 10/32] imx: boot_mode: Add FLEXSPI boot entry Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 11/32] imx8: add imx-regs header file Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 12/32] imx8: pins: include i.MX8QXP pin header when CONFIG_IMX8QXP defined Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 13/32] imx: add i.MX8 cpu type Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 14/32] armv8: add cpu core helper functions Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 15/32] imx8: add basic cpu support Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 16/32] imx8: add boot device detection Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 17/32] imx8: implement mmc_get_env_dev Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 18/32] imx8: add mmu and dram related functiions Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 19/32] imx8: add arch_cpu_init arch_cpu_init_dm Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 20/32] imx8: add iomux configuration api Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 21/32] imx8: add dummy clock Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 22/32] gpio: mxc_gpio: add support for i.MX8 Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 23/32] pinctrl: Add pinctrl driver " Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 24/32] power: Add power domain " Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 25/32] clk: imx: add clk driver for i.MX8QXP Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 26/32] serial_lpuart: Update lpuart driver to support i.MX8 Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 27/32] serial: lpuart: Enable RX and TX FIFO Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 28/32] serial: lpuart: support uclass clk api Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 29/32] fsl_esdhc: Update usdhc driver to support i.MX8 Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 30/32] mmc: fsl_esdhc: add uclass clk support Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 31/32] arm: dts: introduce dtsi for i.MX8QXP Peng Fan
2018-08-06  2:50 ` [U-Boot] [PATCH V3 32/32] imx: add i.MX8QXP MEK board support Peng Fan
2018-08-22 17:23   ` Fabio Estevam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox