From: Frieder Schrempf <frieder.schrempf@exceet.de> To: linux-mtd@lists.infradead.org, boris.brezillon@bootlin.com, linux-spi@vger.kernel.org Cc: yogeshnarayan.gaur@nxp.com, richard@nod.at, prabhakar.kushwaha@nxp.com, Frieder Schrempf <frieder.schrempf@exceet.de>, marek.vasut@gmail.com, han.xu@nxp.com, broonie@kernel.org, miquel.raynal@bootlin.com, fabio.estevam@nxp.com, david.wolfe@nxp.com, computersforpeace@gmail.com, dwmw2@infradead.org Subject: [PATCH 00/11] Port the FSL QSPI driver to the SPI framework Date: Wed, 30 May 2018 15:14:29 +0200 [thread overview] Message-ID: <1527686082-15142-1-git-send-email-frieder.schrempf@exceet.de> (raw) Now that the SPI memory interface was introduced by Boris [1], 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 adds a function spi_mem_get_name() to the SPI memory interface, and patch 2 uses it in m25p80.c to make it possible for SPI controller drivers to provide a custom naming scheme for the flash chip. This is needed to avoid breaking compatibility of mtdparts when switching from the old to the new driver. Patch 3 adds a 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. For this to work properly a few minor changes to the devicetrees are necessary (see patches 4,5 and 6). Patch 7 changes the defconfigs to use the new driver and patch 8 removes the old driver. Patch 9 and 10 remove 'fsl,qspi-has-second-chip' from the devicetrees. Patch 11 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 [2] and a Winbond W25M02GV flash. If someone has a board that uses both chips selects and/or both busses, it would be really nice to have the driver be tested on such a setup. [1] https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git/commit/?h=for-4.18&id=c36ff266dc82f4ae797a6f3513c6ffa344f7f1c7 [2] https://patchwork.ozlabs.org/cover/913728/ Frieder Schrempf (11): spi: spi-mem: Extend the SPI mem interface to set a custom memory name mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name spi: Add a driver for the Freescale/NXP QuadSPI controller dt-bindings: spi: Move and adjust the bindings for the fsl-qspi driver ARM: dts: Reflect change of FSL QSPI driver and remove unused properties arm64: dts: Reflect change of FSL QSPI driver and remove unused properties ARM: defconfig: Use the new FSL QSPI driver under the SPI framework 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 .../devicetree/bindings/mtd/fsl-quadspi.txt | 65 - .../devicetree/bindings/spi/spi-fsl-qspi.txt | 69 + 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 +- arch/arm/configs/imx_v6_v7_defconfig | 2 +- arch/arm/configs/multi_v7_defconfig | 2 +- .../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/devices/m25p80.c | 3 +- drivers/mtd/spi-nor/Kconfig | 9 - drivers/mtd/spi-nor/Makefile | 1 - drivers/mtd/spi-nor/fsl-quadspi.c | 1206 ------------------ drivers/spi/Kconfig | 11 + drivers/spi/Makefile | 1 + drivers/spi/spi-fsl-qspi.c | 929 ++++++++++++++ drivers/spi/spi-mem.c | 25 + include/linux/spi/spi-mem.h | 3 + 23 files changed, 1071 insertions(+), 1301 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mtd/fsl-quadspi.txt create mode 100644 Documentation/devicetree/bindings/spi/spi-fsl-qspi.txt delete mode 100644 drivers/mtd/spi-nor/fsl-quadspi.c create mode 100644 drivers/spi/spi-fsl-qspi.c -- 2.7.4 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
WARNING: multiple messages have this Message-ID (diff)
From: Frieder Schrempf <frieder.schrempf@exceet.de> To: linux-mtd@lists.infradead.org, boris.brezillon@bootlin.com, linux-spi@vger.kernel.org Cc: dwmw2@infradead.org, computersforpeace@gmail.com, marek.vasut@gmail.com, richard@nod.at, miquel.raynal@bootlin.com, broonie@kernel.org, david.wolfe@nxp.com, fabio.estevam@nxp.com, prabhakar.kushwaha@nxp.com, yogeshnarayan.gaur@nxp.com, han.xu@nxp.com, Frieder Schrempf <frieder.schrempf@exceet.de> Subject: [PATCH 00/11] Port the FSL QSPI driver to the SPI framework Date: Wed, 30 May 2018 15:14:29 +0200 [thread overview] Message-ID: <1527686082-15142-1-git-send-email-frieder.schrempf@exceet.de> (raw) Now that the SPI memory interface was introduced by Boris [1], 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 adds a function spi_mem_get_name() to the SPI memory interface, and patch 2 uses it in m25p80.c to make it possible for SPI controller drivers to provide a custom naming scheme for the flash chip. This is needed to avoid breaking compatibility of mtdparts when switching from the old to the new driver. Patch 3 adds a 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. For this to work properly a few minor changes to the devicetrees are necessary (see patches 4,5 and 6). Patch 7 changes the defconfigs to use the new driver and patch 8 removes the old driver. Patch 9 and 10 remove 'fsl,qspi-has-second-chip' from the devicetrees. Patch 11 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 [2] and a Winbond W25M02GV flash. If someone has a board that uses both chips selects and/or both busses, it would be really nice to have the driver be tested on such a setup. [1] https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git/commit/?h=for-4.18&id=c36ff266dc82f4ae797a6f3513c6ffa344f7f1c7 [2] https://patchwork.ozlabs.org/cover/913728/ Frieder Schrempf (11): spi: spi-mem: Extend the SPI mem interface to set a custom memory name mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name spi: Add a driver for the Freescale/NXP QuadSPI controller dt-bindings: spi: Move and adjust the bindings for the fsl-qspi driver ARM: dts: Reflect change of FSL QSPI driver and remove unused properties arm64: dts: Reflect change of FSL QSPI driver and remove unused properties ARM: defconfig: Use the new FSL QSPI driver under the SPI framework 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 .../devicetree/bindings/mtd/fsl-quadspi.txt | 65 - .../devicetree/bindings/spi/spi-fsl-qspi.txt | 69 + 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 +- arch/arm/configs/imx_v6_v7_defconfig | 2 +- arch/arm/configs/multi_v7_defconfig | 2 +- .../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/devices/m25p80.c | 3 +- drivers/mtd/spi-nor/Kconfig | 9 - drivers/mtd/spi-nor/Makefile | 1 - drivers/mtd/spi-nor/fsl-quadspi.c | 1206 ------------------ drivers/spi/Kconfig | 11 + drivers/spi/Makefile | 1 + drivers/spi/spi-fsl-qspi.c | 929 ++++++++++++++ drivers/spi/spi-mem.c | 25 + include/linux/spi/spi-mem.h | 3 + 23 files changed, 1071 insertions(+), 1301 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mtd/fsl-quadspi.txt create mode 100644 Documentation/devicetree/bindings/spi/spi-fsl-qspi.txt delete mode 100644 drivers/mtd/spi-nor/fsl-quadspi.c create mode 100644 drivers/spi/spi-fsl-qspi.c -- 2.7.4
next reply other threads:[~2018-05-30 13:14 UTC|newest] Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-05-30 13:14 Frieder Schrempf [this message] 2018-05-30 13:14 ` [PATCH 00/11] Port the FSL QSPI driver to the SPI framework Frieder Schrempf 2018-05-30 13:14 ` [PATCH 01/11] spi: spi-mem: Extend the SPI mem interface to set a custom memory name Frieder Schrempf 2018-05-30 13:14 ` Frieder Schrempf 2018-05-30 14:32 ` Boris Brezillon 2018-05-30 15:12 ` Frieder Schrempf 2018-05-30 13:14 ` [PATCH 02/11] mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name Frieder Schrempf 2018-05-30 13:14 ` Frieder Schrempf 2018-05-30 13:14 ` [PATCH 03/11] spi: Add a driver for the Freescale/NXP QuadSPI controller Frieder Schrempf 2018-05-30 13:14 ` Frieder Schrempf 2018-05-30 13:50 ` Yogesh Narayan Gaur 2018-05-30 14:24 ` Boris Brezillon 2018-06-01 9:14 ` Frieder Schrempf 2018-06-01 9:14 ` Frieder Schrempf 2018-05-30 14:58 ` Boris Brezillon 2018-05-30 15:13 ` Frieder Schrempf 2018-05-30 15:13 ` Frieder Schrempf 2018-06-05 15:00 ` Boris Brezillon 2018-06-08 11:54 ` Yogesh Narayan Gaur 2018-06-08 12:51 ` Boris Brezillon 2018-06-11 6:31 ` Yogesh Narayan Gaur 2018-06-11 7:46 ` Boris Brezillon 2018-06-11 9:38 ` Yogesh Narayan Gaur 2018-06-11 10:16 ` Boris Brezillon 2018-06-11 10:21 ` Yogesh Narayan Gaur 2018-06-12 6:42 ` Yogesh Narayan Gaur 2018-06-12 7:13 ` Boris Brezillon 2018-06-12 8:51 ` Yogesh Narayan Gaur 2018-06-15 12:50 ` Boris Brezillon 2018-06-15 13:42 ` Yogesh Narayan Gaur 2018-06-15 13:55 ` Boris Brezillon 2018-06-15 13:58 ` Boris Brezillon 2018-06-18 13:32 ` Yogesh Narayan Gaur 2018-06-18 19:15 ` Boris Brezillon 2018-06-19 7:10 ` Yogesh Narayan Gaur 2018-06-19 7:28 ` Boris Brezillon 2018-06-19 8:31 ` Yogesh Narayan Gaur 2018-06-19 8:46 ` Boris Brezillon 2018-06-26 8:58 ` Frieder Schrempf 2018-06-08 20:27 ` Andy Shevchenko 2018-06-26 12:26 ` Frieder Schrempf 2018-06-26 12:26 ` Frieder Schrempf 2018-06-26 13:18 ` Andy Shevchenko 2018-06-26 13:47 ` Boris Brezillon 2018-06-26 15:42 ` Andy Shevchenko 2018-06-18 19:27 ` Boris Brezillon 2018-05-30 13:14 ` [PATCH 04/11] dt-bindings: spi: Move and adjust the bindings for the fsl-qspi driver Frieder Schrempf 2018-05-30 15:06 ` Boris Brezillon 2018-05-30 15:14 ` Frieder Schrempf 2018-05-30 15:14 ` Frieder Schrempf 2018-05-30 13:14 ` [PATCH 05/11] ARM: dts: Reflect change of FSL QSPI driver and remove unused properties Frieder Schrempf 2018-05-30 13:14 ` Frieder Schrempf 2018-05-30 15:10 ` Boris Brezillon 2018-05-30 15:10 ` Boris Brezillon 2018-06-01 9:27 ` Frieder Schrempf 2018-06-01 9:27 ` Frieder Schrempf 2018-06-01 9:27 ` Frieder Schrempf 2018-05-30 13:14 ` [PATCH 06/11] arm64: " Frieder Schrempf 2018-05-30 13:14 ` Frieder Schrempf 2018-05-30 13:14 ` [PATCH 07/11] ARM: defconfig: Use the new FSL QSPI driver under the SPI framework Frieder Schrempf 2018-05-30 13:14 ` Frieder Schrempf 2018-05-30 13:14 ` Frieder Schrempf 2018-05-30 13:14 ` [PATCH 08/11] mtd: fsl-quadspi: Remove the driver as it was replaced by spi-fsl-qspi.c Frieder Schrempf 2018-05-30 13:14 ` [PATCH 09/11] ARM: dts: ls1021a: Remove fsl,qspi-has-second-chip as it is not used Frieder Schrempf 2018-05-30 13:14 ` [PATCH 09/11] ARM: dts: ls1021a: Remove fsl, qspi-has-second-chip " Frieder Schrempf 2018-05-30 13:14 ` [PATCH 10/11] ARM64: dts: ls1046a: Remove fsl,qspi-has-second-chip " Frieder Schrempf 2018-05-30 13:14 ` [PATCH 10/11] ARM64: dts: ls1046a: Remove fsl, qspi-has-second-chip " Frieder Schrempf 2018-05-30 13:14 ` Frieder Schrempf 2018-05-30 13:14 ` Frieder Schrempf 2018-05-30 13:14 ` [PATCH 11/11] MAINTAINERS: Move the Freescale QSPI driver to the SPI framework Frieder Schrempf 2018-05-30 13:14 ` Frieder Schrempf
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=1527686082-15142-1-git-send-email-frieder.schrempf@exceet.de \ --to=frieder.schrempf@exceet.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-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=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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.