Skip to content

mtd: nand: add sunxi NAND Flash Controller support

Boris BREZILLON linux-arm-kernel linux-devicetree linux-mtd lkml 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest9 patches 23 repliesIn review
  2. v2 RFC14 patches 33 repliesSuperseded

Changes in v3 from the cover letter

- merge HW ECC implementation in base implementation patch
- fix timing config when interfacing with an ONFI compatible chip

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9mtd: nand: define struct nand_timingsinclude/linux/mtd/nand.h+49 -05 replies
2/9mtd: nand: add ONFI timing mode to nand_timings converterdrivers/mtd/nand/Makefile drivers/mtd/nand/nand_timings.c include/linux/mtd/nand.h+253 -12 replies
3/9of: mtd: add NAND timing mode retrieval supportdrivers/of/of_mtd.c include/linux/of_mtd.h+27 -01 reply
4/9of: mtd: add documentation for the ONFI NAND timing mode propertyDocumentation/devicetree/bindings/mtd/nand.txt+8 -09 replies
5/9mtd: nand: add sunxi NAND flash controller supportdrivers/mtd/nand/Kconfig drivers/mtd/nand/Makefile drivers/mtd/nand/sunxi_nand.c+1283 -06 replies
6/9mtd: nand: add sunxi NFC dt bindings docDocumentation/devicetree/bindings/mtd/sunxi-nand.txt+48 -00 replies
7/9ARM: dt/sunxi: add NFC node to Allwinner A20 SoCarch/arm/boot/dts/sun7i-a20.dtsi+11 -00 replies
8/9ARM: dt/sunxi: add A20 NAND controller pin definitionsarch/arm/boot/dts/sun7i-a20.dtsi+80 -00 replies
9/9ARM: sunxi/dt: enable NAND on cubietruck boardarch/arm/boot/dts/sun7i-a20-cubietruck.dts+17 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 0/9] mtd: nand: add sunxi NAND Flash Controller support

This series adds support for the sunxi NAND Flash Controller (NFC).

I'll split this series for the next round:
1) NAND timings
2) sunxi NAND controller driver

But I'd like to have some feedback on the NAND timings stuff before doing this.

Any review on the sunxi driver is welcome (for the moment I only got feedback on the NAND timings code).

I also have patches adding support for HW randomizer and per ECC partition config that you can find here:
https://groups.google.com/forum/#!searchin/linux-sunxi/boris/linux-sunxi/s3lBb01I0Js/Bem2X1wKPa4J
But I'd like to get the sunxi NAND driver mainlined before adding more intrusive parts.

Best Regards,

Boris

Changes since v2:
- merge HW ECC implementation in base implementation patch
- fix timing config when interfacing with an ONFI compatible chip

Changes since v1:
- add HW ECC support
- rework NAND timings retrieval (use ONFI timing mode instead of raw timings)
- add nand-ecc-level property to specify NAND ECC requirements from DT

Boris BREZILLON (9):
mtd: nand: define struct nand_timings
mtd: nand: add ONFI timing mode to nand_timings converter
of: mtd: add NAND timing mode retrieval support
of: mtd: add documentation for the ONFI NAND timing mode property
mtd: nand: add sunxi NAND flash controller support
mtd: nand: add sunxi NFC dt bindings doc
ARM: dt/sunxi: add NFC node to Allwinner A20 SoC
ARM: dt/sunxi: add A20 NAND controller pin definitions
ARM: sunxi/dt: enable NAND on cubietruck board

 Documentation/devicetree/bindings/mtd/nand.txt     |    8 +
 .../devicetree/bindings/mtd/sunxi-nand.txt         |   48 +
 arch/arm/boot/dts/sun7i-a20-cubietruck.dts         |   17 +
 arch/arm/boot/dts/sun7i-a20.dtsi                   |   91 ++
 drivers/mtd/nand/Kconfig                           |    6 +
 drivers/mtd/nand/Makefile                          |    3 +-
 drivers/mtd/nand/nand_timings.c                    |  248 ++++
 drivers/mtd/nand/sunxi_nand.c                      | 1276 ++++++++++++++++++++
 drivers/of/of_mtd.c                                |   19 +
 include/linux/mtd/nand.h                           |   53 +
 include/linux/of_mtd.h                             |    8 +
 11 files changed, 1776 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/sunxi-nand.txt
 create mode 100644 drivers/mtd/nand/nand_timings.c
 create mode 100644 drivers/mtd/nand/sunxi_nand.c
Signature · 1 line
1.7.9.5