linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] spi: add support for octal mode
@ 2018-10-15 11:47 Yogesh Narayan Gaur
  2018-10-15 11:48 ` [PATCH v2 1/7] spi: add support for octal I/O data transfer Yogesh Narayan Gaur
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Yogesh Narayan Gaur @ 2018-10-15 11:47 UTC (permalink / raw)
  To: linux-mtd, boris.brezillon, marek.vasut, vigneshr, linux-spi, devicetree
  Cc: robh, mark.rutland, shawnguo, linux-arm-kernel,
	computersforpeace, frieder.schrempf, linux-kernel,
	Yogesh Narayan Gaur

Add support for octal mode IO data transfer.
Micron flash, mt35xu512aba, supports octal mode data transfer and
NXP FlexSPI controller supports 8 data lines for data transfer (Rx/Tx).

Patch series
* Add support for octal mode flags and parsing of same in spi driver.
* Add opcodes for octal I/O commands in spi-nor framework, Read and Write proto for (1-1-8/1-8-8) mode.
  Opcodes are added as per octal data IO commands required for mt35xu512aba [1] flash.
* Add parsing logic for spi-mem framework and m25p80.c device file.
* Add mode bit required for octal mode in nxp-fspi driver [2].
* Define binding property 'spi-rx/tx-bus-width' for LX2160ARDB target [2].

Cherry pick below 2 patches (from: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git):
    c639f871febe6667d9afce28108c634e5636c735 spi: spi-mem: Fix inverted logic in op sanity check
    db122eb8a749a1eff038f9a282c620ab16c4be1d spi: spi-mem: Add extra sanity checks on the op param

Tested on LX2160ARDB target with nxp-fspi driver, below are
Read performance number of 1-1-1 and 1-1-8 read protocol.

 root@lxxx:~# cat /proc/mtd
 dev:    size   erasesize  name
 mtd0: 04000000 00001000 "spi0.0"
 mtd1: 04000000 00001000 "spi0.1"
 root@lxxx:~# time mtd_debug read /dev/mtd0 0x0 0x1000000 0read
 Copied 16777216 bytes from address 0x00000000 in flash to 0read

 real    0m2.792s
 user    0m0.000s
 sys     0m2.790s
 root@lxxx:~# time mtd_debug read /dev/mtd1 0x0 0x1000000 0read
 Copied 16777216 bytes from address 0x00000000 in flash to 0read

 real    0m0.441s
 user    0m0.000s
 sys     0m0.440s
 root@ls1012ardb:~#

 Flash device MTD0 configured in 1-1-1 protocol.
 Flash device MTD1 configured in 1-1-8 protocol.

[1] https://patchwork.ozlabs.org/project/linux-mtd/list/?series=70384
[2] https://patchwork.ozlabs.org/project/linux-mtd/list/?series=70210

Yogesh Gaur (7):
  spi: add support for octal I/O data transfer
  mtd: spi-nor: add opcodes for octal Read/Write commands
  mtd: spi-nor: add octal read flag for flash mt35xu512aba
  mtd: m25p80: add support of octal I/O transfer
  spi: spi-mem: add support for octal I/O data transfer
  spi: nxp-fspi: add mode flag bit for octal support
  arm64: dts: lx2160a: update fspi node

Changes for v2:
 Incorporated review comments of Boris and Vignesh.

 arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts |  4 ++++
 drivers/mtd/devices/m25p80.c                      |  9 ++++++++-
 drivers/mtd/spi-nor/spi-nor.c                     | 15 ++++++++++++++-
 drivers/spi/spi-mem.c                             |  9 ++++++++-
 drivers/spi/spi-nxp-fspi.c                        |  4 ++--
 drivers/spi/spi.c                                 |  6 ++++++
 include/linux/mtd/spi-nor.h                       |  8 ++++++++
 include/linux/spi/spi.h                           |  2 ++
 8 files changed, 52 insertions(+), 5 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 11+ messages in thread
* [PATCH v2 0/7] spi: add support for octal mode
@ 2018-10-15 12:13 Yogesh Narayan Gaur
  2018-10-15 12:14 ` [PATCH v2 1/7] spi: add support for octal I/O data transfer Yogesh Narayan Gaur
  0 siblings, 1 reply; 11+ messages in thread
From: Yogesh Narayan Gaur @ 2018-10-15 12:13 UTC (permalink / raw)
  To: linux-mtd, boris.brezillon, marek.vasut, vigneshr, linux-spi, devicetree
  Cc: robh, mark.rutland, shawnguo, linux-arm-kernel,
	computersforpeace, frieder.schrempf, linux-kernel,
	Yogesh Narayan Gaur

Add support for octal mode IO data transfer.
Micron flash, mt35xu512aba, supports octal mode data transfer and
NXP FlexSPI controller supports 8 data lines for data transfer (Rx/Tx).

