OSPI Boot

An Octal Serial Peripheral Interface (OSPI) Flash is populated on the SOM as a programmable nonvolatile storage and can also be leveraged as boot media. This guide will walk through how to flash the SOM’s OSPI via U-boot, followed by booting from OSPI. For more information on OSPI, please see the phyCORE-AM64x Hardware Manual.

Flashing the OSPI

The easiest way to access the SOM’s OSPI is to boot the SOM into U-Boot from an SD card (you may already be doing this). This guide will require a “Bootable SD card”, an SD card that has been flashed with the development kit’s BSP image. For instructions on how to create a bootable SD card, see this guide SD Card.

  • Power on the development kit and hit any key to stop in U-Boot.

    Note

    Be sure that you are booting the kit from SD card!

  • Within U-Boot, flashboth SPLs and the U-Boot image into the OSPI storage device.

    Target (U-Boot)
     sf probe
    
     fatload mmc 1 $loadaddr tiboot3.bin
     sf update  $loadaddr 0x0 $filesize
    
     fatload mmc 1 $loadaddr tispl.bin
     sf update  $loadaddr 0x100000 $filesize
    
     fatload mmc 1 $loadaddr u-boot.img
     sf update  $loadaddr 0x300000 $filesize
    
  • Unplug power from the kit. Follow the next section “Boot from OSPI” to configure the hardware.

Boot from OSPI

The phyCORE-AM64x development kit is configured to boot from an SD Card slot by default. This guide will serve to provide basic steps for booting from the SOM’s onboard OSPI flash memory after it has been flashed.

  • Keep the bootable SD card inserted in the kit if you want to boot all the way into Linux.

    Due to the OSPI NOR Flash’s limited size, the steps above only flash the bootloader. The SD card still contains the kernel and root filesystem for the BSP image.

  • S10 should be ON

../../_images/pb-07225_ospi-bootswitch.png phyCORE-AM64x Boot Switches

Note

Be mindful of the switch orientation!

Limitations with OSPI

Unfortunatly, the OSPI has not enough space to fit the root filesystem. Therefore, PHYTEC recommends to either load a Kernel and root filesystem via Ethernet or store a Kernel with initramfs.