Skip to content

Commit cf6788a

Browse files
Haoyu Luprati0100
authored andcommitted
mtd: spi-nor: micron-st: Enable die erase support for MT35XU02GCBA
The MT35XU02GCBA flash device does not support chip erase according to its datasheet, but supports die erase. The existing code had a TODO comment noting that the SPI_NOR_IO_MODE_EN_VOLATILE flag probably needs to be enabled and the driver implementation needs to be converted to use die erase. This patch enables the SPI_NOR_IO_MODE_EN_VOLATILE flag and adds the mt35_two_die_fixups to the MT35XU02GCBA entry, which includes the micron_st_nor_two_die_late_init() function that sets up die erase support. With these changes, the flash device can properly use die erase operations instead of chip erase. Signed-off-by: Haoyu Lu <hechushiguitu666@gmail.com> Reviewed-by: Pratyush Yadav (Google) <pratyush@kernel.org> [pratyush@kernel.org: drop the whole comment instead of just the TODO line] Signed-off-by: Pratyush Yadav (Google) <pratyush@kernel.org>
1 parent 760e8c3 commit cf6788a

1 file changed

Lines changed: 4 additions & 13 deletions

File tree

drivers/mtd/spi-nor/micron-st.c

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ static const struct spi_nor_fixups mt35xu512aba_fixups = {
195195
.post_sfdp = mt35xu512aba_post_sfdp_fixup,
196196
};
197197

198-
static const struct spi_nor_fixups mt35xu01gbba_fixups = {
198+
static const struct spi_nor_fixups mt35_two_die_fixups = {
199199
.post_sfdp = mt35xu512aba_post_sfdp_fixup,
200200
.late_init = micron_st_nor_two_die_late_init,
201201
};
@@ -212,25 +212,16 @@ static const struct flash_info micron_nor_parts[] = {
212212
.id = SNOR_ID(0x2c, 0x5b, 0x1b),
213213
.mfr_flags = USE_FSR,
214214
.fixup_flags = SPI_NOR_IO_MODE_EN_VOLATILE,
215-
.fixups = &mt35xu01gbba_fixups,
215+
.fixups = &mt35_two_die_fixups,
216216
}, {
217-
/*
218-
* The MT35XU02GCBA flash device does not support chip erase,
219-
* according to its datasheet. It supports die erase, which
220-
* means the current driver implementation will likely need to
221-
* be converted to use die erase. Furthermore, similar to the
222-
* MT35XU01GBBA, the SPI_NOR_IO_MODE_EN_VOLATILE flag probably
223-
* needs to be enabled.
224-
*
225-
* TODO: Fix these and test on real hardware.
226-
*/
227217
.id = SNOR_ID(0x2c, 0x5b, 0x1c),
228218
.name = "mt35xu02g",
229219
.sector_size = SZ_128K,
230220
.size = SZ_256M,
231221
.no_sfdp_flags = SECT_4K | SPI_NOR_OCTAL_READ,
232222
.mfr_flags = USE_FSR,
233-
.fixup_flags = SPI_NOR_4B_OPCODES,
223+
.fixup_flags = SPI_NOR_4B_OPCODES | SPI_NOR_IO_MODE_EN_VOLATILE,
224+
.fixups = &mt35_two_die_fixups,
234225
},
235226
};
236227

0 commit comments

Comments
 (0)