[PATCH 00/17] Add memory mapped support for ti qspi, m25p80 serial flash.

Sourav Poddar sourav.poddar at ti.com
Thu Dec 5 04:09:54 EST 2013


Hi Brian,
On Tuesday 26 November 2013 01:04 PM, Sourav Poddar wrote:
> The patch series aims to add memory mapped support for TI qspi
> contoller and also add support for the same in serial flash driver(m25p80).
>
> These feature was added as a part of the series[1]:
> The series[1] add support for quad and memory mapped feature in spi and
> flash driver. Based on Brian Norris suggestion on splitting the quad and
> memory mapped feature, I had sent a seperate series for quad support which
> has beed accepted by Brian.
>
> The $subject patch series takes care of the memory mapped part.
>
> Overview of memory mapped support in qspi:
>   TI qspi controller supports memory mapped read support, switching to which
>   requires  register modifications(qspi registers, control module register for
>   DRA, qspi register for am43x). Once switched, the flash data can be available
>   at a soc specific memory mapped address. For operations in normal mode, we need
>   to keep memory mapped disable.
>
>   Flow of the patch is to keep the memory mapped enable by default in the driver.
>   Whenever Normal spi mode operations are desired, we switch to configuration mode
>   and at the end of it memory mapped is again enabled. There are few function pointers
>   added to fecilitate easy communication between the flash and spi controllers.
>
> Major changes in the $subject patch based on discussion in [1]:
>
> - Feature has been broken down into small meaningfl patches.
> - memcpy is done in flash driver and spi framework is bypassed.
> - configuration of memory mapped spi controller regsiters is done
>    through function calls from flash side.
>
> [1]: http://lists.infradead.org/pipermail/linux-mtd/2013-October/049058.html
>
>
> Tested on DRA7 board with spansion S25FL256S flash along with some
> internal irq crossbar patches.
> Tested on AM437x epos evm with macronix MX66l51235l flash.
>
> Testing done:
> -Erase the whole flash.
> -write to the flash
> -read back the flash
> - compare the data
>
> Sourav Poddar (17):
>    spi/spi.h: Add get_buf/put_buf support in spi master..
>    spi/spi.h: Add configure from slave support.
>    spi/qspi: parse register by name.
>    spi/qspi: parse control module register.
>    spi/qspi: parse memory map register.
>    spi/qspi: Add support to switc to memory mapped operation.
>    spi/qspi: configure set up register for memory map..
>    spi/qspi: Add api for get_buf/put_buf.
>    spi/spi.h: Add "mem" variable in spi master.
>    spi/spi.h: Add mmap flag in spi master.
>    spi/qspi: set "mmap" flag to true.
>    spi/qspi: convert driver to enable/disable memory mapped..
>    drivers: mtd: m25p80: Add api to configure master register .
>    drivers: mtd: m25p80: Adapt driver to support memory mapped read.
>    arm: dts: dra7: Add qspi device.
>    arm: dts: am43x-epos: Add qspi device.
>    Documentation: bindings: ti-qspi: update binding information.
>
>   Documentation/devicetree/bindings/spi/ti_qspi.txt |    2 +
>   arch/arm/boot/dts/am4372.dtsi                     |   12 ++
>   arch/arm/boot/dts/am43x-epos-evm.dts              |   28 +++++
>   arch/arm/boot/dts/dra7-evm.dts                    |   32 ++++++
>   arch/arm/boot/dts/dra7.dtsi                       |   13 +++
>   drivers/mtd/devices/m25p80.c                      |   30 ++++++
>   drivers/spi/spi-ti-qspi.c                         |  115 ++++++++++++++++++++-
>   include/linux/spi/spi.h                           |   16 +++
>   8 files changed, 246 insertions(+), 2 deletions(-)
>
Gentle ping on this series on mtd side...



More information about the linux-mtd mailing list