@@ -33,74 +33,156 @@ static const struct spi_nor_fixups mx25l25635_fixups = {
3333};
3434
3535static const struct flash_info macronix_nor_parts [] = {
36- { "mx25l512e" , INFO (0xc22010 , 0 , 64 * 1024 , 1 )
37- NO_SFDP_FLAGS (SECT_4K ) },
38- { "mx25l2005a" , INFO (0xc22012 , 0 , 64 * 1024 , 4 )
39- NO_SFDP_FLAGS (SECT_4K ) },
40- { "mx25l4005a" , INFO (0xc22013 , 0 , 64 * 1024 , 8 )
41- NO_SFDP_FLAGS (SECT_4K ) },
42- { "mx25l8005" , INFO (0xc22014 , 0 , 64 * 1024 , 16 ) },
43- { "mx25l1606e" , INFO (0xc22015 , 0 , 64 * 1024 , 32 )
44- NO_SFDP_FLAGS (SECT_4K ) },
45- { "mx25l3205d" , INFO (0xc22016 , 0 , 64 * 1024 , 64 )
46- NO_SFDP_FLAGS (SECT_4K ) },
47- { "mx25l3255e" , INFO (0xc29e16 , 0 , 64 * 1024 , 64 )
48- NO_SFDP_FLAGS (SECT_4K ) },
49- { "mx25l6405d" , INFO (0xc22017 , 0 , 64 * 1024 , 128 )
50- NO_SFDP_FLAGS (SECT_4K ) },
51- { "mx25u2033e" , INFO (0xc22532 , 0 , 64 * 1024 , 4 )
52- NO_SFDP_FLAGS (SECT_4K ) },
53- { "mx25u3235f" , INFO (0xc22536 , 0 , 64 * 1024 , 64 )
54- NO_SFDP_FLAGS (SECT_4K | SPI_NOR_DUAL_READ |
55- SPI_NOR_QUAD_READ ) },
56- { "mx25u4035" , INFO (0xc22533 , 0 , 64 * 1024 , 8 )
57- NO_SFDP_FLAGS (SECT_4K ) },
58- { "mx25u8035" , INFO (0xc22534 , 0 , 64 * 1024 , 16 )
59- NO_SFDP_FLAGS (SECT_4K ) },
60- { "mx25u6435f" , INFO (0xc22537 , 0 , 64 * 1024 , 128 )
61- NO_SFDP_FLAGS (SECT_4K ) },
62- { "mx25l12805d" , INFO (0xc22018 , 0 , 64 * 1024 , 256 )
63- FLAGS (SPI_NOR_HAS_LOCK | SPI_NOR_4BIT_BP )
64- NO_SFDP_FLAGS (SECT_4K ) },
65- { "mx25l12855e" , INFO (0xc22618 , 0 , 64 * 1024 , 256 ) },
66- { "mx25r1635f" , INFO (0xc22815 , 0 , 64 * 1024 , 32 )
67- NO_SFDP_FLAGS (SECT_4K | SPI_NOR_DUAL_READ |
68- SPI_NOR_QUAD_READ ) },
69- { "mx25r3235f" , INFO (0xc22816 , 0 , 64 * 1024 , 64 )
70- NO_SFDP_FLAGS (SECT_4K | SPI_NOR_DUAL_READ |
71- SPI_NOR_QUAD_READ ) },
72- { "mx25u12835f" , INFO (0xc22538 , 0 , 64 * 1024 , 256 )
73- NO_SFDP_FLAGS (SECT_4K | SPI_NOR_DUAL_READ |
74- SPI_NOR_QUAD_READ ) },
75- { "mx25l25635e" , INFO (0xc22019 , 0 , 64 * 1024 , 512 )
76- NO_SFDP_FLAGS (SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ )
77- .fixups = & mx25l25635_fixups },
78- { "mx25u25635f" , INFO (0xc22539 , 0 , 64 * 1024 , 512 )
79- NO_SFDP_FLAGS (SECT_4K )
80- FIXUP_FLAGS (SPI_NOR_4B_OPCODES ) },
81- { "mx25u51245g" , INFO (0xc2253a , 0 , 64 * 1024 , 1024 )
82- NO_SFDP_FLAGS (SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ )
83- FIXUP_FLAGS (SPI_NOR_4B_OPCODES ) },
84- { "mx25uw51245g" , INFOB (0xc2813a , 0 , 0 , 0 , 4 )
85- FLAGS (SPI_NOR_RWW ) },
86- { "mx25v8035f" , INFO (0xc22314 , 0 , 64 * 1024 , 16 )
87- NO_SFDP_FLAGS (SECT_4K | SPI_NOR_DUAL_READ |
88- SPI_NOR_QUAD_READ ) },
89- { "mx25l25655e" , INFO (0xc22619 , 0 , 64 * 1024 , 512 ) },
90- { "mx66l51235f" , INFO (0xc2201a , 0 , 64 * 1024 , 1024 )
91- NO_SFDP_FLAGS (SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ )
92- FIXUP_FLAGS (SPI_NOR_4B_OPCODES ) },
93- { "mx66u51235f" , INFO (0xc2253a , 0 , 64 * 1024 , 1024 )
94- NO_SFDP_FLAGS (SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ )
95- FIXUP_FLAGS (SPI_NOR_4B_OPCODES ) },
96- { "mx66l1g45g" , INFO (0xc2201b , 0 , 64 * 1024 , 2048 )
97- NO_SFDP_FLAGS (SECT_4K | SPI_NOR_DUAL_READ |
98- SPI_NOR_QUAD_READ ) },
99- { "mx66l1g55g" , INFO (0xc2261b , 0 , 64 * 1024 , 2048 )
100- NO_SFDP_FLAGS (SPI_NOR_QUAD_READ ) },
101- { "mx66u2g45g" , INFO (0xc2253c , 0 , 64 * 1024 , 4096 )
102- NO_SFDP_FLAGS (SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ )
103- FIXUP_FLAGS (SPI_NOR_4B_OPCODES ) },
36+ {
37+ .id = SNOR_ID (0xc2 , 0x20 , 0x10 ),
38+ .name = "mx25l512e" ,
39+ .size = SZ_64K ,
40+ .no_sfdp_flags = SECT_4K ,
41+ }, {
42+ .id = SNOR_ID (0xc2 , 0x20 , 0x12 ),
43+ .name = "mx25l2005a" ,
44+ .size = SZ_256K ,
45+ .no_sfdp_flags = SECT_4K ,
46+ }, {
47+ .id = SNOR_ID (0xc2 , 0x20 , 0x13 ),
48+ .name = "mx25l4005a" ,
49+ .size = SZ_512K ,
50+ .no_sfdp_flags = SECT_4K ,
51+ }, {
52+ .id = SNOR_ID (0xc2 , 0x20 , 0x14 ),
53+ .name = "mx25l8005" ,
54+ .size = SZ_1M ,
55+ }, {
56+ .id = SNOR_ID (0xc2 , 0x20 , 0x15 ),
57+ .name = "mx25l1606e" ,
58+ .size = SZ_2M ,
59+ .no_sfdp_flags = SECT_4K ,
60+ }, {
61+ .id = SNOR_ID (0xc2 , 0x20 , 0x16 ),
62+ .name = "mx25l3205d" ,
63+ .size = SZ_4M ,
64+ .no_sfdp_flags = SECT_4K ,
65+ }, {
66+ .id = SNOR_ID (0xc2 , 0x9e , 0x16 ),
67+ .name = "mx25l3255e" ,
68+ .size = SZ_4M ,
69+ .no_sfdp_flags = SECT_4K ,
70+ }, {
71+ .id = SNOR_ID (0xc2 , 0x20 , 0x17 ),
72+ .name = "mx25l6405d" ,
73+ .size = SZ_8M ,
74+ .no_sfdp_flags = SECT_4K ,
75+ }, {
76+ .id = SNOR_ID (0xc2 , 0x25 , 0x32 ),
77+ .name = "mx25u2033e" ,
78+ .size = SZ_256K ,
79+ .no_sfdp_flags = SECT_4K ,
80+ }, {
81+ .id = SNOR_ID (0xc2 , 0x25 , 0x36 ),
82+ .name = "mx25u3235f" ,
83+ .size = SZ_4M ,
84+ .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
85+ }, {
86+ .id = SNOR_ID (0xc2 , 0x25 , 0x33 ),
87+ .name = "mx25u4035" ,
88+ .size = SZ_512K ,
89+ .no_sfdp_flags = SECT_4K ,
90+ }, {
91+ .id = SNOR_ID (0xc2 , 0x25 , 0x34 ),
92+ .name = "mx25u8035" ,
93+ .size = SZ_1M ,
94+ .no_sfdp_flags = SECT_4K ,
95+ }, {
96+ .id = SNOR_ID (0xc2 , 0x25 , 0x37 ),
97+ .name = "mx25u6435f" ,
98+ .size = SZ_8M ,
99+ .no_sfdp_flags = SECT_4K ,
100+ }, {
101+ .id = SNOR_ID (0xc2 , 0x20 , 0x18 ),
102+ .name = "mx25l12805d" ,
103+ .size = SZ_16M ,
104+ .flags = SPI_NOR_HAS_LOCK | SPI_NOR_4BIT_BP ,
105+ .no_sfdp_flags = SECT_4K ,
106+ }, {
107+ .id = SNOR_ID (0xc2 , 0x26 , 0x18 ),
108+ .name = "mx25l12855e" ,
109+ .size = SZ_16M ,
110+ }, {
111+ .id = SNOR_ID (0xc2 , 0x28 , 0x15 ),
112+ .name = "mx25r1635f" ,
113+ .size = SZ_2M ,
114+ .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
115+ }, {
116+ .id = SNOR_ID (0xc2 , 0x28 , 0x16 ),
117+ .name = "mx25r3235f" ,
118+ .size = SZ_4M ,
119+ .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
120+ }, {
121+ .id = SNOR_ID (0xc2 , 0x25 , 0x38 ),
122+ .name = "mx25u12835f" ,
123+ .size = SZ_16M ,
124+ .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
125+ }, {
126+ .id = SNOR_ID (0xc2 , 0x20 , 0x19 ),
127+ .name = "mx25l25635e" ,
128+ .size = SZ_32M ,
129+ .no_sfdp_flags = SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
130+ .fixups = & mx25l25635_fixups
131+ }, {
132+ .id = SNOR_ID (0xc2 , 0x25 , 0x39 ),
133+ .name = "mx25u25635f" ,
134+ .size = SZ_32M ,
135+ .no_sfdp_flags = SECT_4K ,
136+ FIXUP_FLAGS (SPI_NOR_4B_OPCODES )
137+ }, {
138+ .id = SNOR_ID (0xc2 , 0x25 , 0x3a ),
139+ .name = "mx25u51245g" ,
140+ .size = SZ_64M ,
141+ .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
142+ .fixup_flags = SPI_NOR_4B_OPCODES ,
143+ }, {
144+ .id = SNOR_ID (0xc2 , 0x81 , 0x3a ),
145+ .name = "mx25uw51245g" ,
146+ .n_banks = 4 ,
147+ .flags = SPI_NOR_RWW ,
148+ }, {
149+ .id = SNOR_ID (0xc2 , 0x23 , 0x14 ),
150+ .name = "mx25v8035f" ,
151+ .size = SZ_1M ,
152+ .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
153+ }, {
154+ .id = SNOR_ID (0xc2 , 0x26 , 0x19 ),
155+ .name = "mx25l25655e" ,
156+ .size = SZ_32M ,
157+ }, {
158+ .id = SNOR_ID (0xc2 , 0x20 , 0x1a ),
159+ .name = "mx66l51235f" ,
160+ .size = SZ_64M ,
161+ .no_sfdp_flags = SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
162+ .fixup_flags = SPI_NOR_4B_OPCODES ,
163+ }, {
164+ .id = SNOR_ID (0xc2 , 0x25 , 0x3a ),
165+ .name = "mx66u51235f" ,
166+ .size = SZ_64M ,
167+ .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
168+ .fixup_flags = SPI_NOR_4B_OPCODES ,
169+ }, {
170+ .id = SNOR_ID (0xc2 , 0x20 , 0x1b ),
171+ .name = "mx66l1g45g" ,
172+ .size = SZ_128M ,
173+ .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
174+ }, {
175+ .id = SNOR_ID (0xc2 , 0x26 , 0x1b ),
176+ .name = "mx66l1g55g" ,
177+ .size = SZ_128M ,
178+ .no_sfdp_flags = SPI_NOR_QUAD_READ ,
179+ }, {
180+ .id = SNOR_ID (0xc2 , 0x25 , 0x3c ),
181+ .name = "mx66u2g45g" ,
182+ .size = SZ_256M ,
183+ .no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ ,
184+ .fixup_flags = SPI_NOR_4B_OPCODES ,
185+ },
104186};
105187
106188static void macronix_nor_default_init (struct spi_nor * nor )
0 commit comments