
This patchset is to add i.MX8M and i.MX8MQ-EVK support
patch: "power: pmic.h: include dm/ofnode.h" and "power: pmic/regulator allow dm be omited by SPL" is previously reviewed in mailist to not merged. Pick it up.
The board support is a large patch because of the ddr related code. If it is not good, please first review/pick-up other patches if they are ok.
Peng Fan (23): imx: add i.MX8M into Kconfig imx: mx8m: add register definition header file imx: mx8m: add pin header file imx: mx8m: add clock driver imx: add sip function imx: boot_mode: add USB_BOOT entry imx: cpu: update cpu file to support i.MX8M imx: spl: implement spl_boot_device for i.MX8M power: pmic.h: include dm/ofnode.h imx: add i.MX8MQ SoC Revision and is_mx8m helper imx: add pad settings bit definition for i.MX8M imx: mx8m: add soc related settings and files imx: makefile: compile files for i.MX8M misc: ocotp: add i.MX8M support mmc: fsl_esdhc: support i.MX8M imx: lcdif: include i.MX8M gpio: mxc: add i.MX8M support imx: mx8m: add ddr register memory map net: fec: do not access reserved register for i.MX8M net: fec: fix build warnings for 64bits support power: pmic/regulator allow dm be omitted by SPL imx: imx8mq: add dtsi file imx: add i.MX8MQ EVK support
arch/arm/Kconfig | 8 + arch/arm/Makefile | 4 +- arch/arm/dts/Makefile | 2 + arch/arm/dts/fsl-imx8-ca53.dtsi | 92 ++ arch/arm/dts/fsl-imx8mq-evk.dts | 597 ++++++++++ arch/arm/dts/fsl-imx8mq.dtsi | 961 ++++++++++++++++ arch/arm/include/asm/arch-imx/cpu.h | 6 +- arch/arm/include/asm/arch-mx8m/clock.h | 864 +++++++++++++++ arch/arm/include/asm/arch-mx8m/crm_regs.h | 10 + arch/arm/include/asm/arch-mx8m/ddr_memory_map.h | 496 +++++++++ arch/arm/include/asm/arch-mx8m/gpio.h | 12 + arch/arm/include/asm/arch-mx8m/imx-regs.h | 298 +++++ arch/arm/include/asm/arch-mx8m/mx8mq_pins.h | 623 +++++++++++ arch/arm/include/asm/arch-mx8m/sys_proto.h | 17 + arch/arm/include/asm/mach-imx/boot_mode.h | 1 + arch/arm/include/asm/mach-imx/iomux-v3.h | 22 +- arch/arm/include/asm/mach-imx/regs-lcdif.h | 11 +- arch/arm/include/asm/mach-imx/sys_proto.h | 4 + arch/arm/mach-imx/Makefile | 13 +- arch/arm/mach-imx/cpu.c | 11 +- arch/arm/mach-imx/mx8m/Kconfig | 22 + arch/arm/mach-imx/mx8m/Makefile | 8 + arch/arm/mach-imx/mx8m/clock.c | 782 +++++++++++++ arch/arm/mach-imx/mx8m/clock_slice.c | 820 ++++++++++++++ arch/arm/mach-imx/mx8m/lowlevel_init.S | 63 ++ arch/arm/mach-imx/mx8m/soc.c | 544 +++++++++ arch/arm/mach-imx/sip.c | 23 + arch/arm/mach-imx/spl.c | 23 +- board/freescale/mx8mq_evk/Kconfig | 12 + board/freescale/mx8mq_evk/Makefile | 12 + board/freescale/mx8mq_evk/ddr/ddr.h | 36 + board/freescale/mx8mq_evk/ddr/ddr_init.c | 257 +++++ board/freescale/mx8mq_evk/ddr/ddrphy_train.c | 1154 ++++++++++++++++++++ board/freescale/mx8mq_evk/ddr/helper.c | 102 ++ .../mx8mq_evk/ddr/wait_ddrphy_training_complete.c | 97 ++ board/freescale/mx8mq_evk/mx8mq_evk.c | 154 +++ board/freescale/mx8mq_evk/spl.c | 227 ++++ configs/mx8mq_evk_defconfig | 28 + drivers/gpio/mxc_gpio.c | 22 +- drivers/misc/mxc_ocotp.c | 7 + drivers/mmc/fsl_esdhc.c | 12 +- drivers/net/fec_mxc.c | 78 +- drivers/power/pmic/Makefile | 4 +- drivers/power/regulator/Makefile | 2 +- include/configs/mx8mq_evk.h | 265 +++++ include/dt-bindings/clock/imx8mq-clock.h | 612 +++++++++++ include/dt-bindings/pinctrl/pins-imx8mq.h | 632 +++++++++++ include/power/pmic.h | 1 + 48 files changed, 9992 insertions(+), 59 deletions(-) create mode 100644 arch/arm/dts/fsl-imx8-ca53.dtsi create mode 100644 arch/arm/dts/fsl-imx8mq-evk.dts create mode 100644 arch/arm/dts/fsl-imx8mq.dtsi create mode 100644 arch/arm/include/asm/arch-mx8m/clock.h create mode 100644 arch/arm/include/asm/arch-mx8m/crm_regs.h create mode 100644 arch/arm/include/asm/arch-mx8m/ddr_memory_map.h create mode 100644 arch/arm/include/asm/arch-mx8m/gpio.h create mode 100644 arch/arm/include/asm/arch-mx8m/imx-regs.h create mode 100755 arch/arm/include/asm/arch-mx8m/mx8mq_pins.h create mode 100644 arch/arm/include/asm/arch-mx8m/sys_proto.h create mode 100644 arch/arm/mach-imx/mx8m/Kconfig create mode 100644 arch/arm/mach-imx/mx8m/Makefile create mode 100644 arch/arm/mach-imx/mx8m/clock.c create mode 100644 arch/arm/mach-imx/mx8m/clock_slice.c create mode 100644 arch/arm/mach-imx/mx8m/lowlevel_init.S create mode 100644 arch/arm/mach-imx/mx8m/soc.c create mode 100644 arch/arm/mach-imx/sip.c create mode 100644 board/freescale/mx8mq_evk/Kconfig create mode 100644 board/freescale/mx8mq_evk/Makefile create mode 100644 board/freescale/mx8mq_evk/ddr/ddr.h create mode 100644 board/freescale/mx8mq_evk/ddr/ddr_init.c create mode 100644 board/freescale/mx8mq_evk/ddr/ddrphy_train.c create mode 100644 board/freescale/mx8mq_evk/ddr/helper.c create mode 100644 board/freescale/mx8mq_evk/ddr/wait_ddrphy_training_complete.c create mode 100644 board/freescale/mx8mq_evk/mx8mq_evk.c create mode 100644 board/freescale/mx8mq_evk/spl.c create mode 100644 configs/mx8mq_evk_defconfig create mode 100644 include/configs/mx8mq_evk.h create mode 100644 include/dt-bindings/clock/imx8mq-clock.h create mode 100644 include/dt-bindings/pinctrl/pins-imx8mq.h