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.

AM5728: U-Boot FIT Image

Part Number: AM5728

Hi 

We have enabled FIT image support in SPL with the following configurations :

CONFIG_SPL_FIT=y
CONFIG_SPL_LOAD_FIT=y

With these configurations, SPL is able to load FIT Image and got u-boot.img and then load it to CONFIG_SYS_TEXT_BASE address. But uboot image is not running after SPL passes control to it. 

Following are the traces :

U-Boot SPL 2018.01-00569-gfd38f5afef-dirty (May 11 2020 - 21:39:51)
DRA752-GP ES2.0
Trying to boot from MMC1
no pinctrl state for default mode
no pinctrl state for default mode 
fit read sector 0, sectors=649224, dst=80761780, count=64922
cannot find property 'firmware': -1
could not find firmware image, trying loadables...
loadables: 'uboot'

loading uboot
size= 556988
Embedded data: dst=80800000, size=87fbc

fdt: 'fdt@1'

size= 90366
Embedded data: dst=80887fbc, size=160fe

Checking for more images
no string for index 1
Jumping to U-Boot
loaded - jumping to U-Boot...
image entry point: 0x80800000

It hangs after this last print. 

We have used following its file :

/dts-v1/;

/ {
description = "U-Boot FIT, loaded by SPL";
#address-cells = <0x1>;

images {

uboot {
description = "U-Boot";
data = /incbin/("./u-boot-dtb.img");
type = "standalone";
arch = "arm";
compression = "none";
load = <0x80800000>;
entry = <0x80800000>;
hash@1 {
algo = "sha1";
};
};

fdt@1 {
description = "Flattened Device Tree blob";
data = /incbin/("./am572x-idk.dtb");
type = "flat_dt";
arch = "arm";
compression = "none";
hash@1 {
algo = "sha1";
};
};


};

configurations {
default = "am572x-idk.dtb";
am572x-idk.dtb {
description = "evm with spl config";
loadables = "uboot";
fdt = "fdt@1";
signature@1 {
algo = "sha1,rsa2048";
key-name-hint = "cdot";
sign-images = "fdt", "loadables";
};
};
};


};

  • Hi Rohit,

    http://software-dl.ti.com/processor-sdk-linux/esd/AM57X/latest/index_FDS.html

    The Latest SDK is already doing what you are trying to achieve. Please move to the latest release
    and see that FIT is already enabled in SPL.

    You can take references from there if you really want to hold on to older SDK version.

    Regards,
    Keerthy

  • Hi Keerthy,

    I have tried with the latest SDK that you mentioned but got the same error.

    In latest SDK, FIT is enabled by default.

    Regards,

    Rohit Yadav

  • Rohit,

    The pre built SDK Images in the board-support/prebuilt-images should definitely boot on AM5728-IDK.
    Are you using a custom board or a the TI AM5728-IDK. Please share the logs with the pre build
    SDK images. That should definitely boot to u-boot prompt.

    - Keerthy

  • Hi Keerthy,

    I am using TI AM5728-IDK. It is successfully booting with prebuild images. But prebuild images don't have a FIT image of u-boot. Prebuild images have u-boot-am57xx-evm.img file which is not a FIT.

    So  I created a u-boot FIT image with the 'ITS' file that I mentioned above. I have a problem in booting with this FIT image. 

    I want to do a verified boot in which MLO shall verify the u-boot image.

    Logs :

    Trying to boot from MMC1
    no pinctrl state for default mode
    no pinctrl state for default mode 
    fit read sector 0, sectors=649224, dst=80761780, count=64922
    cannot find property 'firmware': -1
    could not find firmware image, trying loadables...
    loadables: 'uboot'

    loading uboot 
    size= 556988 
    Embedded data: dst=80800000, size=87fbc

    fdt: 'fdt@1'

    size= 90366 
    Embedded data: dst=80887fbc, size=160fe

    Checking for more images
    no string for index 1
    Jumping to U-Boot
    loaded - jumping to U-Boot...
    image entry point: 0x80800000

    This is the last print that I got. After that it stuck.

  • Rohit,

    Not sure why you tell that prebuilt u-boot-am57xx-evm.img is not a FIT Image. Here is the mkimage dump.

    mkimage -l u-boot-am57xx-evm.img

    FIT description: Firmware image with one or more FDT blobs
    Created:         Sun Jan  5 15:54:33 2020
     Image 0 (firmware-1)
      Description:  U-Boot 2019.01-ga141f7abfd for am57xx board
      Created:      Sun Jan  5 15:54:33 2020
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    512340 Bytes = 500.33 KiB = 0.49 MiB
      Architecture: ARM
      OS:           U-Boot
      Load Address: 0x80800000
     Image 1 (fdt-1)
      Description:  am57xx-beagle-x15
      Created:      Sun Jan  5 15:54:33 2020
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    134659 Bytes = 131.50 KiB = 0.13 MiB
      Architecture: ARM
      OS:           Unknown OS
      Load Address: unavailable
     Image 2 (fdt-2)
      Description:  am57xx-beagle-x15-revb1
      Created:      Sun Jan  5 15:54:33 2020
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    134810 Bytes = 131.65 KiB = 0.13 MiB
      Architecture: ARM
      OS:           Unknown OS
      Load Address: unavailable
     Image 3 (fdt-3)
      Description:  am57xx-beagle-x15-revc
      Created:      Sun Jan  5 15:54:33 2020
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    134776 Bytes = 131.62 KiB = 0.13 MiB
      Architecture: ARM
      OS:           Unknown OS
      Load Address: unavailable
     Image 4 (fdt-4)
      Description:  am5729-beagleboneai
      Created:      Sun Jan  5 15:54:33 2020
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    134960 Bytes = 131.80 KiB = 0.13 MiB
      Architecture: ARM
      OS:           Unknown OS
      Load Address: unavailable
     Image 5 (fdt-5)
      Description:  am572x-idk
      Created:      Sun Jan  5 15:54:33 2020
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    134552 Bytes = 131.40 KiB = 0.13 MiB
      Architecture: ARM
      OS:           Unknown OS
      Load Address: unavailable
     Image 6 (fdt-6)
      Description:  am571x-idk
      Created:      Sun Jan  5 15:54:33 2020
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    128385 Bytes = 125.38 KiB = 0.12 MiB
      Architecture: ARM
      OS:           Unknown OS
      Load Address: unavailable
     Image 7 (fdt-7)
      Description:  am574x-idk
      Created:      Sun Jan  5 15:54:33 2020
      Type:         Firmware
      Compression:  uncompressed
      Data Size:    129070 Bytes = 126.04 KiB = 0.12 MiB
      Architecture: ARM
      OS:           Unknown OS
      Load Address: unavailable
     Default Configuration: 'conf-1'
     Configuration 0 (conf-1)
      Description:  am57xx-beagle-x15
      Kernel:       unavailable
      Firmware:     firmware-1
      FDT:          fdt-1
     Configuration 1 (conf-2)
      Description:  am57xx-beagle-x15-revb1
      Kernel:       unavailable
      Firmware:     firmware-1
      FDT:          fdt-2
     Configuration 2 (conf-3)
      Description:  am57xx-beagle-x15-revc
      Kernel:       unavailable
      Firmware:     firmware-1
      FDT:          fdt-3
     Configuration 3 (conf-4)
      Description:  am5729-beagleboneai
      Kernel:       unavailable
      Firmware:     firmware-1
      FDT:          fdt-4
     Configuration 4 (conf-5)
      Description:  am572x-idk
      Kernel:       unavailable
      Firmware:     firmware-1
      FDT:          fdt-5
     Configuration 5 (conf-6)
      Description:  am571x-idk
      Kernel:       unavailable
      Firmware:     firmware-1
      FDT:          fdt-6
     Configuration 6 (conf-7)
      Description:  am574x-idk
      Kernel:       unavailable
      Firmware:     firmware-1
      FDT:          fdt-7

    Why are you concluding the above is not a FIT image?

    - Keerthy