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.

SK-AM62-LP: AM62 can not boot up properly with OSPI

Part Number: SK-AM62-LP
Other Parts Discussed in Thread: SK-AM62

I just receive my SK-AM62-LP board from TI. And I can boot it from SD card successfully.

But I encountered with a problem of OSPI boot mode.

The board can't boot up from OSPI with 1000(SW3.4~SW3.7), but it worked if I change the switch to 0000(SW3.4~SW3.7).

However, the doc shows that it's the boot mode in Serial NAND with 0000. Is this a Document mistake, or just I am misunderstanding?

I change the switch by refering to this file(https://www.ti.com/lit/pdf/spruj51).

 

The detail steps I did before boot system from OSPI:
1 download official image from here(https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-PvdSyIiioq/09.00.00.03/tisdk-default-image-am62xx-lp-evm.wic.xz)

2 flash the img to SD card with balenaetcher

3 insert the SD card to board and boot it up

4 flash the file(tiboot3.bin tispl.bin u-boot.img) I find from the SD card to OSPI flash with the following command:

dd if=tiboot3.bin of=/dev/mtdblock0

dd if=tispi.bin of=/dev/mtdblock1

dd if=u-boot.img of=/dev/mtdblock2

5 change the SW3.4~SW3.7 from (0001) to (1000) to boot from OSPI.

6 remove the SD card and power the board again.

 

  • I forget to post one more detail here.
    I also flash the ospi_phy_pattern to the last sector of OSPI flash by refering this link(3.1.1.6. OSPI/QSPI — Processor SDK AM62x Documentation)

  • but it worked if I change the switch to 0000(SW3.4~SW3.7).

    Setting the boot modes can be confusing, let's first validate your "working" settings. In your above working case, can you please stop the boot at U-Boot prompt, and read out and provide the contents of the CTRLMMR_MAIN_DEVSTAT register, which contains a (latched) copy of all bootmode bits, and report back here. See below example:

    # Check current bootmode by reading CTRLMMR_MAIN_DEVSTAT
    # It shows it is configured for Ethernet RGMII boot w/ PHY probe, UART backup boot, and 25MHz PLL reference clock
    => md.l 0x43000030 1
    43000030: 00000c23                               #...

    Regards, Andreas

  • Thank you for your reply.
    Here is the full log and the register value you need of my SK-AM62-LP booted from serial NAND with 0000(SW3.4~SW3.7):

    U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
    SPL initial stack usage: 13376 bytes
    Trying to boot from SPINAND
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.8(release):v2.8-226-g2fcd408bb3-dirty
    NOTICE:  BL31: Built : 00:42:57, Jan 13 2023
    
    U-Boot SPL 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)')
    Trying to boot from SPINAND
    
    
    U-Boot 2023.04-g24098ea90d (Jul 06 2023 - 12:59:40 +0000)
    
    SoC:   AM62X SR1.0 HS-FS
    Model: Texas Instruments AM62x LP SK
    EEPROM not available at 80, trying to read at 81
    Board: AM62-LP-SKEVM rev E2
    DRAM:  2 GiB
    Core:  78 devices, 30 uclasses, devicetree: separate
    NAND:  0 MiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000port@1
    Hit any key to stop autoboot:  0
    =>
    =>
    =>
    =>
    => md.
      md mdio
    => md.l 0x43000030 1
    43000030: 00000203                             ....
    =>
    

  • Hi Xiong,

    looks like you indeed selected OSPI NAND boot mode, thanks for confirming. So I just searched some more, and this is in fact the correct boot mode for the SK-AM62-LP board. It is not intuitive, but at the end of the day it is about the OSPI read protocol, and the OSPI flash device on that board (W35N01JW) is different from what is on the "regular" SK-AM62 board, and requires this different boot mode to be selected (the protocol is called OSPI 1-1-8 mode, to be specific, as selected by bootmode pins 7 and 8, see TRM).

    Please see here:

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/latest/exports/docs/api_guide_am62x/EVM_SETUP_PAGE.html

    Regards, Andreas

  • Oh, I don't know there is something special for SK-AM62-LP. I understand it a little more then bofore.
    And I am confusing about the doc about the bootmode config now. When the switch is 0000(SW3.4~SW3.7), it shows the boot device is serial NAND.But as you mentioned below. it's using the OSPI 1-1-8 mode actually.
    How should I understand it?

  • But as you mentioned below. it's using the OSPI 1-1-8 mode actually.

    From the TRM...

    Regards, Andreas