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.

Linux/AM5728: Doubt in DTS file selection

Part Number: AM5728
Other Parts Discussed in Thread: BEAGLEBOARD-X15

Tool/software: Linux

Hi,

I m using AM5728 processor and Yocto processor-sdk-04.02.00.09 version.  Linux version 4.9.59-ga75d8e9305.

I want to know the exact DTS file for my project. My custom board is same as the EVM design.

But while booting u-boot, model is specified as TI AM5728 IDK.

U-Boot 2018.01-00557-g313dcd6-dirty (Feb 06 2019 - 12:18:04 +0530)

CPU  : DRA752-GP ES2.0
Model: TI AM5728 IDK

Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN

 

Since the board name in u-boot env as beagle-x15, Its trying to fetch the am57xx-beagle-x15.dtb

board_name=beagle_x15

findfdt=if test $board_name = omap5_uevm; then setenv fdtfile omap5-uevm.dtb; fi; if test $board_name = dra7xx; then setenv fdtfile dra7-evm.dtb; fi;if test $board_name = dra72x-revc; then setenv fdtfile dra72-ev
m-revc.dtb; fi;if test $board_name = dra72x; then setenv fdtfile dra72-evm.dtb; fi;if test $board_name = dra71x && test $boot_nand = 1; then setenv fdtfile dra71-evm-nand.dtb; fi;if test $board_name = dra71x && t
est $boot_nand = 0; then setenv fdtfile dra71-evm.dtb; fi;if test $board_name = dra71-lcard; then setenv fdtfile dra71-lcard.dtb; fi;if test $board_name = dra76x_acd; then setenv fdtfile dra76-evm.dtb; fi;if test
 $board_name = beagle_x15; then setenv fdtfile am57xx-beagle-x15.dtb; fi;if test $board_name = beagle_x15_revb1; then setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;if test $board_name = beagle_x15_revc; then set
env fdtfile am57xx-beagle-x15-revc.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = no; then setenv fdtfile am572x-idk.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = osd101t2045; then sete
nv fdtfile am572x-idk-lcd-osd101t2045.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am572x-idk-lcd-osd101t2587.dtb; fi;if test $board_name = am574x_idk && test $idk_
lcd = no; then setenv fdtfile am574x-idk.dtb; fi;if test $board_name = am574x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am574x-idk-lcd-osd101t2587.dtb; fi;if test $board_name = am57xx_evm; then sete
nv fdtfile am57xx-evm.dtb; fi;if test $board_name = am57xx_evm_reva3; then setenv fdtfile am57xx-evm-reva3.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = no; then setenv fdtfile am571x-idk.dtb; fi;if
 test $board_name = am571x_idk && test $idk_lcd = osd101t2045; then setenv fdtfile am571x-idk-lcd-osd101t2045.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am571x-id
k-lcd-osd101t2587.dtb; fi;if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi;
finduuid=part uuid mmc ${bootpart} uuid

I m currently using am57xx-evm.dts because its having in-build beagle-x15 configurations and some other details i need.

Renaming the am57xx-evm.dtb to am57xx-beagle-x15.dtb I can able to boot the properly.

Is my procedure is right ? Or I need to change the DTS file according to my board.

Please provide the feedback.

  • Hello Karthikeyan,

    Please, see this thread. If you change the board name to am57xx_evm_reva3 in <Processor SDK>/board-support/u-boot-<version>/board/ti/am57xx/board.c by applying the patch from this post and the U-Boot will choose am57xx-evm-reva3.dtb file as fdtfile, if you change the name to am57xx_evm the am57xx-evm.dtb device tree will be chosen. Alternatively you can apply this patch which will even change the configurations to Model: TI AM5728 BeagleBoard-X15, and Board: AM572x EVM REV, you can also edit the patch and setup the ep->version and change the board_rev and set the configurations as Model: TI AM572x EVM Rev A3 Board: AM572x EVM REV A.30.

    cd <Processor SDK>/board-support/u-boot-<version>/
    git apply 0001-AM57xx-Setup-board-name-to-AM572PM_-if-EEPROM-init-f.patch

    Best regards,
    Kemal

  • Hi Kemal,

    Thanks for the reply.

    As per the post, I can switch to am57xx-evm , am57xx-evm-reva3 and also am572x-evm.

    But the EVM board in which I have with prebuild binary is accessing am57xx-evm-es2plus.dtb file. I doesn't having the am57xx-evm-es2plus.dts file in SDK.

    Which DTS file is preferred for me to get the EVM board dtb. please provide the guidance.

    Sharing the Logs for reference :

    EVM Kernel Log :

    Starting kernel ...

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Initializing cgroup subsys cpuset
    [    0.000000] Initializing cgroup subsys cpu
    [    0.000000] Initializing cgroup subsys cpuacct
    [    0.000000] Linux version 4.1.13-g8dc6617 (gtbldadm@ubuntu-12) (gcc version 4.9.3 20150413 (prerelease) (Linaro GCC 4.9-2015.05) ) #1 SMP PREEMPT Thu Jan 28 14:18:18 EST 2016
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] Machine model: TI AM572x EVM ES2+

    ***********************************************************************************************

    Custom Kernel Log :

    Starting kernel ...

    [    0.000000] Booting Linux on physical CPU 0x0
    [    0.000000] Linux version 4.9.59-ga75d8e9305 (balaji@balaji-OptiPlex-7050) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #31 SMP PREEMPT Wed Feb 6 16:07:36 IST 2019
    [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d
    [    0.000000] CPU: div instructions available: patching division code
    [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
    [    0.000000] OF: fdt:Machine model: TI AM5728 EVM

  • You can refer to this post for the am57xx-evm-es2plus.dtb file. It just includes "am57xx-beagle-x15-es2plus.dts", "am57xx-evm-common.dtsi" and overwrites the model property.