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.

PROCESSOR-SDK-AM64X: Trying to Flash QSPI from UBOOT

Part Number: PROCESSOR-SDK-AM64X

Hello,

I'm trying to find the QSPI binaries on TMDS64GPEVM that are needed to be flashed in UBOOT MLO.bin and Uboot.img 

where i can found them 

Many thanks

  • Hi Sherif,
    Please refer to the below link on OSPI/QSPI flashing
    software-dl.ti.com/.../UG-QSPI.html
    The u-boot files for QSPI/OSPI boot are the same files for SD boot: tiboot3.bin, tispl.bin, u-boot.img.
    I uploaded two log files I captured on AM64x GP EVM:
    - am6_7.3.1_OSPI_flash.txt: OSPI flashing @u-boot prompt after booting from SD card
    - am6_7.3.1_OSPI_boot.txt: OSPI boot after OSPI flashing. BOOTMODE[] via SW2 on AM64X GP EVM needs to be set-up for OSPI boot mode.
    Best,
    -Hong

    => mmc rescan
    => ls mmc 1
       390826   tiboot3.bin
       704484   tispl.bin
          574   uEnv.txt
       824412   u-boot.img
    
    4 file(s), 0 dir(s)
    
    => sf probe
    WARN: Unable to get temperature. Assuming room temperature
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    => fatload mmc 1 ${loadaddr} tiboot3.bin
    390826 bytes read in 20 ms (18.6 MiB/s)
    => sf update $loadaddr 0x0 $filesize
    device 0 offset 0x0, size 0x5f6aa
       Updating, 68% 164987 B/s390826 bytes written, 0 bytes skipped in 2.963s, speed 134931 B/s
    => fatload mmc 1 ${loadaddr} tispl.bin
    704484 bytes read in 33 ms (20.4 MiB/s)
    => sf update $loadaddr 0x80000 $filesize
    device 0 offset 0x80000, size 0xabfe4
       Updating, 38% 168192 B/s   Updating, 75% 168403 B/s704484 bytes written, 0 bytes skipped in 4.586s, speed 157200 B/s
    => fatload mmc 1 ${loadaddr} u-boot.img
    824412 bytes read in 38 ms (20.7 MiB/s)
    => sf update $loadaddr 0x280000 $filesize
    device 0 offset 0x280000, size 0xc945c
       Updating, 32% 173744 B/s   Updating, 64% 171853 B/s   Updating, 96% 169931 B/s824412 bytes written, 0 bytes skipped in 5.887s, speed 143327 B/s
    => 

    U-Boot SPL 2020.01-ge995ed0ec1 (May 28 2021 - 16:20:13 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.1.1--v2021.01a (Terrific Lla')
    SPL initial stack usage: 13396 bytes
    Trying to boot from SPI
    WARN: Unable to get temperature. Assuming room temperature
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.4(release):2021.00.003-dirty
    NOTICE:  BL31: Built : 14:41:43, May 28 2021
    
    U-Boot SPL 2020.01-ge995ed0ec1 (May 28 2021 - 14:48:57 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.1.1--v2021.01a (Terrific Lla')
    Trying to boot from SPI
    WARN: Unable to get temperature. Assuming room temperature
    
    
    U-Boot 2020.01-ge995ed0ec1 (May 28 2021 - 14:48:57 +0000)
    
    SoC:   AM64X SR1.0
    Model: Texas Instruments AM642 EVM
    Board: AM64-GPEVM rev E2
    DRAM:  2 GiB
    not found for dev mux
    MMC:   sdhci@fa10000: 0, sdhci@fa00000: 1
    Loading Environment from FAT... In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   
    Warning: ethernet@8000000 using MAC address from ROM
    eth0: ethernet@8000000
    Hit any key to stop autoboot:  2  0 
    => md.l 0x43000030 1
    43000030: 0000021b                               ....

  • Hello

    Many thanks the OPSI is flashed successfully following your steps, accordingly I've tried to flash the QSPI but unfortunately still no response 

    I've done the following:

    up running from SD card switch mode.

    U-Boot SPL 2020.01-g84b608fd34 (Jan 29 2021 - 06:03:18 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0014 '20.12.1--v2020.12a (Terrific Ll')
    Trying to boot from MMC1
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.4(release):07.02.00.004-dirty
    NOTICE:  BL31: Built : 05:34:33, Jan 29 2021
    
    U-Boot SPL 2020.01-g84b608fd34 (Jan 29 2021 - 05:44:04 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0014 '20.12.1--v2020.12a (Terrific Ll')
    Trying to boot from MMC1
    
    
    U-Boot 2020.01-g84b608fd34 (Jan 29 2021 - 05:44:04 +0000)
    
    Model: Texas Instruments AM642 EVM
    I2C:   Error, wrong i2c adapter 0 max 0 possible
    ready
    DRAM:  2 GiB
    MMC:   sdhci@fa10000: 0, sdhci@fa00000: 1
    Loading Environment from MMC... OK
    Error, wrong i2c adapter 0 max 0 possible
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000
    Hit any key to stop autoboot:  0
    =>
    =>
    => mmc rescan
    => ls mmc 1
       330166   tiboot3.bin
       607256   tispl.bin
       849764   u-boot.img
          574   uEnv.txt
                System Volume Information/
    
    4 file(s), 1 dir(s)
    
    => sf probe
    WARN: Unable to get temperature. Assuming room temperature
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    => fatload mmc 1 ${loadaddr} tispl.bin
    607256 bytes read in 28 ms (20.7 MiB/s)
    => sf update $loadaddr 0x0 $filesize
    device 0 offset 0x0, size 0x94418
    607256 bytes written, 0 bytes skipped in 4.184s, speed 148514 B/s
    => fatload mmc 1 ${loadaddr} u-boot.img
    849764 bytes read in 38 ms (21.3 MiB/s)
    => sf update $loadaddr 0x40000 $filesize
    device 0 offset 0x40000, size 0xcf764
    524288 bytes written, 325476 bytes skipped in 2.829s, speed 307259 B/s
    =>
    

    the addresses of the U-boot.img 0x40000 i got it from the layout of the QPSI from the link you've provided.

    so please can you advice ?

    Best Regards

  • Hello Hong

    Another attempt for flashing QSPI I did the following commands but unfortunately when I write the u-boot time out failed and error message -110

    => mmc rescan
    => ls mmc 1
       330166   tiboot3.bin
       607256   tispl.bin
       849764   u-boot.img
          574   uEnv.txt
                System Volume Information/
    
    4 file(s), 1 dir(s)
    
    => fatload mmc 1 ${loadaddr} tispl.bin
    607256 bytes read in 7 ms (82.7 MiB/s)
    => sf probe 0
    WARN: Unable to get temperature. Assuming room temperature
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    => sf erase 0x00000 0x100000
    SF: 1048576 bytes @ 0x0 Erased: OK
    => sf write ${loadaddr} 0x00000 ${filesize}
    device 0 offset 0x0, size 0x94418
    SF: 607256 bytes @ 0x0 Written: OK
    => fatload mmc 1 ${loadaddr} u-boot.img
    849764 bytes read in 8 ms (101.3 MiB/s)
    => sf write ${loadaddr} 0x40000 0x60000
    device 0 offset 0x40000, size 0x60000
    flash operation timed out
    SF: 393216 bytes @ 0x40000 Written: ERROR -110

  • Another Attempt but with dumping from SPI flash it seems that tispl.bin is flashed successfully @ 0x0 in QSPI but ERROR -110 is returned while trying to flash U-boot.img still don't know why 

    U-Boot SPL 2020.01-g84b608fd34 (Jan 29 2021 - 06:03:18 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0014 '20.12.1--v2020.12a (Terrific Ll')
    Trying to boot from MMC1
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.4(release):07.02.00.004-dirty
    NOTICE:  BL31: Built : 05:34:33, Jan 29 2021
    
    U-Boot SPL 2020.01-g84b608fd34 (Jan 29 2021 - 05:44:04 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0014 '20.12.1--v2020.12a (Terrific Ll')
    Trying to boot from MMC1
    
    
    U-Boot 2020.01-g84b608fd34 (Jan 29 2021 - 05:44:04 +0000)
    
    Model: Texas Instruments AM642 EVM
    I2C:   Error, wrong i2c adapter 0 max 0 possible
    ready
    DRAM:  2 GiB
    MMC:   sdhci@fa10000: 0, sdhci@fa00000: 1
    Loading Environment from MMC... OK
    Error, wrong i2c adapter 0 max 0 possible
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000
    Hit any key to stop autoboot:  0
    =>
    =>
    => mmc rescan
    => fatload mmc 1 ${loadaddr} tispl.bin
    607256 bytes read in 28 ms (20.7 MiB/s)
    => sf probe 0
    WARN: Unable to get temperature. Assuming room temperature
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    => sf erase 0x00000 0x100000
    SF: 1048576 bytes @ 0x0 Erased: OK
    => sf read ${loadaddr} 0x0 0x400
    device 0 offset 0x0, size 0x400
    SF: 1024 bytes @ 0x0 Read: OK
    => md.b ${loadaddr} 0x200
    82000000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000040: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000050: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000060: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820000a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820000b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820000c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820000d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820000e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820000f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000110: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000120: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000130: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000140: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000150: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000160: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000170: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    82000190: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820001a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820001b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820001c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820001d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820001e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    820001f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
    => fatload mmc 1 ${loadaddr} tispl.bin
    607256 bytes read in 27 ms (21.4 MiB/s)
    => sf write ${loadaddr} 0x00000 ${filesize}
    device 0 offset 0x0, size 0x94418
    SF: 607256 bytes @ 0x0 Written: OK
    => sf read ${loadaddr} 0x0 0x400
    device 0 offset 0x0, size 0x400
    SF: 1024 bytes @ 0x0 Read: OK
    => md.b ${loadaddr} 0x400
    82000000: d0 0d fe ed 00 00 05 5f 00 00 00 38 00 00 04 dc    ......._...8....
    82000010: 00 00 00 28 00 00 00 11 00 00 00 10 00 00 00 00    ...(............
    82000020: 00 00 00 83 00 00 04 a4 00 00 00 00 00 00 00 00    ................
    82000030: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00    ................
    82000040: 00 00 00 03 00 00 00 04 00 00 00 63 60 13 a1 bd    ...........c`...
    82000050: 00 00 00 03 00 00 00 22 00 00 00 00 43 6f 6e 66    ......."....Conf
    82000060: 69 67 75 72 61 74 69 6f 6e 20 74 6f 20 6c 6f 61    iguration to loa
    82000070: 64 20 41 54 46 20 61 6e 64 20 53 50 4c 00 00 00    d ATF and SPL...
    82000080: 00 00 00 03 00 00 00 04 00 00 00 0c 00 00 00 01    ................
    82000090: 00 00 00 01 69 6d 61 67 65 73 00 00 00 00 00 01    ....images......
    820000a0: 61 74 66 00 00 00 00 03 00 00 00 04 00 00 00 79    atf............y
    820000b0: 00 00 9c 48 00 00 00 03 00 00 00 04 00 00 00 6d    ...H...........m
    820000c0: 00 00 00 00 00 00 00 03 00 00 00 15 00 00 00 00    ................
    820000d0: 41 52 4d 20 54 72 75 73 74 65 64 20 46 69 72 6d    ARM Trusted Firm
    820000e0: 77 61 72 65 00 00 00 00 00 00 00 03 00 00 00 09    ware............
    820000f0: 00 00 00 20 66 69 72 6d 77 61 72 65 00 00 00 00    ... firmware....
    82000100: 00 00 00 03 00 00 00 06 00 00 00 25 61 72 6d 36    ...........%arm6
    82000110: 34 00 00 00 00 00 00 03 00 00 00 05 00 00 00 2a    4..............*
    82000120: 6e 6f 6e 65 00 00 00 00 00 00 00 03 00 00 00 15    none............
    82000130: 00 00 00 36 61 72 6d 2d 74 72 75 73 74 65 64 2d    ...6arm-trusted-
    82000140: 66 69 72 6d 77 61 72 65 00 00 00 00 00 00 00 03    firmware........
    82000150: 00 00 00 04 00 00 00 39 70 00 00 00 00 00 00 03    .......9p.......
    82000160: 00 00 00 04 00 00 00 3e 70 00 00 00 00 00 00 02    .......>p.......
    82000170: 00 00 00 01 74 65 65 00 00 00 00 03 00 00 00 04    ....tee.........
    82000180: 00 00 00 79 00 05 e6 d0 00 00 00 03 00 00 00 04    ...y............
    82000190: 00 00 00 6d 00 00 9c 48 00 00 00 03 00 00 00 06    ...m...H........
    820001a0: 00 00 00 00 4f 50 54 45 45 00 00 00 00 00 00 03    ....OPTEE.......
    820001b0: 00 00 00 04 00 00 00 20 74 65 65 00 00 00 00 03    ....... tee.....
    820001c0: 00 00 00 06 00 00 00 25 61 72 6d 36 34 00 00 00    .......%arm64...
    820001d0: 00 00 00 03 00 00 00 05 00 00 00 2a 6e 6f 6e 65    ...........*none
    820001e0: 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00 36    ...............6
    820001f0: 74 65 65 00 00 00 00 03 00 00 00 04 00 00 00 39    tee............9
    82000200: 9e 80 00 00 00 00 00 03 00 00 00 04 00 00 00 3e    ...............>
    82000210: 9e 80 00 00 00 00 00 02 00 00 00 01 64 6d 00 00    ............dm..
    82000220: 00 00 00 03 00 00 00 04 00 00 00 79 00 00 00 00    ...........y....
    82000230: 00 00 00 03 00 00 00 04 00 00 00 6d 00 06 83 18    ...........m....
    82000240: 00 00 00 03 00 00 00 0a 00 00 00 00 44 4d 20 62    ............DM b
    82000250: 69 6e 61 72 79 00 00 00 00 00 00 03 00 00 00 09    inary...........
    82000260: 00 00 00 20 66 69 72 6d 77 61 72 65 00 00 00 00    ... firmware....
    82000270: 00 00 00 03 00 00 00 06 00 00 00 25 61 72 6d 33    ...........%arm3
    82000280: 32 00 00 00 00 00 00 03 00 00 00 05 00 00 00 2a    2..............*
    82000290: 6e 6f 6e 65 00 00 00 00 00 00 00 03 00 00 00 03    none............
    820002a0: 00 00 00 36 44 4d 00 00 00 00 00 03 00 00 00 04    ...6DM..........
    820002b0: 00 00 00 39 a0 00 00 00 00 00 00 03 00 00 00 04    ...9............
    820002c0: 00 00 00 3e a0 00 00 00 00 00 00 02 00 00 00 01    ...>............
    820002d0: 73 70 6c 00 00 00 00 03 00 00 00 04 00 00 00 79    spl............y
    820002e0: 00 02 a3 40 00 00 00 03 00 00 00 04 00 00 00 6d    ...@...........m
    820002f0: 00 06 83 18 00 00 00 03 00 00 00 0d 00 00 00 00    ................
    82000300: 53 50 4c 20 28 36 34 2d 62 69 74 29 00 00 00 00    SPL (64-bit)....
    82000310: 00 00 00 03 00 00 00 0b 00 00 00 20 73 74 61 6e    ........... stan
    82000320: 64 61 6c 6f 6e 65 00 00 00 00 00 03 00 00 00 07    dalone..........
    82000330: 00 00 00 36 55 2d 42 6f 6f 74 00 00 00 00 00 03    ...6U-Boot......
    82000340: 00 00 00 06 00 00 00 25 61 72 6d 36 34 00 00 00    .......%arm64...
    82000350: 00 00 00 03 00 00 00 05 00 00 00 2a 6e 6f 6e 65    ...........*none
    82000360: 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00 39    ...............9
    82000370: 80 08 00 00 00 00 00 03 00 00 00 04 00 00 00 3e    ...............>
    82000380: 80 08 00 00 00 00 00 02 00 00 00 01 6b 33 2d 61    ............k3-a
    82000390: 6d 36 34 32 2d 65 76 6d 2e 64 74 62 00 00 00 00    m642-evm.dtb....
    820003a0: 00 00 00 03 00 00 00 04 00 00 00 79 00 00 18 5d    ...........y...]
    820003b0: 00 00 00 03 00 00 00 04 00 00 00 6d 00 09 26 58    ...........m..&X
    820003c0: 00 00 00 03 00 00 00 0d 00 00 00 00 6b 33 2d 61    ............k3-a
    820003d0: 6d 36 34 32 2d 65 76 6d 00 00 00 00 00 00 00 03    m642-evm........
    820003e0: 00 00 00 08 00 00 00 20 66 6c 61 74 5f 64 74 00    ....... flat_dt.
    820003f0: 00 00 00 03 00 00 00 04 00 00 00 25 61 72 6d 00    ...........%arm.
    => fatload mmc 1 ${loadaddr} u-boot.img
    849764 bytes read in 38 ms (21.3 MiB/s)
    => sf write ${loadaddr} 0x40000 ${filesize}
    device 0 offset 0x40000, size 0xcf764
    flash operation timed out
    SF: 849764 bytes @ 0x40000 Written: ERROR -110
    =>
    

  • Hi Sherif,
    It is good to know OSPI flashing worked on your board.
    In fact, AM64x GP EVM only has OSPI installed, but not QSPI.

    Note that the AM64x GP EVM footprint can accommondate either OSPI or QSPI, but not provision for both at the same time.
    You can refer to AM64x GP EVM user guide or schematic on how to selectively install either OSPI or QSPI.
    www.ti.com/.../swrr171

    I'd also clarify that one of QSPI mentioned in the below link is for DRA7xx board - a DRAxx SoC based board.
    software-dl.ti.com/.../UG-QSPI.html

    Best,
    -Hong