[PATCH v2] mtd: spi-nor: micron-st: Enable die erase support for MT35XU02GCBA

Pratyush Yadav pratyush at kernel.org
Tue Mar 31 00:10:13 PDT 2026


On Tue, Mar 31 2026, Haoyu Lu wrote:

> 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 at gmail.com>
> ---
> v2: Remove TODO comment and rename mt35xu01gbba_fixups to mt35_two_die_fixups per review.
>
>  drivers/mtd/spi-nor/micron-st.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mtd/spi-nor/micron-st.c b/drivers/mtd/spi-nor/micron-st.c
> index 4e8c6ef14697..c22d62545391 100644
> --- a/drivers/mtd/spi-nor/micron-st.c
> +++ b/drivers/mtd/spi-nor/micron-st.c
> @@ -185,7 +185,7 @@ static const struct spi_nor_fixups mt35xu512aba_fixups = {
>  	.post_sfdp = mt35xu512aba_post_sfdp_fixup,
>  };
>  
> -static const struct spi_nor_fixups mt35xu01gbba_fixups = {
> +static const struct spi_nor_fixups mt35_two_die_fixups = {
>  	.post_sfdp = mt35xu512aba_post_sfdp_fixup,
>  	.late_init = micron_st_nor_two_die_late_init,
>  };
> @@ -202,7 +202,7 @@ static const struct flash_info micron_nor_parts[] = {
>  		.id = SNOR_ID(0x2c, 0x5b, 0x1b),
>  		.mfr_flags = USE_FSR,
>  		.fixup_flags = SPI_NOR_IO_MODE_EN_VOLATILE,
> -		.fixups = &mt35xu01gbba_fixups,
> +		.fixups = &mt35_two_die_fixups,
>  	}, {
>  		/*
>  		 * The MT35XU02GCBA flash device does not support chip erase,
> @@ -212,7 +212,6 @@ static const struct flash_info micron_nor_parts[] = {
>  		 * MT35XU01GBBA, the SPI_NOR_IO_MODE_EN_VOLATILE flag probably
>  		 * needs to be enabled.
>  		 *
> -		 * TODO: Fix these and test on real hardware.

I meant to drop the whole comment. But no problem, I can do that when
applying.

Reviewed-by: Pratyush Yadav <pratyush at kernel.org>

Thanks for the patch!

>  		 */
>  		.id = SNOR_ID(0x2c, 0x5b, 0x1c),
>  		.name = "mt35xu02g",
> @@ -221,7 +220,7 @@ static const struct flash_info micron_nor_parts[] = {
>  		.no_sfdp_flags = SECT_4K | SPI_NOR_OCTAL_READ,
>  		.mfr_flags = USE_FSR,
>  		.fixup_flags = SPI_NOR_4B_OPCODES | SPI_NOR_IO_MODE_EN_VOLATILE,
> -		.fixups = &mt35xu01gbba_fixups,
> +		.fixups = &mt35_two_die_fixups,
>  	},
>  };
>  

-- 
Regards,
Pratyush Yadav



More information about the linux-mtd mailing list