Skip to content

mtd: Qualcomm NAND controller driver

Archit Taneja linux-arm-msm linux-devicetree linux-mtd lkml 9 versions – Applied

Status from this message: Pushed to l2-mtd.git, with the following fixup (the layout->oobavail

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v8 Latest3 patches 12 repliesApplied
  2. v73 patches 10 repliesSuperseded
  3. v63 patches 5 repliesSuperseded
Earlier versions · 6
VersionPostedPatchesRepliesStatus
v53 patches13 repliesSuperseded
v45 patches19 repliesSuperseded
v35 patches7 repliesSuperseded
v2 posting 2/25 patches13 repliesSuperseded
v2 posting 1/21 patch1 replyApplied
v15 patches8 repliesSuperseded

Changes in v8 from the cover letter

- Fixed issues in erased page parsing as pointed by Boris.
- Rewrite the empty page detection func to detect the page at a chunk level. This simplifies the code quite a bit.
- Introduce raw page read/write ops.

Patches in v8 Applied

#Subject and filesSizeRepliesApplied
1/3mtd: nand: don't select chip in nand_chip's block_bad opdrivers/mtd/nand/cafe_nand.c drivers/mtd/nand/diskonchip.c drivers/mtd/nand/docg4.c +2 more+23 -260 replies
2/3mtd: nand: Qualcomm NAND controller driverdrivers/mtd/nand/Kconfig drivers/mtd/nand/Makefile drivers/mtd/nand/qcom_nandc.c+2232 -010 replies
3/3dt/bindings: qcom_nandc: Add DT bindingsDocumentation/devicetree/bindings/mtd/qcom_nandc.txt+86 -00 replies

Reviews trailers per patch

All 3 patches have a Reviewed-by or Acked-by.

PatchBoris BrezillonRob HerringAndy GrossArchit Taneja
1/3R-b
2/3R-b R-b T-b
3/3R-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v8 thread

Cover letter [PATCH v8 0/3] mtd: Qualcomm NAND controller driver

Add support for the NAND controller driver for SoC's that contain EBI2. For now, the only SoC upstream that has EBI2 is IPQ806x.

The previous version added a BBT flag that allowed BBMs to be accessed in raw mode. Adding a flag isn't the right way to fix it, and the proposed fix is to add badblockbits support, and make sure all drivers switch to accessing BBM in raw mode. For now, skip nand_bbt usage, and implement our own versions of chip->block_bad and chip->mark_bad.

The first patch in the series contains a nand_base clean up which the driver will utilize.

Based over l2-mtd.git

The patchset requires the v6 ADM dmaengine patches posted by Andy:

https://lkml.org/lkml/2015/3/17/19

v8:
- Fixed issues in erased page parsing as pointed by Boris.
- Rewrite the empty page detection func to detect the page at a chunk level. This simplifies the code quite a bit.
- Introduce raw page read/write ops.

v7:
- Incorporated missed suggestions from Boris.
- Updated cafe_nand, docg4, diskonchip drivers
- Some indentation fixes found by strict checkpatch checking

v6:
- Fix erased page parsing as suggested by Boris.
- Change compatible string to something more legible.
- Whitespace fixes.

v5:
- Skip creation of BBT as in v1. Will bring this back after BBMs are read/written in raw mode (using badblockbits support).
- Incorporated misc fixes/suggestions by Boris.
- Dropped the DT patches for now, since ADM DMA support isn't merged yet.

v4:
- Some more fixes. Mentioned in individual patch

v3:
- Various fixes and clean ups suggested by Stephen Boyd.

v2:
- Added a new BBT flag that allows us to read BBM in raw mode
- reduce memcpy-s in the driver
- some refactor and clean ups because of above changes

v1:
- original series:
https://lkml.org/lkml/2015/1/16/317

Archit Taneja (3):
mtd: nand: don't select chip in nand_chip's block_bad op
mtd: nand: Qualcomm NAND controller driver dt/bindings: qcom_nandc: Add DT bindings

 .../devicetree/bindings/mtd/qcom_nandc.txt         |   86 +
 drivers/mtd/nand/Kconfig                           |    7 +
 drivers/mtd/nand/Makefile                          |    1 +
 drivers/mtd/nand/cafe_nand.c                       |    2 +-
 drivers/mtd/nand/diskonchip.c                      |    2 +-
 drivers/mtd/nand/docg4.c                           |    2 +-
 drivers/mtd/nand/nand_base.c                       |   41 +-
 drivers/mtd/nand/qcom_nandc.c                      | 2224 ++++++++++++++++++++
 include/linux/mtd/nand.h                           |    2 +-
 9 files changed, 2341 insertions(+), 26 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/mtd/qcom_nandc.txt
 create mode 100644 drivers/mtd/nand/qcom_nandc.c
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation