[U-Boot] [PATCH 00/41] imx: add i.MX8QXP support
Peng Fan
peng.fan at nxp.com
Mon May 28 12:24:45 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. 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
More information about the U-Boot
mailing list