Device supports 1S-1S-4S mode of QSPI configuration for fast read operation. This means that command and address are issued in single bit transfer mode and data access occurs in quad bit mode. The Command and Address issued are 8 bits and 24 bits followed by 8 dummy cycles. 40 MHz is the supported frequency of operation.
QSPI (4S) Module Configuration:
- QSPI 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 QSPI flash devices. Configuration region is available at 0x4820_0000 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 “DPLL_CORE_HSDIV0_CLKOUT2” (400MHz). This clock is divided by a factor 10 and results in a 40MHz interface clock.
- MODE3 of QSPI 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 0x6B.
- 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 image placed at
address 0x000F_0000.
Flash dependency:
- RBL does not perform any specific action to detect, reset, or power up the QSPI device. QSPI is assumed to be properly powered and reset completed before every attempt to boot by RBL.
- RBL also expects the QE bit is SET in non-volatile configuration so that flash is active in quad mode by default after POR.