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: Linux Booting on AM5728 IDK.

Part Number: AM5728

Tool/software: Linux

Hi ,

  I am trying to flash Linux SDK on AM5728 IDK REV 1.3B. I have downloaded Processor SDK from http://www.ti.com/tool/PROCESSOR-SDK-AM57X 

  • Hi Mahesh,

    What is your question/issue here?

    Regards,
    Pavel
  • Hi Pavel,

    I want to flash Linux on AM5728-IDK , to do so I have downloaded the SDK from the link given in my question. But I am not able to boot prebuild images provided with SDK.

    I have used create-sdcard.sh to create SD card with pre-build binaries. Will the provided link i.e. www.ti.com/.../PROCESSOR-SDK-AM57X will work or do I need to download some other SDK for AM5728-IDK.

    U-Boot SPL 2017.01-g9fd60700db (Jun 28 2017 - 19:55:57)
    DRA752-GP ES2.0
    Trying to boot from MMC1
    reading uboot.env
    
    ** Unable to read "uboot.env" from mmc0:1 **
    Using default environment
    
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    No matching DT out of these options:
       am57xx-beagle-x15
       am57xx-beagle-x15-revb1
       am57xx-evm-reva3
       am572x-idk
       am571x-idk
    reading uboot.env
    
    ** Unable to read "uboot.env" from mmc0:1 **
    Using default environment
    
    Failed to mount ext2 filesystem...
    spl_load_image_ext: ext4fs mount err - 0
    



    Thanks,
    M.Mahesh.

  • Mahesh,

    Do you download and install ti-processor-sdk-linux-am57xx-evm-04.00.00.04-Linux-x86-Install.bin file from the below location?

    software-dl.ti.com/.../index_FDS.html

    This Processor SDK Linux is supported for AM572x IDK, see below wiki page:

    processors.wiki.ti.com/.../Processor_SDK_Supported_Platforms_and_Versions

    When you create your bootable SD card with pre-build binaries through the create-sdcard.sh script, can you list which files exactly you have in BOOT and ROOTFS partitions?

    Regards,
    Pavel
  • Pavel,

    Yes, I have installed the same SDK from the Link which you mentioned.

    From this link processors.wiki.ti.com/.../Processor_SDK_Supported_Platforms_and_Versions  REV 1.3B is not mentioned under AM572x, Can you please suggest any alternative for REV 1.3B.

    After creating SD card, I have following files in BOOT and ROOTFS

    BOOT - MLO , u-boot.img , uEnv.txt

    ROOTFS - bin , boot , dev , etc , home , include , lib , media , mnt , opt , proc , run , sbin , srv , sys , tmp , usr , var , www

    Thanks,
    M.Mahesh.

  • Mahesh Medikonda10 said:
    From this link processors.wiki.ti.com/.../Processor_SDK_Supported_Platforms_and_Versions  REV 1.3B is not mentioned under AM572x, Can you please suggest any alternative for REV 1.3B.

    I can see on several e2e threads (examples below) that older version of PSDK are working fine with AM572x IDK rev 1.3B, thus I expect that PSDK4 also to work fine.

    You might also check with Linux-RT SDK to see if there will be any difference:

    Mahesh Medikonda10 said:
    ROOTFS - bin , boot , dev , etc , home , include , lib , media , mnt , opt , proc , run , sbin , srv , sys , tmp , usr , var , www

    Can you list the files you have in Rootfs/boot/ folder? From the boot log you have provided, seems like the proper AM572x IDK dtb file is missing in that folder.

    Regards,
    Pavel

  • Hi Pavel,

      Following files are present in SDCARD/rootfs/boot/

    am571x-idk.dtb                                    devicetree-uImage-am571x-idk-lcd-osd101t2587.dtb    devicetree-zImage-am572x-evm-jailhouse.dtb
    am571x-idk-lcd-osd101t2045.dtb                    devicetree-uImage-am571x-idk-pru-excl-uio.dtb       devicetree-zImage-am572x-idk.dtb
    am571x-idk-lcd-osd101t2587.dtb                    devicetree-uImage-am572x-evm-jailhouse.dtb          devicetree-zImage-am572x-idk-jailhouse.dtb
    am571x-idk-pru-excl-uio.dtb                       devicetree-uImage-am572x-idk.dtb                    devicetree-zImage-am572x-idk-lcd-osd101t2045.dtb
    am572x-evm-jailhouse.dtb                          devicetree-uImage-am572x-idk-jailhouse.dtb          devicetree-zImage-am572x-idk-lcd-osd101t2587.dtb
    am572x-idk.dtb                                    devicetree-uImage-am572x-idk-lcd-osd101t2045.dtb    devicetree-zImage-am572x-idk-pru-excl-uio.dtb
    am572x-idk-jailhouse.dtb                          devicetree-uImage-am572x-idk-lcd-osd101t2587.dtb    devicetree-zImage-am57xx-beagle-x15.dtb
    am572x-idk-lcd-osd101t2045.dtb                    devicetree-uImage-am572x-idk-pru-excl-uio.dtb       devicetree-zImage-am57xx-beagle-x15-revb1.dtb
    am572x-idk-lcd-osd101t2587.dtb                    devicetree-uImage-am57xx-beagle-x15.dtb             devicetree-zImage-am57xx-evm-cam-mt9t111.dtb
    am572x-idk-pru-excl-uio.dtb                       devicetree-uImage-am57xx-beagle-x15-revb1.dtb       devicetree-zImage-am57xx-evm-cam-ov10635.dtb
    am57xx-beagle-x15.dtb                             devicetree-uImage-am57xx-evm-cam-mt9t111.dtb        devicetree-zImage-am57xx-evm.dtb
    am57xx-beagle-x15-revb1.dtb                       devicetree-uImage-am57xx-evm-cam-ov10635.dtb        devicetree-zImage-am57xx-evm-reva3-cam-mt9t111.dtb
    am57xx-evm-cam-mt9t111.dtb                        devicetree-uImage-am57xx-evm.dtb                    devicetree-zImage-am57xx-evm-reva3-cam-ov10635.dtb
    am57xx-evm-cam-ov10635.dtb                        devicetree-uImage-am57xx-evm-reva3-cam-mt9t111.dtb  devicetree-zImage-am57xx-evm-reva3.dtb
    am57xx-evm.dtb                                    devicetree-uImage-am57xx-evm-reva3-cam-ov10635.dtb  uImage
    am57xx-evm-reva3-cam-mt9t111.dtb                  devicetree-uImage-am57xx-evm-reva3.dtb              uImage-4.9.28-geed43d1050
    am57xx-evm-reva3-cam-ov10635.dtb                  devicetree-zImage-am571x-idk.dtb                    vmlinux-4.9.28-geed43d1050
    am57xx-evm-reva3.dtb                              devicetree-zImage-am571x-idk-lcd-osd101t2045.dtb    zImage
    devicetree-uImage-am571x-idk.dtb                  devicetree-zImage-am571x-idk-lcd-osd101t2587.dtb    zImage-4.9.28-geed43d1050
    devicetree-uImage-am571x-idk-lcd-osd101t2045.dtb  devicetree-zImage-am571x-idk-pru-excl-uio.dtb
    

      Thanks,

    M.Mahesh

  • Hi Mahesh,

    Can you first run {PSDK}/setup.sh script, then to run {PSDK}/bin/create-sdcard.sh script? The setup.sh script will call setup-uboot-env.sh script, which should detect your board as "am5-idk"

    processors.wiki.ti.com/index.php/Processor_SDK_Linux_Getting_Started_Guide
    processors.wiki.ti.com/.../Processor_SDK_Linux_Setup_Script
    processors.wiki.ti.com/.../Processor_SDK_Linux_create_SD_card_script

    Can you also share your uEnv file?

    Regards,
    Pavel

  • MLO and u-boot also use device tree. What are the contents of u-boot/arch/arm/dts?

    Steve K.

  • Hi Steve,

       I am able bring u-boot up by doing the following changes.

    diff --git a/configs/am57xx_evm_defconfig b/configs/am57xx_evm_defconfig
    index e32989d..4ebcc2e 100644
    --- a/configs/am57xx_evm_defconfig
    +++ b/configs/am57xx_evm_defconfig
    @@ -13,7 +13,7 @@ CONFIG_OF_BOARD_SETUP=y
     CONFIG_DRA7_DSPEVE_OPP_HIGH=y
     CONFIG_DRA7_IVA_OPP_HIGH=y
     CONFIG_DRA7_GPU_OPP_HIGH=y
    -CONFIG_SPL_LOAD_FIT=y
    +#CONFIG_SPL_LOAD_FIT=y
     CONFIG_SYS_CONSOLE_INFO_QUIET=y
     CONFIG_VERSION_VARIABLE=y
     CONFIG_SPL=y
    

    but now am stuck in booting kernel.

    U-Boot 2017.01-00319-gfe893f7-dirty (Sep 18 2017 - 17:33:55 +0530)
                                                                        
    CPU  : DRA752-GP ES2.0                                          
    Model: TI AM5728 IDK                                              
    Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN         
    DRAM:  2 GiB                                                   
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    reading uboot.env
    
    ** Unable to read "uboot.env" from mmc0:1 **
    Using default environment
    
    I2C chip 50: requested alen 2 does not match chip offset_len 1
    SCSI:  SATA link 0 timeout.
    AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
    flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst 
    scanning bus for devices...
    Found 0 device(s).
    Net:   <ethaddr> not set. Validating first E-fuse MAC
    cpsw
    Hit any key to stop autoboot:  0 
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    574 bytes read in 4 ms (139.6 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    3725624 bytes read in 225 ms (15.8 MiB/s)
    98557 bytes read in 50 ms (1.9 MiB/s)
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
       Loading Device Tree to 8ffe4000, end 8ffff0fc ... OK
    
    Starting kernel ...
    
    

    Thanks,

    M.Mahesh

  • # This uEnv.txt file can contain additional environment settings that you
    # want to set in U-Boot at boot time.  This can be simple variables such
    # as the serverip or custom variables.  The format of this file is:
    #    variable=value
    # NOTE: This file will be evaluated after the bootcmd is run and the
    #       bootcmd must be set to load this file if it exists (this is the
    #       default on all newer U-Boot images.  This also means that some
    #       variables such as bootdelay cannot be changed by this file since
    #       it is not evaluated until the bootcmd is run.
    fdt_file=am572x-idk.dtb
    
    Hi Pavel,

     Even after following the procedure you suggested, I am seeing the same error.

       I have attached uEnv.txt FYR.

      I have modified the uEnv.txt with the following content.

    bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 fdtfile=am572x-idk.dtb mem=128M rootwait
    bootcmd=mmc rescan; fatload mmc 0 0x82000000 zImage;fatload mmc 0 0x88000000 $fdtfile ; bootz 0x82000000 - 0x88000000
    uenvcmd=boot

    Thanks,

    M.Mahesh

  • Mahesh,

    I think you should use "CONFIG_SPL_LOAD_FIT=y" option, as this is enabled by default in am57xx_evm_defconfig. According to the u-boot user guide (link below) you should build MLO/SPL and u-boot for AM572x IDK with that default config file. Make sure also you have there:

    CONFIG_TARGET_AM57XX_EVM=y
    CONFIG_DEFAULT_DEVICE_TREE="am572x-idk"
    CONFIG_FIT=y
    CONFIG_SPL_LOAD_FIT=y
    CONFIG_OF_LIST="am57xx-beagle-x15 am57xx-beagle-x15-revb1 am57xx-evm-reva3 am572x-idk am571x-idk"

    processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide

    Please try to build your own MLO/SPL and u-boot, replace these files with the pre-built files in SD card and try to boot.

    Please also enable debug() outputs in below u-boot files to have more verbose output in the boot log.
    common/spl/spl.c
    common/common_fit.c

    Note also that we have two DTS files, one for u-boot and one for kernel:

    u-boot/arch/arm/dts/am572x-idk.dts
    linux-kernel/arch/arm/boot/dts/am572x-idk.dts

    The one for u-boot should be embedded into the u-boot image, while the one for kernel generate dtb file and should be located inside SD/rootfs/boot/ folder. During building MLO/u-boot, make sure u-boot dts is also build.

    Regards,
    Pavel
  • Mahesh,

    Uboot has separate DTS file, which can be set as CONFIG_DEFAULT_DEVICE_TREE in uboot defconfig. This DTS file is built with uboot image, meaning it is a part of uboot image. Syntax of uboot DTS file is same as Linux kernel DTS file. Linux DTS file is compiled into DTB file and used as separately for parsing hardware configuration by Linux kernel. Linux DTB image is flashed separately from Linux kernel image.

    Make sure when you build your MLO/u-boot images, you have the below console output (during building):

    ti-processor-sdk-linux-am57xx-evm-04.00.00.04/board-support/u-boot-2017.01+gitAUTOINC+9fd60700db-g9fd60700db$ make

    ....

     DTC     arch/arm/dts/am57xx-beagle-x15.dtb

     DTC     arch/arm/dts/am57xx-beagle-x15-revb1.dtb

     DTC     arch/arm/dts/am57xx-evm-reva3.dtb

     DTC     arch/arm/dts/am572x-idk.dtb

     DTC     arch/arm/dts/am571x-idk.dtb

     SHIPPED dts/dt.dtb

     MKIMAGE u-boot.img

     OBJCOPY u-boot.srec

     CAT     u-boot-dtb.bin

     COPY    u-boot.bin

    .......

    LD      spl/dts/built-in.o

    .......

    LD      spl/u-boot-spl

     OBJCOPY spl/u-boot-spl-nodtb.bin

     FDTGREP spl/u-boot-spl.dtb

     CAT     spl/u-boot-spl-dtb.bin

     COPY    spl/u-boot-spl.bin

     MKIMAGE MLO

     COPY    u-boot.dtb

     MKIMAGE u-boot-dtb.img

    ....

    Regards,

    Pavel