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

Peng Fan peng.fan at nxp.com
Thu Jan 18 01:24:17 UTC 2018


Hi Stefano,

Do you have any comments on this v5 patchset?  I would like this patchset
could catch up 2018.03.

Thanks,
Peng.

> -----Original Message-----
> From: Peng Fan
> Sent: Wednesday, January 10, 2018 1:20 PM
> To: sbabic at denx.de; Fabio Estevam <fabio.estevam at nxp.com>
> Cc: van.freenix at gmail.com; u-boot at lists.denx.de; Peng Fan
> <peng.fan at nxp.com>
> Subject: [PATCH V5 00/31] imx: add i.MX8M support and i.MX8MQ EVK
> 
> 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