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

Peng Fan van.freenix at gmail.com
Wed Nov 29 02:42:54 UTC 2017


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 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:

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