This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: U-Boot Custom Board Port

Part Number: TDA4VM

Hi TI,

I want to create an initial baseline for our custom board (using TDA4 SoC. Unfortunately, I was not able to find any instructions for J721e/TDA4. The only resource I found is the following: https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/AM335X/linux/How_to_Guides/Board_Port/U-Boot.html

I did the following steps:

  • Copy files from board/ti/j721e/* into new directrory board/myComp/myBoard/*
  • Removed TI_I2C_BOARD_DETECT according to previous mentioned link
  • Adapted Kconfig in board/myComp/myBoard according to the previous mentioned link
  • Created new defconfigs by copying the content of j721e_evm_a72_defconfig and j721e_evm_r5_defconfig into myComp_myBoard_a72_defconfig and myComp_myBoard_r5_defconfig
  • Replace CONFIG_TARGET_J721E_A72_EVM in  newly created *_a72_defconfig with CONFIG_TARGET_MYCOMP_MYBOARD_A72
  • Replace CONFIG_TARGET_J721E_R5_EVM in  newly created *_r5_defconfig with CONFIG_TARGET_MYCOMP_MYBOARD_R5
  • Append every #ifdef CONFIG_TARGET_J721E_A72_EVM with #if defined(CONFIG_TARGET_J721E_A72_EVM) || defined(CONFIG_TARGET_MYCOMP_MYBOARD_A72) in U-Boot source code
  • Append every #ifdef CONFIG_TARGET_J721E_R5_EVM with #if defined(CONFIG_TARGET_J721E_R5_EVM) || defined(CONFIG_TARGET_MYCOMP_MYBOARD_R5) in U-Boot source code

Doing all these steps, I should be able to build similar bootfiles like before. However, the build throws following error:

===================================
Building U-boot for
===================================
make -j 24 -C /home/felix/gitRepos/myComp-u-boot-ti ARCH=arm myComp_myBoard_a72_config \
	O=/tftpboot/u-boot/
make[1]: Entering directory '/home/felix/gitRepos/myComp-u-boot-ti'
make[2]: Entering directory '/tftpboot/u-boot'
  GEN     Makefile
#
# configuration written to .config
#
make[2]: Leaving directory '/tftpboot/u-boot'
make[1]: Leaving directory '/home/felix/gitRepos/myComp-u-boot-ti'
make -j 24 -C /home/felix/gitRepos/myComp-u-boot-ti \
	ARCH=arm CROSS_COMPILE=/opt/arago-2021.09/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu- CC="/opt/arago-2021.09/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu-gcc --sysroot=/opt/arago-2021.09/sysroots/aarch64-linux/" \
	BINMAN_INDIRS=/home/felix/ti-processor-sdk-linux-adas-j721e-evm-09_01_00_06/board-support/prebuilt-images BL31=/home/felix/ti-processor-sdk-linux-adas-j721e-evm-09_01_00_06/board-support/prebuilt-images/bl31.bin TEE=/home/felix/ti-processor-sdk-linux-adas-j721e-evm-09_01_00_06/board-support/prebuilt-images/bl32.bin \
	O=/tftpboot/u-boot/
make[1]: Entering directory '/home/felix/gitRepos/myComp-u-boot-ti'
make[2]: Entering directory '/tftpboot/u-boot'
  GEN     Makefile
scripts/kconfig/conf  --syncconfig Kconfig
  CFG     u-boot.cfg
  GEN     include/autoconf.mk.dep
  CFG     spl/u-boot.cfg
  GEN     include/autoconf.mk
  GEN     spl/include/autoconf.mk
  GEN     Makefile
  UPD     include/generated/timestamp_autogenerated.h
  ENVC    include/generated/env.txt
  ENVP    include/generated/env.in
  ENVT    include/generated/environment.h
  Using /home/felix/gitRepos/myComp-u-boot-ti as source for U-Boot
  CC      cmd/version.o
  CC      env/common.o
  AR      cmd/built-in.o
  CC      lib/efi_loader/dtbdump.o
  CC      lib/efi_loader/initrddump.o
  AR      env/built-in.o
  LD      lib/efi_loader/initrddump_efi.so
  LD      lib/efi_loader/dtbdump_efi.so
  OBJCOPY lib/efi_loader/initrddump.efi
  OBJCOPY lib/efi_loader/dtbdump.efi
  LD      u-boot
/opt/arago-2021.09/sysroots/x86_64-arago-linux/usr/bin/aarch64-none-linux-gnu-ld.bfd: drivers/dfu/dfu.o: in function `dfu_init_env_entities':
/home/felix/gitRepos/myComp-u-boot-ti/drivers/dfu/dfu.c:157: undefined reference to `set_dfu_alt_info'
make[2]: *** [/home/felix/gitRepos/myComp-u-boot-ti/Makefile:1754: u-boot] Error 139
make[2]: *** Deleting file 'u-boot'
make[2]: Leaving directory '/tftpboot/u-boot'
make[1]: *** [Makefile:177: sub-make] Error 2
make[1]: Leaving directory '/home/felix/gitRepos/myComp-u-boot-ti'
make: *** [Makefile:27: u-boot-] Error 2

I already verified, that CONFIG_SET_DFU_ALT_INFO=y is set.

Do you have any idea on what could be missing here?

Additionally, it would be very helpful, if you could proved a general instruction on how to add custom boards to U-Boot source code for TDA4.

Thanks for your help and best regards,

Felix