Other Parts Discussed in Thread: TPS65218, AM4372
using SDK 6.03
we had this working in SDK 4.03. in that SDK we made the following changes (from the u-boot dir):
arch/arm
-Kconfig: added "source "board/ti/custom-board/Kconfig"" (line 1057)
arch/arm/dts
- custom DTS file based on our board and the dtb file from building it and custom dtsi file
-makefile: added custom dtb file list starting with "dtb-$(CONFIG_AM43XX) +=" (line 125)
board/ti/common
-board_detect.c: in the if(rc) block (starting at line 191) added
strlcpy(ep->name, "am437x_custom", TI_EEPROM_HDR_NAME_LEN + 1);
strlcpy(ep->version, "v1.0", TI_EEPROM_HDR_REV_LEN + 1);
strlcpy(ep->serial, "serialnumber", TI_EEPROM_HDR_SERIAL_LEN + 1);
board/ti/cusom_board
-added board.c, board.h, kconfig, mux.c - basically a copy of the evm directory but with .c and .h modifications to match our board
configs
-added our own defconfig file am43xx_custom_defconfig, copie from the evm with the following changes:
-CONFIG_TARGET_AM43XX_EVM=y becomes CONFIG_TARGET_custom_BOARD=y (line 4)
-CONFIG_DEFAULT_DEVICE_TREE="am437x-gp-evm" becomes CONFIG_DEFAULT_DEVICE_TREE="am437x-custom" (line 7)
-CONFIG_OF_LIST="am437x-gp-evm am437x-sk-evm am43x-epos-evm am437x-idk-evm" becomes CONFIG_OF_LIST="am437x-custom" (line 42)
-CONFIG_G_DNL_MANUFACTURER="Texas Instruments" becomes CONFIG_G_DNL_MANUFACTURER="company" (line 75)
include/configs
-added our own board's header file, based on evm file
-define CONFIG_MAX_RAM_BANK_SIZE becomes (1024 << 19) to match our board (line 14)
-"fdtfile=undefined\0" \ becomes "fdtfile=am437x-custom.dtb\0" \ (line 189)
-added "consoleblank=0\0"\ to line 194
-removed
"findfdt="\
"if test $board_name = AM43EPOS; then " \
"setenv fdtfile am43x-epos-evm.dtb; fi; " \
"if test $board_name = AM43__GP; then " \
"setenv fdtfile am437x-gp-evm.dtb; fi; " \
"if test $board_name = AM43XXHS; then " \
"setenv fdtfile am437x-gp-evm.dtb; fi; " \
"if test $board_name = AM43__SK; then " \
"setenv fdtfile am437x-sk-evm.dtb; fi; " \
"if test $board_name = AM43_IDK; then " \
"setenv fdtfile am437x-idk-evm.dtb; fi; " \
"if test $fdtfile = undefined; then " \
"echo WARNING: Could not determine device tree; fi; \0" \ at line 246
the commands to build u-boot were:
make ARCH=arm CROSS_COMPILE=/$HOME/ti-processor-sdk-linux-am437x-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- am43xx_custom_defconfig
make ARCH=arm CROSS_COMPILE=/$HOME/ti-processor-sdk-linux-am437x-evm-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- -j8
and it would build an MLO file and that's it
it would appear a lot has changed in u-boot in the 6.03 SDK and i would like to know if anything different is needed/added/removed in order to create/insert a custom board into u-boot and be able to build it?