linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Schrempf Frieder <frieder.schrempf@kontron.de>
To: "linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
	"boris.brezillon@bootlin.com" <boris.brezillon@bootlin.com>,
	"linux-spi@vger.kernel.org" <linux-spi@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: "dwmw2@infradead.org" <dwmw2@infradead.org>,
	"computersforpeace@gmail.com" <computersforpeace@gmail.com>,
	"marek.vasut@gmail.com" <marek.vasut@gmail.com>,
	"richard@nod.at" <richard@nod.at>,
	"miquel.raynal@bootlin.com" <miquel.raynal@bootlin.com>,
	"broonie@kernel.org" <broonie@kernel.org>,
	"david.wolfe@nxp.com" <david.wolfe@nxp.com>,
	"fabio.estevam@nxp.com" <fabio.estevam@nxp.com>,
	"prabhakar.kushwaha@nxp.com" <prabhakar.kushwaha@nxp.com>,
	"yogeshnarayan.gaur@nxp.com" <yogeshnarayan.gaur@nxp.com>,
	"han.xu@nxp.com" <han.xu@nxp.com>,
	"shawnguo@kernel.org" <shawnguo@kernel.org>,
	Schrempf Frieder <frieder.schrempf@kontron.de>
Subject: [PATCH v6 0/9] Port the FSL QSPI driver to the SPI framework
Date: Tue, 27 Nov 2018 10:23:53 +0000	[thread overview]
Message-ID: <1543314174-28580-1-git-send-email-frieder.schrempf@kontron.de> (raw)

Now that the SPI memory interface was introduced by Boris, it is
possible to move drivers from mtd/spi-nor to the SPI framework in order
to use them for different type of SPI memory chips.

Patch 1 and 2 removes some unused properties from the devicetree and fixes the
reg properties to correctly reflect the hardware setup.

Patch 3 adds the driver for the Freescale QSPI controller to the SPI
framework. Together with m25p80.c it can be used to interface SPI
NOR flashes just as the old driver did. This patch also disables the build
of the old driver.

Patch 4 moves the bindings to the correct place and patch 5 adjusts the
bindings for the new driver.

Patch 6 removes the code of the old driver.

Patch 7 and 8 remove 'fsl,qspi-has-second-chip' from the devicetrees.
Patch 9 adjusts the MAINTAINERS file.

The new driver was tested with i.MX6UL and a Micron SPI NOR @ 60MHz.
The read performance of the new driver is almost the same or even better
than the old driver, depending on the block size.
The write performance is a bit slower on average (~10-15%).

The new driver was also tested with the SPI NAND framework and a
Toshiba TC58CVG2S0H flash.

---
Changes in v6:
==============
* Add a quirk for LS2080A SoC to fix multi chip setup
* Use separate area in AHB memory map for each chip
* Add R-b tags for binding changes

Changes in v5:
==============
* Change SoB tags and commit author to new e-mail address
* Drop change in compatible string of bindings
* Reset the AHB domain
* Drop the defconfig changes and reuse the Kconfig option of the old driver
* Remove unused read()/write() pointers from struct fsl_qspi
* Remove unused enum fsl_qspi_devtype
* Fix break condition for fsl_qspi_readl_poll_tout()

Changes in v4:
==============
* Rebase on top of v4.20-rc1
* Drop patches that were merged separately
* Address change of company name and email address
* Use readl_poll_timeout() instead of busy waiting
* Revert change to use callback functions for register read/write
* Avoid divide by zero by checking op->dummy.nbytes
* Make big-endian setting SoC-specific and don't read it from devicetree
* Improve some register macros and masks

Changes in v3:
==============
* Move fix for typo in spi-mem.h to a separate patch
* Fix documentation of spi_mem_get_name() and get_name()
* Avoid overwriting the name of the memory device in probe of m25p80
* Add Suggested-by tags

