Skip to content

Commit aacbb6c

Browse files
zmlin1998miquelraynal
authored andcommitted
mtd: spinand: macronix: Add support for reading Device ID 2
Adding the Device ID 2 on Macronix serial NAND flash. When the number of flashes increases, we need to utilize Device ID 2 to distinguish between different flashes. These flashes have been validated on Xilinx zynq-picozed board which included Macronix SPI Host. Signed-off-by: Cheng Ming Lin <chengminglin@mxic.com.tw> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20240704024839.241101-2-linchengming884@gmail.com
1 parent 4782118 commit aacbb6c

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

drivers/mtd/nand/spi/macronix.c

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ static const struct spinand_info macronix_spinand_table[] = {
121121
SPINAND_HAS_QE_BIT,
122122
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
123123
SPINAND_INFO("MX35LF2GE4AD",
124-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x26),
124+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x26, 0x03),
125125
NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
126126
NAND_ECCREQ(8, 512),
127127
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -131,7 +131,7 @@ static const struct spinand_info macronix_spinand_table[] = {
131131
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
132132
mx35lf1ge4ab_ecc_get_status)),
133133
SPINAND_INFO("MX35LF4GE4AD",
134-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x37),
134+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x37, 0x03),
135135
NAND_MEMORG(1, 4096, 128, 64, 2048, 40, 1, 1, 1),
136136
NAND_ECCREQ(8, 512),
137137
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -141,7 +141,7 @@ static const struct spinand_info macronix_spinand_table[] = {
141141
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
142142
mx35lf1ge4ab_ecc_get_status)),
143143
SPINAND_INFO("MX35LF1G24AD",
144-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x14),
144+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x14, 0x03),
145145
NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
146146
NAND_ECCREQ(8, 512),
147147
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -150,7 +150,7 @@ static const struct spinand_info macronix_spinand_table[] = {
150150
SPINAND_HAS_QE_BIT,
151151
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
152152
SPINAND_INFO("MX35LF2G24AD",
153-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x24),
153+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x24, 0x03),
154154
NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 2, 1, 1),
155155
NAND_ECCREQ(8, 512),
156156
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -159,7 +159,7 @@ static const struct spinand_info macronix_spinand_table[] = {
159159
SPINAND_HAS_QE_BIT,
160160
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout, NULL)),
161161
SPINAND_INFO("MX35LF4G24AD",
162-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x35),
162+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x35, 0x03),
163163
NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 2, 1, 1),
164164
NAND_ECCREQ(8, 512),
165165
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -199,7 +199,7 @@ static const struct spinand_info macronix_spinand_table[] = {
199199
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
200200
mx35lf1ge4ab_ecc_get_status)),
201201
SPINAND_INFO("MX35UF4G24AD",
202-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb5),
202+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb5, 0x03),
203203
NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 2, 1, 1),
204204
NAND_ECCREQ(8, 512),
205205
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -209,7 +209,7 @@ static const struct spinand_info macronix_spinand_table[] = {
209209
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
210210
mx35lf1ge4ab_ecc_get_status)),
211211
SPINAND_INFO("MX35UF4GE4AD",
212-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb7),
212+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xb7, 0x03),
213213
NAND_MEMORG(1, 4096, 256, 64, 2048, 40, 1, 1, 1),
214214
NAND_ECCREQ(8, 512),
215215
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -229,7 +229,7 @@ static const struct spinand_info macronix_spinand_table[] = {
229229
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
230230
mx35lf1ge4ab_ecc_get_status)),
231231
SPINAND_INFO("MX35UF2G24AD",
232-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa4),
232+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa4, 0x03),
233233
NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 2, 1, 1),
234234
NAND_ECCREQ(8, 512),
235235
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -239,7 +239,7 @@ static const struct spinand_info macronix_spinand_table[] = {
239239
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
240240
mx35lf1ge4ab_ecc_get_status)),
241241
SPINAND_INFO("MX35UF2GE4AD",
242-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa6),
242+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa6, 0x03),
243243
NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 1, 1, 1),
244244
NAND_ECCREQ(8, 512),
245245
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -249,7 +249,7 @@ static const struct spinand_info macronix_spinand_table[] = {
249249
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
250250
mx35lf1ge4ab_ecc_get_status)),
251251
SPINAND_INFO("MX35UF2GE4AC",
252-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa2),
252+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xa2, 0x01),
253253
NAND_MEMORG(1, 2048, 64, 64, 2048, 40, 1, 1, 1),
254254
NAND_ECCREQ(4, 512),
255255
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -269,7 +269,7 @@ static const struct spinand_info macronix_spinand_table[] = {
269269
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
270270
mx35lf1ge4ab_ecc_get_status)),
271271
SPINAND_INFO("MX35UF1G24AD",
272-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x94),
272+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x94, 0x03),
273273
NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
274274
NAND_ECCREQ(8, 512),
275275
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -279,7 +279,7 @@ static const struct spinand_info macronix_spinand_table[] = {
279279
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
280280
mx35lf1ge4ab_ecc_get_status)),
281281
SPINAND_INFO("MX35UF1GE4AD",
282-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x96),
282+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x96, 0x03),
283283
NAND_MEMORG(1, 2048, 128, 64, 1024, 20, 1, 1, 1),
284284
NAND_ECCREQ(8, 512),
285285
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
@@ -289,7 +289,7 @@ static const struct spinand_info macronix_spinand_table[] = {
289289
SPINAND_ECCINFO(&mx35lfxge4ab_ooblayout,
290290
mx35lf1ge4ab_ecc_get_status)),
291291
SPINAND_INFO("MX35UF1GE4AC",
292-
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x92),
292+
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0x92, 0x01),
293293
NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
294294
NAND_ECCREQ(4, 512),
295295
SPINAND_INFO_OP_VARIANTS(&read_cache_variants,

0 commit comments

Comments
 (0)