[U-Boot] [PATCH V5 00/31] imx: add i.MX8M support and i.MX8MQ EVK

Peng Fan peng.fan at nxp.com
Wed Jan 10 05:20:17 UTC 2018


This patchset is to add i.MX8M and i.MX8MQ-EVK support

V5:
 Drop wait_mask_set/clr_timeout and switch to use readl_poll_timeout in
 the patchset.

V4:
 Regenerate patchset based on Tom's master tree. 
 In this patchset, https://patchwork.ozlabs.org/patch/855027/
 "arm: imx: Rework i.MX specific commands to be excluded from SPL" from
 Tom is included to avoid merge conflicts because the i.mx8m change
 also has some modification to bootaux and arch/arm/mach-imx/Makefile.
 Because CONFIG_GPT_TIMER change, I did a small modification to apply
 Tom's patch, no function change.

 Include ATF link in README.

V3:
 This patchset based on https://patchwork.ozlabs.org/patch/855027/
 "arm: imx: Rework i.MX specific commands to be excluded from SPL" from
 Tom to avoid this patchset fail apply after Tom's patch merged.

 Previously "power: pmic/regulator allow dm be omited by SPL" broke other
 boards, in V3 patchset, only touch pfuze100 related options.

 Sharing code about get mac from fuse between mx7/mx8m
 Sharing code about bootaux between mx6/7/mx8m
 Sharing code about cpu speed grade between mx7/mx8m
 Sharing code about get boot device between mx7/mx8m
 Sharding code about mmc env between mx7/mx8m

 Introduce wait_mask_set/clr_timeout to avoid deadloop in clock pll configuration

 Correct authorship of fix building warning on fec arm64, patch 27/31.

 Switch to use structure for DDR Controller. For DDR PHY registers,
 there are about more than 10 thousands registers, I could not convert
 them with detailed register name, and the script is generated from IC team,
 So I use regs[0xxxxx] arrays here fo easily converting between IC team
 released script and uboot ddr phy cod.

 Improve REAMME file to include where to download firmware and imx-mkimage
 and how to build

 Add review tags on the V2 patchset.

 Hope this patchset could catch up next release :)

V2:

 patch 02/23: convert to structure, drop is_boot_from_usb and
	      disconnect_from_usb
 patch 04/23: conver to use structure for the clock driver, removed the
              CCM_xxx macros. Add static for local functons.
	      Add init_usdhc_clk, init_uart_clk and etc to not enable
	      them all at default.
 patch 05/23: Add more commit msg for the sip part.
 patch 08/23: Merge the spl boot device with i.MX7
 patch 12/23: Typo fix and return error fix from Heiko for the SoC related part
 patch 22/23: Use a weak function ddr_init. If patch 23/23 could not be
              accepted at current stage, to make others still be could be
	      compiled.

The patchset depends on
https://patchwork.ozlabs.org/patch/841934/
https://patchwork.ozlabs.org/patch/841958/
to be tested on real hardware.

V1:

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. If no issue, you may 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 (29):
  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
  imx: add i.MX8MQ SoC Revision and is_mx8m helper
  imx: add pad settings bit definition for i.MX8M
  imx: cpu: move speed/temp to common cpu
  imx: cpu: add cpu speed/grade for i.MX8M
  imx: refactor imx_get_mac_from_fuse
  imx: cleanup bootaux
  imx: bootaux: support i.MX8M
  imx: mx7: move get_boot_device to cpu.c
  imx: cpu: support get_boot_device for i.MX8M
  imx: mx7: move mmc env code to mmc_env.c
  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
  net: fec: do not access reserved register for i.MX8M
  imx: imx8mq: add dtsi file
  power: pmic/regulator allow dm be omitted by SPL
  imx: mx8m: add ddr controller memory map
  imx: add i.MX8MQ EVK support

Tom Rini (1):
  arm: imx: Rework i.MX specific commands to be excluded from SPL

