[RFC PATCH 1/5] spi: introduce flag for memory mapped read
From: Michal Suchanek <hidden>
Date: 2015-08-05 05:58:23
Also in:
linux-devicetree, linux-omap, linux-spi, lkml
On 5 August 2015 at 07:35, Vignesh R [off-list ref] wrote:
On 08/05/2015 10:51 AM, Michal Suchanek wrote:quoted
Hello, On 4 August 2015 at 19:59, R, Vignesh [off-list ref] wrote:quoted
On 8/4/2015 9:21 PM, Mark Brown wrote:quoted
On Mon, Aug 03, 2015 at 10:27:19AM +0530, Vignesh R wrote:
quoted
quoted
TI QSPI controller has two blocks: 1. SPI_CORE: This is generic(normal) spi mode. This can be used to communicate with any SPI devices (serial flashes as well as non-flash devices like touchscreen). 2. SFI_MM_IF(SPI memory mapped interface): The SFI_MM_IF block only allows reading and writing to an SPI flash device only. Used to speed up flash reads. It _cannot_ be used to communicate with non flash devices. Now, the spi_message that ti-qspi receives in transfer_one() callback can be from mtd device(in which case SFI_MM_IF can be used) or from any other non flash SPI device (in which case SFI_MM_IF must not be used instead SPI_CORE is to be used) but there is no way(is there?) to distinguish where spi_message is from. Therefore I introduced flag (use_mmap_mode) to struct spi_message. mtd driver will set flag to true, this helps the ti-qspi driver to determine that the user is flash device and thus can do read via SFI_MM_IF. If this flag is not set then the user is assumed to be non flash SPI driver and will use SPI_CORE block to communicate. On the whole, I just need a way to determine that the user is a flash device in order to switch to memory mapped interface.Maybe it can be set on the SPI slave rather than each message.You mean to add flag to spi_device struct? That's ok for me.
There are already mode flags so you can just add one more. Thanks Michal