Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

...

The Octal-SPI Flash Controller can be used to provide access to Serial Flash devices. Standard Serial Peripheral Interface (SPI) is supported along with high performance Octal SPI variants. The Octal-SPI Flash Controller transfer the data either in a memory mapped direct fashion or in an indirect fashion where the controller is set up via configuration registers to silently perform some requested operation, signalling its completion via interrupts or status registers. For indirect operations, data is transferred between system memory and external FLASH memory via an internal SRAM. OSPI has it’s own internal DMA which is used to read the data from the flash, SRAM is accessible only in case of DMA mode of operation (indirect mode).

In INDAC (Indirect Access Controller) mode DMA writes are not supported, Non-DMA, DAC or STIG modes are used for flash writes. In INDAC(DMA) mode only flash reads are supported.

Features Supported in HW

  1. Direct mode of memory mapped operation.

  2. Software triggered IO mode (STIG) up to 8-bytes of data transfers.

  3. Indirect DMA reads.

  4. Local SRAM to reduce AHB overhead.

  5. Supports SDR and DDR protocols.

  6. Programmable master mode clock frequencies.

  7. Serial clock with programmable polarity.

  8. Programmable peripheral selects (chip select).

  9. Support for Single and Octal instructions.

  10. Interrupts and polled based operations.

Features supported in driver

  1. Software triggered IO mode (STIG) up to 8-bytes of data transfers.

  2. INDAC DMA reads.

  3. SDR and DDR mode support.

  4. Support for Octal mode.

  5. Interrupt based transfers.

  6. RX Tuning support for PHY modes.

Driver Missing features, Known Issues and Limitations

  • STIG Memory Bank.

  • jffs2 and ubifs file systems.

  • Non-DMA read and write operations.

Supported Flash parts

  • Micron (512Mb, 1Gb and 2Gb) - SDR and DDR modes

Testing

  • Flashcp

  • mtd utilities.

Kernel Configuration

Code Block
CONFIG_SPI_CADENCE_QUADSPI=y

Change Log

2019.2

  • New driver