Ye Li (1):
  net: fec: fix build warnings for 64bits support

 arch/arm/Kconfig                             |   14 +-
 arch/arm/Makefile                            |    4 +-
 arch/arm/dts/Makefile                        |    2 +
 arch/arm/dts/fsl-imx8-ca53.dtsi              |   92 ++
 arch/arm/dts/fsl-imx8mq-evk.dts              |  424 +++++++++
 arch/arm/dts/fsl-imx8mq.dtsi                 |  429 +++++++++
 arch/arm/include/asm/arch-imx/cpu.h          |    6 +-
 arch/arm/include/asm/arch-mx6/imx-regs.h     |    9 +-
 arch/arm/include/asm/arch-mx7/imx-regs.h     |   18 +-
 arch/arm/include/asm/arch-mx8m/clock.h       |  657 +++++++++++++
 arch/arm/include/asm/arch-mx8m/crm_regs.h    |   10 +
 arch/arm/include/asm/arch-mx8m/ddr.h         |  365 ++++++++
 arch/arm/include/asm/arch-mx8m/gpio.h        |   12 +
 arch/arm/include/asm/arch-mx8m/imx-regs.h    |  468 ++++++++++
 arch/arm/include/asm/arch-mx8m/mx8mq_pins.h  |  623 +++++++++++++
 arch/arm/include/asm/arch-mx8m/sys_proto.h   |   18 +
 arch/arm/include/asm/mach-imx/boot_mode.h    |   10 +
 arch/arm/include/asm/mach-imx/iomux-v3.h     |   22 +-
 arch/arm/include/asm/mach-imx/regs-lcdif.h   |   10 +-
 arch/arm/include/asm/mach-imx/sys_proto.h    |    4 +
 arch/arm/mach-imx/Makefile                   |   23 +-
 arch/arm/mach-imx/cpu.c                      |  130 ++-
 arch/arm/mach-imx/imx_bootaux.c              |   51 +-
 arch/arm/mach-imx/mac.c                      |   61 ++
 arch/arm/mach-imx/mmc_env.c                  |   30 +
 arch/arm/mach-imx/mx5/clock.c                |    4 +-
 arch/arm/mach-imx/mx6/soc.c                  |   72 --
 arch/arm/mach-imx/mx7/clock.c                |    2 +
 arch/arm/mach-imx/mx7/soc.c                  |  195 ----
 arch/arm/mach-imx/mx7ulp/clock.c             |    2 +
 arch/arm/mach-imx/mx8m/Kconfig               |   22 +
 arch/arm/mach-imx/mx8m/Makefile              |    8 +
 arch/arm/mach-imx/mx8m/clock.c               |  795 ++++++++++++++++
 arch/arm/mach-imx/mx8m/clock_slice.c         |  742 +++++++++++++++
 arch/arm/mach-imx/mx8m/lowlevel_init.S       |   63 ++
 arch/arm/mach-imx/mx8m/soc.c                 |  227 +++++
 arch/arm/mach-imx/sip.c                      |   23 +
 arch/arm/mach-imx/spl.c                      |   10 +-
 board/freescale/mx8mq_evk/Kconfig            |   12 +
 board/freescale/mx8mq_evk/Makefile           |   12 +
 board/freescale/mx8mq_evk/README             |   47 +
 board/freescale/mx8mq_evk/ddr/ddr_init.c     |  246 +++++
 board/freescale/mx8mq_evk/ddr/ddrphy_train.c | 1272 ++++++++++++++++++++++++++
 board/freescale/mx8mq_evk/ddr/helper.c       |  101 ++
 board/freescale/mx8mq_evk/mx8mq_evk.c        |  156 ++++
 board/freescale/mx8mq_evk/spl.c              |  230 +++++
 configs/mx8mq_evk_defconfig                  |   27 +
 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                  |    2 +-
 drivers/power/regulator/Makefile             |    2 +-
 include/configs/mx8mq_evk.h                  |  269 ++++++
 include/dt-bindings/clock/imx8mq-clock.h     |  612 +++++++++++++
 include/dt-bindings/pinctrl/pins-imx8mq.h    |  632 +++++++++++++
 include/imx_sip.h                            |   14 +
 57 files changed, 9047 insertions(+), 363 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.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 100644 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/mac.c
 create mode 100644 arch/arm/mach-imx/mmc_env.c
 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/README
 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/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
 create mode 100644 include/imx_sip.h

-- 
2.14.1



More information about the U-Boot mailing list