Patch series
* Add support for octal mode flags and parsing of same in spi driver.
* Add parsing logic for spi-mem framework and m25p80.c device file.
* Add opcodes for octal I/O commands in spi-nor framework, Read and Write proto for (1-1-8/1-8-8) mode.
  Opcodes are added as per octal data IO commands required for mt35xu512aba [1] flash.
* Add mode bit required for octal mode in nxp-fspi driver [2].
* Define binding property 'spi-rx/tx-bus-width' for LX2160ARDB target [2].

Cherry pick below 2 patches (from: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git):
    c639f871febe6667d9afce28108c634e5636c735 spi: spi-mem: Fix inverted logic in op sanity check
    db122eb8a749a1eff038f9a282c620ab16c4be1d spi: spi-mem: Add extra sanity checks on the op param

Tested on LX2160ARDB target with nxp-fspi driver, below are
Read performance number of 1-1-1 and 1-1-8 read protocol.

 root@lxxx:~# cat /proc/mtd
 dev:    size   erasesize  name
 mtd0: 04000000 00001000 "spi0.0"
 mtd1: 04000000 00001000 "spi0.1"
 root@lxxx:~# time mtd_debug read /dev/mtd0 0x0 0x1000000 0read
 Copied 16777216 bytes from address 0x00000000 in flash to 0read

 real    0m2.792s
 user    0m0.000s
 sys     0m2.790s
 root@lxxx:~# time mtd_debug read /dev/mtd1 0x0 0x1000000 0read
 Copied 16777216 bytes from address 0x00000000 in flash to 0read

 real    0m0.441s
 user    0m0.000s
 sys     0m0.440s
 root@ls1012ardb:~#

 Flash device MTD0 configured in 1-1-1 protocol.
 Flash device MTD1 configured in 1-1-8 protocol.

[1] https://patchwork.ozlabs.org/project/linux-mtd/list/?series=70384
[2] https://patchwork.ozlabs.org/project/linux-mtd/list/?series=70210

Yogesh Gaur (7):
  spi: add support for octal I/O data transfer
  spi: spi-mem: add support for octal I/O data transfer
  mtd: spi-nor: add opcodes for octal Read/Write commands
  mtd: spi-nor: add octal read flag for flash mt35xu512aba
  mtd: m25p80: add support of octal I/O transfer
  spi: nxp-fspi: add mode flag bit for octal support
  arm64: dts: lx2160a: update fspi node

Changes for v2:
 Incorporated review comments of Boris and Vignesh.

 arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dts |  4 ++++
 drivers/mtd/devices/m25p80.c                      |  9 ++++++++-
 drivers/mtd/spi-nor/spi-nor.c                     | 15 ++++++++++++++-
 drivers/spi/spi-mem.c                             |  9 ++++++++-
 drivers/spi/spi-nxp-fspi.c                        |  4 ++--
 drivers/spi/spi.c                                 |  6 ++++++
 include/linux/mtd/spi-nor.h                       |  8 ++++++++
 include/linux/spi/spi.h                           |  2 ++
 8 files changed, 52 insertions(+), 5 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-10-15 12:14 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-15 11:47 [PATCH v2 0/7] spi: add support for octal mode Yogesh Narayan Gaur
2018-10-15 11:48 ` [PATCH v2 1/7] spi: add support for octal I/O data transfer Yogesh Narayan Gaur
2018-10-15 11:48 ` [PATCH v2 2/7] mtd: spi-nor: add opcodes for octal Read/Write commands Yogesh Narayan Gaur
2018-10-15 11:48 ` [PATCH v2 3/7] mtd: spi-nor: add octal read flag for flash mt35xu512aba Yogesh Narayan Gaur
2018-10-15 11:48 ` [PATCH v2 4/7] mtd: m25p80: add support of octal I/O transfer Yogesh Narayan Gaur
2018-10-15 11:48 ` [PATCH v2 5/7] spi: spi-mem: add support for octal I/O data transfer Yogesh Narayan Gaur
2018-10-15 11:48 ` [PATCH v2 6/7] spi: nxp-fspi: add mode flag bit for octal support Yogesh Narayan Gaur
2018-10-15 11:48 ` [PATCH v2 7/7] arm64: dts: lx2160a: update fspi node Yogesh Narayan Gaur
2018-10-15 11:54 ` [PATCH v2 0/7] spi: add support for octal mode Boris Brezillon
2018-10-15 11:58   ` Yogesh Narayan Gaur
2018-10-15 12:13 Yogesh Narayan Gaur
2018-10-15 12:14 ` [PATCH v2 1/7] spi: add support for octal I/O data transfer Yogesh Narayan Gaur

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).