blob: fbcca17c5c2c84fbfb6b57a33a47878e93500f7b [file] [log] [blame]
developer5d148cb2023-06-02 13:08:11 +08001From 3b7dc97f2ff2d354c7f624d4d04fd5dd8595c923 Mon Sep 17 00:00:00 2001
2From: Sam Shih <sam.shih@mediatek.com>
3Date: Fri, 2 Jun 2023 13:06:11 +0800
4Subject: [PATCH]
5 [spi-and-storage][999-2316-mtd-spinand-macronix-Add-support-for-serial-NAND-flash.patch]
developer41370d52022-03-16 16:01:59 +08006
developer41370d52022-03-16 16:01:59 +08007---
8 drivers/mtd/nand/spi/macronix.c | 112 ++++++++++++++++++++++++++++++++
9 1 file changed, 112 insertions(+)
10
11diff --git a/drivers/mtd/nand/spi/macronix.c b/drivers/mtd/nand/spi/macronix.c
developer5d148cb2023-06-02 13:08:11 +080012index e0c71c654..ede66b71b 100644
developer41370d52022-03-16 16:01:59 +080013--- a/drivers/mtd/nand/spi/macronix.c
14+++ b/drivers/mtd/nand/spi/macronix.c
developer5d148cb2023-06-02 13:08:11 +080015@@ -185,6 +185,118 @@ static const struct spinand_info macronix_spinand_table[] = {
developer41370d52022-03-16 16:01:59 +080016 0 /*SPINAND_HAS_QE_BIT*/,
17 SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
18 mx35lf1ge4ab_ecc_get_status)),
19+
20+ SPINAND_INFO("MX35LF2G14AC",
21+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x20),
22+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 2, 1, 1),
23+ NAND_ECCREQ(4, 512),
24+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
25+ &write_cache_variants,
26+ &update_cache_variants),
27+ SPINAND_HAS_QE_BIT,
28+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
29+ mx35lf1ge4ab_ecc_get_status)),
30+ SPINAND_INFO("MX35UF4G24AD",
31+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb5),
32+ NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 2, 1, 1),
33+ NAND_ECCREQ(8, 512),
34+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
35+ &write_cache_variants,
36+ &update_cache_variants),
37+ SPINAND_HAS_QE_BIT,
38+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
39+ mx35lf1ge4ab_ecc_get_status)),
40+ SPINAND_INFO("MX35UF4GE4AD",
41+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb7),
42+ NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 1, 1, 1),
43+ NAND_ECCREQ(8, 512),
44+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
45+ &write_cache_variants,
46+ &update_cache_variants),
47+ SPINAND_HAS_QE_BIT,
48+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
49+ mx35lf1ge4ab_ecc_get_status)),
50+ SPINAND_INFO("MX35UF2G14AC",
51+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa0),
52+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 2, 1, 1),
53+ NAND_ECCREQ(4, 512),
54+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
55+ &write_cache_variants,
56+ &update_cache_variants),
57+ SPINAND_HAS_QE_BIT,
58+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
59+ mx35lf1ge4ab_ecc_get_status)),
60+ SPINAND_INFO("MX35UF2G24AD",
61+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa4),
62+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 2, 1, 1),
63+ NAND_ECCREQ(8, 512),
64+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
65+ &write_cache_variants,
66+ &update_cache_variants),
67+ SPINAND_HAS_QE_BIT,
68+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
69+ mx35lf1ge4ab_ecc_get_status)),
70+ SPINAND_INFO("MX35UF2GE4AD",
71+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa6),
72+ NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
73+ NAND_ECCREQ(8, 512),
74+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
75+ &write_cache_variants,
76+ &update_cache_variants),
77+ SPINAND_HAS_QE_BIT,
78+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
79+ mx35lf1ge4ab_ecc_get_status)),
80+ SPINAND_INFO("MX35UF2GE4AC",
81+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa2),
82+ NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
83+ NAND_ECCREQ(4, 512),
84+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
85+ &write_cache_variants,
86+ &update_cache_variants),
87+ SPINAND_HAS_QE_BIT,
88+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
89+ mx35lf1ge4ab_ecc_get_status)),
90+ SPINAND_INFO("MX35UF1G14AC",
91+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x90),
92+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
93+ NAND_ECCREQ(4, 512),
94+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
95+ &write_cache_variants,
96+ &update_cache_variants),
97+ SPINAND_HAS_QE_BIT,
98+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
99+ mx35lf1ge4ab_ecc_get_status)),
100+ SPINAND_INFO("MX35UF1G24AD",
101+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x94),
102+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
103+ NAND_ECCREQ(8, 512),
104+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
105+ &write_cache_variants,
106+ &update_cache_variants),
107+ SPINAND_HAS_QE_BIT,
108+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
109+ mx35lf1ge4ab_ecc_get_status)),
110+ SPINAND_INFO("MX35UF1GE4AD",
111+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x96),
112+ NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
113+ NAND_ECCREQ(8, 512),
114+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
115+ &write_cache_variants,
116+ &update_cache_variants),
117+ SPINAND_HAS_QE_BIT,
118+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
119+ mx35lf1ge4ab_ecc_get_status)),
120+ SPINAND_INFO("MX35UF1GE4AC",
121+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x92),
122+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
123+ NAND_ECCREQ(4, 512),
124+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
125+ &write_cache_variants,
126+ &update_cache_variants),
127+ SPINAND_HAS_QE_BIT,
128+ SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
129+ mx35lf1ge4ab_ecc_get_status)),
130+
131 };
132
133 static const struct spinand_manufacturer_ops macronix_spinand_manuf_ops = {
developer5d148cb2023-06-02 13:08:11 +0800134--
1352.34.1
136