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. The ACore need to communicate with SCU using SCFW API. The SCFW API is exported by SCFW, so we directly import it into U-Boot source code. Gao Pan (1): imx: lpi2c: fix clock issue when NACK detected Peng Fan (32): imx: import SCFW API imx: add Kconfig entry for i.MX8 arm: build mach-imx for i.MX8 imx8: add IPC communication support between ACore and SCU arm: global_data: introduce ipc_channel_handle 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 imx8: add basic cpu support imx8: add boot device detection imx8: implement mmc_get_env_dev imx8: implement imx_get_mac_from_fuse imx8: implement get_board_serial imx8: add mmu and dram related functiions imx8: add bootaux support imx8: add arch_cpu_init imx8: add clock driver imx8: add iomux configuration code serial_lpuart: Update lpuart driver to support i.MX8 net: fec: do not access reserved register for i.MX8 gpio: mxc_gpio: add support for i.MX8 pinctrl: Add pinctrl driver for i.MX8 power: Add power domain driver for i.MX8 power: Add PD device lookup interface to power domain uclass power-domain: add dummy functions when CONFIG_POWER_DOMAIN not defined dm: core: device: enable power domain in probe drivers: regulator: fixed: add off-on-delay-us log: include command header file i2c-mux: pca954x: support pca9646 i2c switch dts: imx8qxp: Add DTS and binding header files imx: 8qxp_mek: Add i.MX8QXP MEK board support Ye Li (8): fsl_esdhc: Update usdhc driver to support i.MX8 serial: lpuart: Enable RX and TX FIFO imx_lpi2c: Update lpi2c driver to support imx8 lpi2c: Fix bus stop problem in xfer lpi2c: Add bus busy error handling net: fec_mxc: Add the init_clk_fec function sata: Add i.MX8 SATA support mmc: fsl_esdhc: fix sd/mmc ddr mode clock setting issue arch/arm/Kconfig | 8 + arch/arm/Makefile | 2 +- arch/arm/dts/Makefile | 2 + arch/arm/dts/fsl-imx8qxp-mek.dts | 416 +++++ arch/arm/dts/fsl-imx8qxp.dtsi | 1593 ++++++++++++++++++++ arch/arm/include/asm/arch-imx/cpu.h | 5 + arch/arm/include/asm/arch-imx8/clock.h | 36 + arch/arm/include/asm/arch-imx8/cpu.h | 26 + arch/arm/include/asm/arch-imx8/fsl_mu_hal.h | 54 + arch/arm/include/asm/arch-imx8/gpio.h | 22 + arch/arm/include/asm/arch-imx8/i2c.h | 34 + arch/arm/include/asm/arch-imx8/imx-regs.h | 119 ++ arch/arm/include/asm/arch-imx8/imx8-pins.h | 15 + arch/arm/include/asm/arch-imx8/imx8qm_pads.h | 295 ++++ arch/arm/include/asm/arch-imx8/imx8qxp_pads.h | 200 +++ 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/ipc.h | 67 + arch/arm/include/asm/arch-imx8/sci/rpc.h | 131 ++ arch/arm/include/asm/arch-imx8/sci/sci.h | 39 + arch/arm/include/asm/arch-imx8/sci/svc/irq/api.h | 160 ++ arch/arm/include/asm/arch-imx8/sci/svc/misc/api.h | 523 +++++++ arch/arm/include/asm/arch-imx8/sci/svc/pad/api.h | 568 +++++++ arch/arm/include/asm/arch-imx8/sci/svc/pm/api.h | 686 +++++++++ arch/arm/include/asm/arch-imx8/sci/svc/rm/api.h | 759 ++++++++++ arch/arm/include/asm/arch-imx8/sci/svc/timer/api.h | 306 ++++ arch/arm/include/asm/arch-imx8/sci/types.h | 862 +++++++++++ arch/arm/include/asm/arch-imx8/sys_proto.h | 19 + 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 | 13 + arch/arm/mach-imx/imx8/clock.c | 361 +++++ arch/arm/mach-imx/imx8/cpu.c | 783 ++++++++++ arch/arm/mach-imx/imx8/fsl_mu_hal.c | 28 + arch/arm/mach-imx/imx8/iomux.c | 47 + arch/arm/mach-imx/imx8/sci/ipc.c | 100 ++ arch/arm/mach-imx/imx8/sci/svc/irq/rpc.h | 54 + arch/arm/mach-imx/imx8/sci/svc/irq/rpc_clnt.c | 76 + arch/arm/mach-imx/imx8/sci/svc/misc/rpc.h | 76 + arch/arm/mach-imx/imx8/sci/svc/misc/rpc_clnt.c | 515 +++++++ arch/arm/mach-imx/imx8/sci/svc/pad/rpc.h | 68 + arch/arm/mach-imx/imx8/sci/svc/pad/rpc_clnt.c | 475 ++++++ arch/arm/mach-imx/imx8/sci/svc/pm/rpc.h | 73 + arch/arm/mach-imx/imx8/sci/svc/pm/rpc_clnt.c | 460 ++++++ arch/arm/mach-imx/imx8/sci/svc/rm/rpc.h | 83 + arch/arm/mach-imx/imx8/sci/svc/rm/rpc_clnt.c | 645 ++++++++ arch/arm/mach-imx/imx8/sci/svc/timer/rpc.h | 67 + arch/arm/mach-imx/imx8/sci/svc/timer/rpc_clnt.c | 365 +++++ 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 | 159 ++ configs/imx8qxp_mek_defconfig | 47 + drivers/ata/Kconfig | 6 + drivers/ata/Makefile | 1 + drivers/ata/ahci.c | 25 + drivers/ata/sata_imx.c | 64 + drivers/core/device.c | 7 + drivers/gpio/mxc_gpio.c | 30 +- drivers/i2c/imx_lpi2c.c | 82 +- drivers/i2c/muxes/pca954x.c | 9 +- drivers/mmc/fsl_esdhc.c | 32 +- drivers/net/fec_mxc.c | 9 +- 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 | 42 + drivers/pinctrl/nxp/pinctrl-scu.c | 72 + drivers/power/domain/Kconfig | 6 + drivers/power/domain/Makefile | 1 + drivers/power/domain/imx8-power-domain.c | 315 ++++ drivers/power/domain/power-domain-uclass.c | 42 + drivers/power/regulator/fixed.c | 6 + drivers/serial/serial_lpuart.c | 48 +- include/configs/imx8qxp_mek.h | 157 ++ include/dt-bindings/clock/imx8qxp-clock.h | 533 +++++++ include/dt-bindings/pinctrl/pads-imx8qm.h | 975 ++++++++++++ include/dt-bindings/pinctrl/pads-imx8qxp.h | 770 ++++++++++ include/dt-bindings/soc/imx8_pd.h | 197 +++ include/dt-bindings/soc/imx_rsrc.h | 560 +++++++ include/fsl_lpuart.h | 2 +- .../asm/arch-mx7ulp => include}/imx_lpi2c.h | 0 include/log.h | 1 + include/power-domain.h | 52 + 88 files changed, 15691 insertions(+), 157 deletions(-) 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/cpu.h create mode 100644 arch/arm/include/asm/arch-imx8/fsl_mu_hal.h create mode 100644 arch/arm/include/asm/arch-imx8/gpio.h create mode 100644 arch/arm/include/asm/arch-imx8/i2c.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/imx8qm_pads.h create mode 100644 arch/arm/include/asm/arch-imx8/imx8qxp_pads.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 100755 arch/arm/include/asm/arch-imx8/sci/ipc.h create mode 100755 arch/arm/include/asm/arch-imx8/sci/rpc.h create mode 100644 arch/arm/include/asm/arch-imx8/sci/sci.h create mode 100755 arch/arm/include/asm/arch-imx8/sci/svc/irq/api.h create mode 100755 arch/arm/include/asm/arch-imx8/sci/svc/misc/api.h create mode 100755 arch/arm/include/asm/arch-imx8/sci/svc/pad/api.h create mode 100755 arch/arm/include/asm/arch-imx8/sci/svc/pm/api.h create mode 100755 arch/arm/include/asm/arch-imx8/sci/svc/rm/api.h create mode 100755 arch/arm/include/asm/arch-imx8/sci/svc/timer/api.h create mode 100755 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/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/fsl_mu_hal.c create mode 100644 arch/arm/mach-imx/imx8/iomux.c create mode 100644 arch/arm/mach-imx/imx8/sci/ipc.c create mode 100644 arch/arm/mach-imx/imx8/sci/svc/irq/rpc.h create mode 100644 arch/arm/mach-imx/imx8/sci/svc/irq/rpc_clnt.c create mode 100644 arch/arm/mach-imx/imx8/sci/svc/misc/rpc.h create mode 100644 arch/arm/mach-imx/imx8/sci/svc/misc/rpc_clnt.c create mode 100644 arch/arm/mach-imx/imx8/sci/svc/pad/rpc.h create mode 100644 arch/arm/mach-imx/imx8/sci/svc/pad/rpc_clnt.c create mode 100644 arch/arm/mach-imx/imx8/sci/svc/pm/rpc.h create mode 100644 arch/arm/mach-imx/imx8/sci/svc/pm/rpc_clnt.c create mode 100644 arch/arm/mach-imx/imx8/sci/svc/rm/rpc.h create mode 100644 arch/arm/mach-imx/imx8/sci/svc/rm/rpc_clnt.c create mode 100644 arch/arm/mach-imx/imx8/sci/svc/timer/rpc.h create mode 100644 arch/arm/mach-imx/imx8/sci/svc/timer/rpc_clnt.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/ata/sata_imx.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-imx8qm.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 rename {arch/arm/include/asm/arch-mx7ulp => include}/imx_lpi2c.h (100%) -- 2.14.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot