[PATCH 0/2] mtd: nand: Enforce tCCS wait time after a column change

Boris Brezillon boris.brezillon at free-electrons.com
Sat Oct 1 01:24:01 PDT 2016


Hi,

Marc recently struggled with the RNDIN/RNDOUT commands when trying to
add support for the Tango NAND controller.
After some investigation it appeared that nothing in the
nand_command_lp() code waits tCCS, which is required to make sure the
NAND chip is ready to receive/send data on the bus after a column
change.

This series adds some more timings to the nand_sdr_timings struct
(including tCCS) and try to extract them from the ONFI parameter table
(if available).

It then adds a new flags to ask the core to enforce the tCCS
constraint.
As noted in the commit message, this is an opt-in flag to avoid perf
regressions on existing implementations (adding an ndelay() might be
useless if the controller IP or driver already takes care of that),
but it might appear that some implementations are actually broken and
needs this flag as well.

Regards,

Boris

Boris Brezillon (2):
  mtd: nand: Add a few more timings to nand_sdr_timings
  mtd: nand: Wait tCCS after a column change

 drivers/mtd/nand/nand_base.c    | 26 +++++++++++++++++++++++++-
 drivers/mtd/nand/nand_timings.c | 26 +++++++++++++++++++++++++-
 include/linux/mtd/nand.h        | 18 ++++++++++++++++++
 3 files changed, 68 insertions(+), 2 deletions(-)

-- 
2.7.4




More information about the linux-mtd mailing list