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

Diego Dorta diegohdorta at gmail.com
Tue Nov 28 16:42:20 UTC 2017


Hi Peng Fan,

2017-11-28 10:31 GMT-02:00 Peng Fan <peng.fan at 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:

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 at lists.denx.de
> https://lists.denx.de/listinfo/u-boot


More information about the U-Boot mailing list