linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] mtd: nand: automate NAND timings selection
@ 2016-09-07 12:21 Sascha Hauer
  2016-09-07 12:21 ` [PATCH 1/7] mtd: nand: Create a NAND reset function Sascha Hauer
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Sascha Hauer @ 2016-09-07 12:21 UTC (permalink / raw)
  To: linux-arm-kernel

This series aims at automating the NAND timings selection which is
currently supposed to be done in each NAND controller driver, thus
simplifying drivers implementation.

As suggested by Boris this version of the series introduces a nand_reset()
function which replaces the several open coded NAND_CMD_RESET commands
in the code. This makes sure we can apply the timing each time after
after reset.

Also I have brought back the conversion patch for teh sunxi driver whic
was part of Boris initial posting. It's untested due to the lack of hardware,
so please test before applying.

Sascha

Changes since v2:
- Add accessor function to get the SDR timing from struct nand_data_interface
- Change nand_reset() argument to struct nand_chip
- Drop conversion of nand_timing array to struct nand_data_interface
- Recalculate timing whenever needed instead of storing a pointer in struct
  nand_chip
- some more refactoring

Changes since v1:
- create a nand_reset() function to create a single place to reset NAND
  chips and to apply timings
- Add patch to convert sunxi driver for automated timing setup
- split into more patches

Changes since the initial posting from Boris:

- Integrate Feedback from Ezequiel Garcia
- When iterating over the chips calling onfi_set_features() for each
  bail out when any of the calls fail, not only the last one.
- When one of the onfi_set_features() calls fail then reset the chipi
  afterwards.
- Drop Sunxi example, add patch for the mxc_nand controller instead.

----------------------------------------------------------------
Boris Brezillon (1):
      mtd: nand: automate NAND timings selection

Sascha Hauer (6):
      mtd: nand: Create a NAND reset function
      mtd: nand: Introduce nand_data_interface
      mtd: nand: sunxi: switch from manual to automated timing config
      mtd: nand: mxc: implement onfi get/set features
      mtd: nand: mxc: Add timing setup for v2 controllers
      mtd: nand: remove unnecessary 'extern' from function declarations

 drivers/mtd/nand/mxc_nand.c   | 133 ++++++++++++++++++++++++++
 drivers/mtd/nand/nand_base.c  | 157 ++++++++++++++++++++++++++++++-
 drivers/mtd/nand/sunxi_nand.c |  76 +++------------
 include/linux/mtd/nand.h      | 211 ++++++++++++++++++++++++++++--------------
 4 files changed, 442 insertions(+), 135 deletions(-)

^ permalink raw reply	[flat|nested] 20+ messages in thread
* [PATCH v2] mtd: nand: automate NAND timings selection
@ 2016-09-06 10:39 Sascha Hauer
  2016-09-06 10:39 ` [PATCH 1/7] mtd: nand: Create a NAND reset function Sascha Hauer
  0 siblings, 1 reply; 20+ messages in thread
From: Sascha Hauer @ 2016-09-06 10:39 UTC (permalink / raw)
  To: linux-arm-kernel

This series aims at automating the NAND timings selection which is
currently supposed to be done in each NAND controller driver, thus
simplifying drivers implementation.

As suggested by Boris this version of the series introduces a nand_reset()
function which replaces the several open coded NAND_CMD_RESET commands
in the code. This makes sure we can apply the timing each time after
after reset.

Also I have brought back the conversion patch for teh sunxi driver whic
was part of Boris initial posting. It's untested due to the lack of hardware,
so please test before applying.

Sascha

Changes since v1:
- create a nand_reset() function to create a single place to reset NAND
  chips and to apply timings
- Add patch to convert sunxi driver for automated timing setup
- split into more patches

Changes since the initial posting from Boris:

- Integrate Feedback from Ezequiel Garcia
- When iterating over the chips calling onfi_set_features() for each
  bail out when any of the calls fail, not only the last one.
- When one of the onfi_set_features() calls fail then reset the chipi
  afterwards.
- Drop Sunxi example, add patch for the mxc_nand controller instead.

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

end of thread, other threads:[~2016-09-08  8:12 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-07 12:21 [PATCH v3] mtd: nand: automate NAND timings selection Sascha Hauer
2016-09-07 12:21 ` [PATCH 1/7] mtd: nand: Create a NAND reset function Sascha Hauer
2016-09-07 12:31   ` Boris Brezillon
2016-09-07 12:21 ` [PATCH 2/7] mtd: nand: Introduce nand_data_interface Sascha Hauer
2016-09-07 12:21 ` [PATCH 3/7] mtd: nand: automate NAND timings selection Sascha Hauer
2016-09-07 13:41   ` Boris Brezillon
2016-09-07 14:36     ` Sascha Hauer
2016-09-07 14:59       ` Boris Brezillon
2016-09-07 15:59         ` Boris Brezillon
2016-09-08  7:55           ` Sascha Hauer
2016-09-08  8:12             ` Boris Brezillon
2016-09-07 12:21 ` [PATCH 4/7] mtd: nand: sunxi: switch from manual to automated timing config Sascha Hauer
2016-09-07 12:21 ` [PATCH 5/7] mtd: nand: mxc: implement onfi get/set features Sascha Hauer
2016-09-07 12:21 ` [PATCH 6/7] mtd: nand: mxc: Add timing setup for v2 controllers Sascha Hauer
2016-09-07 12:21 ` [PATCH 7/7] mtd: nand: remove unnecessary 'extern' from function declarations Sascha Hauer
2016-09-07 19:29   ` Boris Brezillon
  -- strict thread matches above, loose matches on Subject: below --
2016-09-06 10:39 [PATCH v2] mtd: nand: automate NAND timings selection Sascha Hauer
2016-09-06 10:39 ` [PATCH 1/7] mtd: nand: Create a NAND reset function Sascha Hauer
2016-09-06 11:18   ` Boris Brezillon
2016-09-06 13:02     ` Sascha Hauer
2016-09-06 13:06       ` Boris Brezillon

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