mirror of
https://github.com/hanwckf/immortalwrt-mt798x.git
synced 2025-01-10 03:09:08 +08:00
59 lines
2.5 KiB
Diff
59 lines
2.5 KiB
Diff
From ee4e0eafa43cfd9008722fe15e17b8bf62fb6e8d Mon Sep 17 00:00:00 2001
|
|
From: YouChing Lin <ycllin@mxic.com.tw>
|
|
Date: Thu, 10 Dec 2020 11:22:09 +0800
|
|
Subject: [PATCH] mtd: spinand: macronix: Add support for MX35LFxG24AD
|
|
|
|
The Macronix MX35LF1G24AD(/2G24AD/4G24AD) are 3V, 1G/2G/4Gbit serial
|
|
SLC NAND flash device (without on-die ECC).
|
|
|
|
Validated by read, erase, read back, write, read back on Xilinx Zynq
|
|
PicoZed FPGA board which included Macronix SPI Host(drivers/spi/spi-mxic.c)
|
|
& S/W BCH ecc(drivers/mtd/nand/ecc-sw-bch.c) with bug fixing patch
|
|
(mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH).
|
|
|
|
Signed-off-by: YouChing Lin <ycllin@mxic.com.tw>
|
|
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
|
Link: https://lore.kernel.org/linux-mtd/1607570529-22341-3-git-send-email-ycllin@mxic.com.tw
|
|
---
|
|
drivers/mtd/nand/spi/macronix.c | 27 +++++++++++++++++++++++++++
|
|
1 file changed, 27 insertions(+)
|
|
|
|
diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c
|
|
index 3786b1b03b3b4b..6701aaa21a49df 100644
|
|
--- a/drivers/mtd/nand/spi/macronix.c
|
|
+++ b/drivers/mtd/nand/spi/macronix.c
|
|
@@ -139,6 +139,33 @@ static const struct spinand_info macronix_spinand_table[] = {
|
|
0,
|
|
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
|
|
mx35lf1ge4ab_ecc_get_status)),
|
|
+ SPINAND_INFO("MX35LF1G24AD",
|
|
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x14),
|
|
+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
|
|
+ NAND_ECCREQ(8, 512),
|
|
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
|
+ &write_cache_variants,
|
|
+ &update_cache_variants),
|
|
+ 0,
|
|
+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
|
|
+ SPINAND_INFO("MX35LF2G24AD",
|
|
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x24),
|
|
+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
|
|
+ NAND_ECCREQ(8, 512),
|
|
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
|
+ &write_cache_variants,
|
|
+ &update_cache_variants),
|
|
+ 0,
|
|
+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
|
|
+ SPINAND_INFO("MX35LF4G24AD",
|
|
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x35),
|
|
+ NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 2, 1, 1),
|
|
+ NAND_ECCREQ(8, 512),
|
|
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
|
+ &write_cache_variants,
|
|
+ &update_cache_variants),
|
|
+ 0,
|
|
+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
|
|
SPINAND_INFO("MX31LF1GE4BC",
|
|
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x1e),
|
|
NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
|