blob: 313b373d5f740676ed58907eb3e564dd2c0cd726 [file] [log] [blame]
developer41370d52022-03-16 16:01:59 +08001From 5ece78de88739b4c68263e9f2582380c1fd8314f Mon Sep 17 00:00:00 2001
2From: YouChing Lin <ycllin@mxic.com.tw>
3Date: Thu, 5 Nov 2020 15:23:40 +0800
4Subject: [PATCH] mtd: spinand: macronix: Add support for MX35LFxGE4AD
5
6The Macronix MX35LF2GE4AD / MX35LF4GE4AD are 3V, 2G / 4Gbit serial
7SLC NAND flash device (with on-die ECC).
8
9Validated by read, erase, read back, write, read back and nandtest
10on Xilinx Zynq PicoZed FPGA board which included Macronix SPI Host
11(drivers/spi/spi-mxic.c).
12
13Signed-off-by: YouChing Lin <ycllin@mxic.com.tw>
14Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
15Link: https://lore.kernel.org/linux-mtd/1604561020-13499-1-git-send-email-ycllin@mxic.com.tw
16---
17 drivers/mtd/nand/spi/macronix.c | 20 ++++++++++++++++++++
18 1 file changed, 20 insertions(+)
19
20diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c
21index 8e801e4c3a006f..3786b1b03b3b4b 100644
22--- a/drivers/mtd/nand/spi/macronix.c
23+++ b/drivers/mtd/nand/spi/macronix.c
24@@ -119,6 +119,26 @@ static const struct spinand_info macronix_spinand_table[] = {
25 &update_cache_variants),
26 SPINAND_HAS_QE_BIT,
27 SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
28+ SPINAND_INFO("MX35LF2GE4AD",
29+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x26),
30+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
31+ NAND_ECCREQ(8, 512),
32+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
33+ &write_cache_variants,
34+ &update_cache_variants),
35+ 0,
36+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
37+ mx35lf1ge4ab_ecc_get_status)),
38+ SPINAND_INFO("MX35LF4GE4AD",
39+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x37),
40+ NAND_MEMORG(1, 4096, 128, 64, 2048, 40, 1, 1, 1),
41+ NAND_ECCREQ(8, 512),
42+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
43+ &write_cache_variants,
44+ &update_cache_variants),
45+ 0,
46+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
47+ mx35lf1ge4ab_ecc_get_status)),
48 SPINAND_INFO("MX31LF1GE4BC",
49 SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x1e),
50 NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),