mtd: spi-nor: cadence-quadspi: Add support for direct access mode
authorVignesh R <vigneshr@ti.com>
Fri, 29 Dec 2017 09:11:03 +0000 (14:41 +0530)
committerCyrille Pitchen <cyrille.pitchen@wedev4u.fr>
Sun, 7 Jan 2018 17:54:58 +0000 (18:54 +0100)
commita27f2eaf2b275758d269ba519833df53c6181878
tree085cd9b3b26d44be048713f1b0bf2a046e2a2f00
parente4b580bc04af6b3408a99113d2d69f9dd268eafa
mtd: spi-nor: cadence-quadspi: Add support for direct access mode

Cadence QSPI controller provides direct access mode through which flash
can be accessed in a memory-mapped IO mode. This enables read/write to
flash using memcpy*() functions. This mode provides higher throughput
for both read/write operations when compared to current indirect mode of
operation.

This patch therefore adds support to use QSPI in direct mode. If the
window reserved in SoC's memory map for MMIO access is less that of
flash size(like on most SoCFPGA variants), then the driver falls back
to indirect mode of operation.

On TI's 66AK2G SoC, with ARM running at 600MHz and QSPI at 96MHz
switching to direct mode improves read throughput from 3MB/s to 8MB/s.

Signed-off-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>
drivers/mtd/spi-nor/cadence-quadspi.c