
Hi Diego,
On Tue, Nov 28, 2017 at 02:42:20PM -0200, Diego Dorta wrote:
Hi Peng Fan,
2017-11-28 10:31 GMT-02:00 Peng Fan peng.fan@nxp.com:
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.
I applied your patches and I am facing the following errors:
I missed to add this after I cleanup patches.
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index efa2056e09..5ad17cb7fb 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -135,3 +135,4 @@ obj-$(CONFIG_MX6) += mx6/ obj-$(CONFIG_MX7) += mx7/ obj-$(CONFIG_ARCH_MX7ULP) += mx7ulp/
+obj-$(CONFIG_MX8M) += mx8m/
I'll add this in V2.
Thanks, Peng.
LD u-boot arch/arm/lib/built-in.o: In function `do_reset': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/lib/reset.c:39: undefined reference to `reset_cpu' arch/arm/cpu/armv8/built-in.o: In function `count_required_pts': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/cpu/armv8/cache_v8.c:275: undefined reference to `mem_map' /usr/bin/aarch64-linux-gnu-ld.bfd: arch/arm/cpu/armv8/built-in.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `mem_map' can not be used when making a shared object; recompile with -fPIC /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/cpu/armv8/cache_v8.c:275: undefined reference to `mem_map' arch/arm/cpu/armv8/built-in.o: In function `get_tcr': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/cpu/armv8/cache_v8.c:46: undefined reference to `mem_map' /usr/bin/aarch64-linux-gnu-ld.bfd: arch/arm/cpu/armv8/built-in.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `mem_map' can not be used when making a shared object; recompile with -fPIC /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/cpu/armv8/cache_v8.c:46: undefined reference to `mem_map' arch/arm/cpu/armv8/built-in.o: In function `setup_pgtables': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/cpu/armv8/cache_v8.c:376: undefined reference to `mem_map' /usr/bin/aarch64-linux-gnu-ld.bfd: arch/arm/cpu/armv8/built-in.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `mem_map' can not be used when making a shared object; recompile with -fPIC arch/arm/cpu/armv8/built-in.o:/home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/cpu/armv8/cache_v8.c:376: more undefined references to `mem_map' follow arch/arm/mach-imx/built-in.o: In function `imx_iomux_v3_setup_pad': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/mach-imx/iomux-v3.c:63: undefined reference to `get_cpu_rev' /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/mach-imx/iomux-v3.c:63: undefined reference to `get_cpu_rev' /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/mach-imx/iomux-v3.c:63: undefined reference to `get_cpu_rev' arch/arm/mach-imx/built-in.o: In function `print_cpuinfo': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/mach-imx/cpu.c:187: undefined reference to `get_cpu_rev' /home/diego/codes/nxp/bootloader/teste/u-boot-imx/arch/arm/mach-imx/cpu.c:209: undefined reference to `mxc_get_clock' board/freescale/mx8mq_evk/built-in.o: In function `board_qspi_init': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/board/freescale/mx8mq_evk/mx8mq_evk.c:54: undefined reference to `set_clk_qspi' board/freescale/mx8mq_evk/built-in.o: In function `board_early_init_f': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/board/freescale/mx8mq_evk/mx8mq_evk.c:70: undefined reference to `set_wdog_reset' board/freescale/mx8mq_evk/built-in.o: In function `dram_init': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/board/freescale/mx8mq_evk/mx8mq_evk.c:80: undefined reference to `rom_pointer' /usr/bin/aarch64-linux-gnu-ld.bfd: board/freescale/mx8mq_evk/built-in.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `rom_pointer' can not be used when making a shared object; recompile with -fPIC /home/diego/codes/nxp/bootloader/teste/u-boot-imx/board/freescale/mx8mq_evk/mx8mq_evk.c:80: undefined reference to `rom_pointer' board/freescale/mx8mq_evk/built-in.o: In function `setup_fec': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/board/freescale/mx8mq_evk/mx8mq_evk.c:112: undefined reference to `set_clk_enet' cmd/built-in.o: In function `do_fdt': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/cmd/fdt.c:210: undefined reference to `ft_system_setup' common/built-in.o: In function `image_setup_libfdt': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/common/image-fdt.c:488: undefined reference to `ft_system_setup' drivers/built-in.o: In function `prepare_access': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/misc/mxc_ocotp.c:181: undefined reference to `get_cpu_rev' /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/misc/mxc_ocotp.c:181: undefined reference to `get_cpu_rev' /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/misc/mxc_ocotp.c:189: undefined reference to `enable_ocotp_clk' drivers/built-in.o: In function `set_timing': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/misc/mxc_ocotp.c:279: undefined reference to `mxc_get_clock' drivers/built-in.o: In function `fsl_esdhc_probe': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/mmc/fsl_esdhc.c:1114: undefined reference to `mxc_get_clock' drivers/net/built-in.o: In function `fec_mii_setspeed': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/net/fec_mxc.c:140: undefined reference to `imx_get_fecclk' drivers/net/built-in.o: In function `fec_get_hwaddr': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/net/fec_mxc.c:353: undefined reference to `imx_get_mac_from_fuse' drivers/net/built-in.o: In function `fecmxc_init': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/net/fec_mxc.c:567: undefined reference to `get_cpu_rev' /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/net/fec_mxc.c:567: undefined reference to `get_cpu_rev' /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/net/fec_mxc.c:567: undefined reference to `get_cpu_rev' drivers/serial/built-in.o: In function `mxc_serial_setbrg': /home/diego/codes/nxp/bootloader/teste/u-boot-imx/drivers/serial/serial_mxc.c:187: undefined reference to `imx_get_uartclk' Segmentation fault (core dumped) Makefile:1256: recipe for target 'u-boot' failed make: *** [u-boot] Error 139
Is this something that you had already seen? Am I missing something?
Thanks, Diego
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
-- 2.14.1
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
--