The OSPI protocol is described according to
bit-width (1 or 8) and data rate (Single Data Rate (S) or Double Data rate (D)) for the
Command/Address/Data segments of the protocol. Device supports the 1S-1S-8S mode of OSPI
configuration. The Command and Address issued are 8 bits and 24 bits respectively followed by 8 dummy cycles. The frequency of operation supported is
33MHz.
OSPI (8S) Module Configuration:
- OSPI has two associated memory regions,
the first memory region is dedicated to the configuration port i.e all internal
registers can be programmed and serial transfers made from the supported external OSPI
flash devices. Configuration region is available at 0x5380_8000 in the SoC address map.
- The second memory region is associated
mainly with the memory-mapped port and is used for communication directly with external
flash devices, the memory region starts at 0x6000_0000. Code will be copied from this
region to internal RAM and then execution starts.
- Serial data clock is derived from the
clock source “SYS_CLK” (200MHz). This clock is divided by a factor 6 and results in a
33MHz interface clock.
- MODE3 of OSPI clock mode is used, Clock
phase and polarity are set to 1, when data is not being transferred SCK=1, data shifted
on falling edge and input on rising edge.
ROM Sequence:
- Command issued by ROM in this
mode is 0x8B.
- RBL looks for SBL image at
address 0x0000_0000, in case of boot failures due to corrupted image or any other reason,
RBL tries to boot with redundant images as explained in Redundant Boot Support
.
Flash dependency:
- RBL does not perform any
specific action to detect, reset, or power up the OSPI device. OSPI is assumed to be
properly powered and reset completed before every attempt to boot by RBL.