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
Direct mode of memory mapped operation.
Software triggered IO mode (STIG) up to 8-bytes of data transfers.
Indirect DMA reads.
Local SRAM to reduce AHB overhead.
Supports SDR and DDR protocols.
Programmable master mode clock frequencies.
Serial clock with programmable polarity.
Programmable peripheral selects (chip select).
Support for Single and Octal instructions.
Interrupts and polled based operations.
Features supported in driver
Software triggered IO mode (STIG) up to 8-bytes of data transfers.
INDAC DMA reads.
SDR and DDR mode support.
Support for Octal mode.
Interrupt based transfers.
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
|
Change Log
2019.2
New driver