[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