[U-Boot] [PATCH V5 00/32] i.MX: Add i.MX8QXP support
Peng Fan
peng.fan at nxp.com
Wed Sep 26 13:52:24 UTC 2018
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.
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