developer | 41370d5 | 2022-03-16 16:01:59 +0800 | [diff] [blame] | 1 | From ee4e0eafa43cfd9008722fe15e17b8bf62fb6e8d Mon Sep 17 00:00:00 2001 |
| 2 | From: YouChing Lin <ycllin@mxic.com.tw> |
| 3 | Date: Thu, 10 Dec 2020 11:22:09 +0800 |
| 4 | Subject: [PATCH] mtd: spinand: macronix: Add support for MX35LFxG24AD |
| 5 | |
| 6 | The Macronix MX35LF1G24AD(/2G24AD/4G24AD) are 3V, 1G/2G/4Gbit serial |
| 7 | SLC NAND flash device (without on-die ECC). |
| 8 | |
| 9 | Validated by read, erase, read back, write, read back on Xilinx Zynq |
| 10 | PicoZed FPGA board which included Macronix SPI Host(drivers/spi/spi-mxic.c) |
| 11 | & S/W BCH ecc(drivers/mtd/nand/ecc-sw-bch.c) with bug fixing patch |
| 12 | (mtd: nand: ecc-bch: Fix the size of calc_buf/code_buf of the BCH). |
| 13 | |
| 14 | Signed-off-by: YouChing Lin <ycllin@mxic.com.tw> |
| 15 | Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |
| 16 | Link: https://lore.kernel.org/linux-mtd/1607570529-22341-3-git-send-email-ycllin@mxic.com.tw |
| 17 | --- |
| 18 | drivers/mtd/nand/spi/macronix.c | 27 +++++++++++++++++++++++++++ |
| 19 | 1 file changed, 27 insertions(+) |
| 20 | |
| 21 | diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c |
| 22 | index 3786b1b03b3b4b..6701aaa21a49df 100644 |
| 23 | --- a/drivers/mtd/nand/spi/macronix.c |
| 24 | +++ b/drivers/mtd/nand/spi/macronix.c |
| 25 | @@ -139,6 +139,33 @@ static const struct spinand_info macronix_spinand_table[] = { |
| 26 | 0, |
| 27 | SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, |
| 28 | mx35lf1ge4ab_ecc_get_status)), |
| 29 | + SPINAND_INFO("MX35LF1G24AD", |
| 30 | + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x14), |
| 31 | + NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1), |
| 32 | + NAND_ECCREQ(8, 512), |
| 33 | + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, |
| 34 | + &write_cache_variants, |
| 35 | + &update_cache_variants), |
| 36 | + 0, |
| 37 | + SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)), |
| 38 | + SPINAND_INFO("MX35LF2G24AD", |
| 39 | + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x24), |
| 40 | + NAND_MEMORG(1, 2048, 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, NULL)), |
| 47 | + SPINAND_INFO("MX35LF4G24AD", |
| 48 | + SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x35), |
| 49 | + NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 2, 1, 1), |
| 50 | + NAND_ECCREQ(8, 512), |
| 51 | + SPINAND_INFO_OP_VARIANTS(&read_cache_variants, |
| 52 | + &write_cache_variants, |
| 53 | + &update_cache_variants), |
| 54 | + 0, |
| 55 | + SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)), |
| 56 | SPINAND_INFO("MX31LF1GE4BC", |
| 57 | SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x1e), |
| 58 | NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1), |