[RFC PATCH 0/2] Cavium NAND flash driver
Jan Glauber
jglauber at cavium.com
Mon Mar 27 09:05:22 PDT 2017
This series adds a driver for the nand flash controller as found on Cavium's
ARM64 SOCs. For details about the controller see description of patch #2.
The nand flash chip on the board I used for testing is:
[ 12.775877] nand: device found, Manufacturer ID: 0xc2, Chip ID: 0xf1
[ 12.782242] nand: Macronix MX30LF1GE8AB
[ 12.786072] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
This chip has internal on-die ECC (which cannot be disabled). Data
sheet can be found here:
http://www.macronix.com/en-us/products/NAND-Flash/SLC-NAND-Flash/Pages/spec.aspx?p=MX30LF1GE8AB
I've tested with ecc-mode="none" but will use the new ecc-mode "on-die" when
it is available (already described it in DTS).
Passed tests:
- mtd-utils nandtest
- mtd kernel test modules (minus oob writetest)
- ubifs works :)
Known issues:
- OOB write is broken (read works)
- only one nand chip is supported currently
- 16 bit bus support probably broken
Feedback welcome!
thanks,
Jan
---
Jan Glauber (2):
dt-bindings: mtd: Add Cavium SOCs NAND bindings
nand: cavium: Nand flash controller for Cavium ARM64 SOCs
.../devicetree/bindings/mtd/cavium_nand.txt | 32 +
drivers/mtd/nand/Kconfig | 6 +
drivers/mtd/nand/Makefile | 1 +
drivers/mtd/nand/cavium_nand.c | 1160 ++++++++++++++++++++
drivers/mtd/nand/cavium_nand.h | 231 ++++
5 files changed, 1430 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mtd/cavium_nand.txt
create mode 100644 drivers/mtd/nand/cavium_nand.c
create mode 100644 drivers/mtd/nand/cavium_nand.h
--
2.9.0.rc0.21.g7777322
More information about the linux-mtd
mailing list