Changes in v2:
==============
* Rebase on top of nand/next
* Add a name field to struct spi_mem and fill it while probing
* Add Yogesh Gaur and Suresh Gupta as authors
* Use GENMASK() for generating bitmasks
* Use callback functions for read/write of registers
* Attach the seq variable to the selected CS
* Avoid using conditional in read/write loop
* Avoid infinite loop and use a timeout instead
* Return error pointer when allocation in fsl_qspi_get_name() fails
* Remove redundant iounmap()
* Put suspend()/resume() in dev_pm_ops instead of platform_driver
* Split the moving and editing of the dt-bindings in two patches
---
Frieder Schrempf (9):
  ARM: dts: Reflect change of FSL QSPI driver and remove unused
    properties
  arm64: dts: Reflect change of FSL QSPI driver and remove unused
    properties
  spi: Add a driver for the Freescale/NXP QuadSPI controller
  dt-bindings: spi: Move the bindings for the FSL QSPI driver
  dt-bindings: spi: Adjust the bindings for the FSL QSPI driver
  mtd: fsl-quadspi: Remove the driver as it was replaced by
    spi-fsl-qspi.c
  ARM: dts: ls1021a: Remove fsl,qspi-has-second-chip as it is not used
  ARM64: dts: ls1046a: Remove fsl,qspi-has-second-chip as it is not used
  MAINTAINERS: Move the Freescale QSPI driver to the SPI framework

 .../fsl-quadspi.txt => spi/spi-fsl-qspi.txt}    |   18 +-
 MAINTAINERS                                     |    4 +-
 arch/arm/boot/dts/imx6sx-sdb-reva.dts           |    8 +-
 arch/arm/boot/dts/imx6sx-sdb.dts                |    8 +-
 arch/arm/boot/dts/imx6ul-14x14-evk.dtsi         |    2 +
 arch/arm/boot/dts/ls1021a-moxa-uc-8410a.dts     |    6 +-
 .../boot/dts/freescale/fsl-ls1043a-qds.dts      |    3 +-
 .../boot/dts/freescale/fsl-ls1046a-qds.dts      |    4 +-
 .../boot/dts/freescale/fsl-ls1046a-rdb.dts      |    6 +-
 arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi  |    1 -
 .../boot/dts/freescale/fsl-ls208xa-qds.dtsi     |    4 +
 drivers/mtd/spi-nor/Kconfig                     |    9 -
 drivers/mtd/spi-nor/Makefile                    |    1 -
 drivers/mtd/spi-nor/fsl-quadspi.c               | 1224 ------------------
 drivers/spi/Kconfig                             |   11 +
 drivers/spi/Makefile                            |    1 +
 drivers/spi/spi-fsl-qspi.c                      |  967 ++++++++++++++
 17 files changed, 1017 insertions(+), 1260 deletions(-)
 rename Documentation/devicetree/bindings/{mtd/fsl-quadspi.txt => spi/spi-fsl-qspi.txt} (73%)
 delete mode 100644 drivers/mtd/spi-nor/fsl-quadspi.c
 create mode 100644 drivers/spi/spi-fsl-qspi.c

-- 
2.7.4

             reply	other threads:[~2018-11-27 10:24 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-27 10:23 Schrempf Frieder [this message]
2018-11-27 10:24 ` [PATCH v6 1/9] ARM: dts: Reflect change of FSL QSPI driver and remove unused properties Schrempf Frieder
2018-11-27 11:01   ` Uwe Kleine-König
2018-11-27 14:51     ` Schrempf Frieder
2018-11-27 10:24 ` [PATCH v6 2/9] arm64: " Schrempf Frieder
2018-11-27 10:24 ` [PATCH v6 3/9] spi: Add a driver for the Freescale/NXP QuadSPI controller Schrempf Frieder
2018-11-28  8:28   ` Schrempf Frieder
2018-11-29 11:38     ` Yogesh Narayan Gaur
2018-11-29 11:53       ` Schrempf Frieder
2018-11-29 16:30         ` Han Xu
2018-11-29 17:35           ` Schrempf Frieder
2018-12-03 20:54             ` Han Xu
2018-12-04  8:20               ` Schrempf Frieder
2018-11-30  4:33         ` Yogesh Narayan Gaur
2018-11-27 10:24 ` [PATCH v6 4/9] dt-bindings: spi: Move the bindings for the FSL QSPI driver Schrempf Frieder
2018-11-27 10:24 ` [PATCH v6 5/9] dt-bindings: spi: Adjust " Schrempf Frieder
2018-11-27 10:24 ` [PATCH v6 6/9] mtd: fsl-quadspi: Remove the driver as it was replaced by spi-fsl-qspi.c Schrempf Frieder
2018-11-27 10:24 ` [PATCH v6 7/9] ARM: dts: ls1021a: Remove fsl,qspi-has-second-chip as it is not used Schrempf Frieder
2018-11-27 10:24 ` [PATCH v6 8/9] ARM64: dts: ls1046a: " Schrempf Frieder
2018-11-27 10:24 ` [PATCH v6 9/9] MAINTAINERS: Move the Freescale QSPI driver to the SPI framework Schrempf Frieder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1543314174-28580-1-git-send-email-frieder.schrempf@kontron.de \
    --to=frieder.schrempf@kontron.de \
    --cc=boris.brezillon@bootlin.com \
    --cc=broonie@kernel.org \
    --cc=computersforpeace@gmail.com \
    --cc=david.wolfe@nxp.com \
    --cc=dwmw2@infradead.org \
    --cc=fabio.estevam@nxp.com \
    --cc=han.xu@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=marek.vasut@gmail.com \
    --cc=miquel.raynal@bootlin.com \
    --cc=prabhakar.kushwaha@nxp.com \
    --cc=richard@nod.at \
    --cc=shawnguo@kernel.org \
    --cc=yogeshnarayan.gaur@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).