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.

AM6442: Quickest boot - OSPI or QSPI

Part Number: AM6442
Other Parts Discussed in Thread: SK-AM64B

Hi, which Flash type shall be used to boot Uboot and Linux (23MByte) from Flash connected to OSPI interface? We need to boot as quick as possible (<3-5s)

OSPI or QSPI Flash? Loopbackclock needed for both types?

Which one has the highest clock frequency?

I read in e2e that there is a problem with OSPI boot, better to use xSPI?

  • Hi Daniel,

    a couple of quick general comments;

    • OSPI would be recommended for fastest boot; more parallel data lines == higher throughput
    • Highest frequency is defined in the device datasheet; you can run the OSPI controller/module w/ 166MHz bus speed in DDR mode; this is supported by the current driver. The SK-AM64B board is a good example of such a solution.
    • The higher speeds require the use of what's called "PHY Mode" which requires a careful HW design including the connections and clock signals and also requires only a single flash device to be connected (no muxing with different OSPI/QSPI devices using the chip select signals, also see AM6442, AM6422, AM6412 and AM2434 Schematic Design and Review Checklist for more background on this and other HW-related aspects)
    • The external loopback mode is only used for QSPI according to the TRM section "12.3.2.4.2 OSPI Modes". In case of OSPI, the external device provides a DQS signal for source synchronous capture.
    I read in e2e that there is a problem with OSPI boot, better to use xSPI?

    OSPI boot works as advertised in the TRM. Whether OSPI or xSPI needs to be used depends on the OSPI device protocol support/requirements. If you have a specific question/concern, let us know.

    We need to boot as quick as possible (<3-5s)

    As for optimizing boot time, there's many optimizations that can be done, but the boot times you need should be achievable. Consider using a "Falcon Boot" type approach, going directly from R5 U-Boot SPL (the initial boot stage) to the Linux Kernel, which brings a very large improvement, see https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1205638/faq-am625-how-to-boot-from-r5-u-boot-spl-directly-into-the-linux-kernel-skipping-a53-spl-and-a53-u-boot-falcon-mode for an example implementation.

    Regards, Andreas

  • Hi Andreas,

    we set the BOOTMODE pins to QSPI, but we only see activity on the data line 0:1 (MISO/MOSI)

    Same result if we set the BOOTMODE pins to xSPI with

    BOOTMODE pin 9 = 1 SFDP enabled

    BOOTMODE pin 8 = 0 0x0B Read Command

    BOOTMODE pin 7 = 0 1S-1S-1S @ 50MHz

    We measure only 20MHz clock and no data on data line 2:3

    Or do we have to use QSPI with external Loopback?

    Regards

    Daniel

  • Hi Daniel,

    Will try to get back to you early this week. Stay tuned.