Re: [PATCH v2 1/3] Revert "mtd: spi-nor: remove Fujitsu MB85RS1MT support"

From: Chris Packham

Date: Tue Jun 30 2026 - 17:11:00 EST


Hi Takahiro,

On 30/06/2026 19:47, Takahiro.Kuwano@xxxxxxxxxxxx wrote:
> Hi,
>
>> This reverts commit d9cd5c9a6fe26d544551cfaa94fb0abc50c0b895.
>>
>> The commit that removed support for this chip claimed that the at25
>> driver was the correct driver to use for this chip. However, the at25
>> driver exposes the chip as an NVMEM device, not a MTD device, so it's
>> not a suitable replacement for users that want to mount a file system
>> over the chip.
>>
> What file system do you use?
> The size of FRAM chips (hundreds of KB) sounds too small for file
> systems.

We're using ext2. Technically we want this for the MB85RS4MT which is
added in patch 3 of this series.

The use is for a small amount of additional storage separate to the main
system NAND flash for some small "critical" files that we don't want to
lose. We've been using devices like the mchp23lcv1024 and mr25h40 on
other products for some time.

>> Revert the change that removed support for the MB85RS1MT FRAM chip.
>>
>> Signed-off-by: Ronan Dalton <ronan.dalton@xxxxxxxxxxxxxxxxxxx>
>> Cc: linux-kernel@xxxxxxxxxxxxxxx
>> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx
>> Cc: Pratyush Yadav <pratyush@xxxxxxxxxx>
>> Cc: Michael Walle <mwalle@xxxxxxxxxx>
>> Cc: Takahiro Kuwano <takahiro.kuwano@xxxxxxxxxxxx>
>> Cc: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
>> Cc: Richard Weinberger <richard@xxxxxx>
>> Cc: Vignesh Raghavendra <vigneshr@xxxxxx>
>> Cc: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
>> Cc: Aryan Srivastava <aryan.srivastava@xxxxxxxxxxxxxxxxxxx>
>> ---
>> Changes in v2:
>> - No changes
>>
>> drivers/mtd/spi-nor/Makefile | 1 +
>> drivers/mtd/spi-nor/core.c | 1 +
>> drivers/mtd/spi-nor/core.h | 1 +
>> drivers/mtd/spi-nor/fujitsu.c | 21 +++++++++++++++++++++
>> 4 files changed, 24 insertions(+)
>> create mode 100644 drivers/mtd/spi-nor/fujitsu.c
>>
>> diff --git a/drivers/mtd/spi-nor/Makefile b/drivers/mtd/spi-nor/Makefile
>> index 5dd9c35f6b6f..9216a5a29a2b 100644
>> --- a/drivers/mtd/spi-nor/Makefile
>> +++ b/drivers/mtd/spi-nor/Makefile
>> @@ -5,6 +5,7 @@ spi-nor-objs += atmel.o
>> spi-nor-objs += eon.o
>> spi-nor-objs += esmt.o
>> spi-nor-objs += everspin.o
>> +spi-nor-objs += fujitsu.o
>> spi-nor-objs += gigadevice.o
>> spi-nor-objs += intel.o
>> spi-nor-objs += issi.o
>> diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
>> index ccf4396cdcd0..d5ebbfd3fa7f 100644
>> --- a/drivers/mtd/spi-nor/core.c
>> +++ b/drivers/mtd/spi-nor/core.c
>> @@ -2009,6 +2009,7 @@ static const struct spi_nor_manufacturer *manufacturers[] = {
>> &spi_nor_eon,
>> &spi_nor_esmt,
>> &spi_nor_everspin,
>> + &spi_nor_fujitsu,
>> &spi_nor_gigadevice,
>> &spi_nor_intel,
>> &spi_nor_issi,
>> diff --git a/drivers/mtd/spi-nor/core.h b/drivers/mtd/spi-nor/core.h
>> index ba2d1a862c9d..a4d906e6d07d 100644
>> --- a/drivers/mtd/spi-nor/core.h
>> +++ b/drivers/mtd/spi-nor/core.h
>> @@ -606,6 +606,7 @@ extern const struct spi_nor_manufacturer spi_nor_atmel;
>> extern const struct spi_nor_manufacturer spi_nor_eon;
>> extern const struct spi_nor_manufacturer spi_nor_esmt;
>> extern const struct spi_nor_manufacturer spi_nor_everspin;
>> +extern const struct spi_nor_manufacturer spi_nor_fujitsu;
>> extern const struct spi_nor_manufacturer spi_nor_gigadevice;
>> extern const struct spi_nor_manufacturer spi_nor_intel;
>> extern const struct spi_nor_manufacturer spi_nor_issi;
>> diff --git a/drivers/mtd/spi-nor/fujitsu.c b/drivers/mtd/spi-nor/fujitsu.c
>> new file mode 100644
>> index 000000000000..69cffc5c73ef
>> --- /dev/null
>> +++ b/drivers/mtd/spi-nor/fujitsu.c
>> @@ -0,0 +1,21 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * Copyright (C) 2005, Intec Automation Inc.
>> + * Copyright (C) 2014, Freescale Semiconductor, Inc.
>> + */
>> +
>> +#include <linux/mtd/spi-nor.h>
>> +
>> +#include "core.h"
>> +
>> +static const struct flash_info fujitsu_nor_parts[] = {
>> + /* Fujitsu */
>> + { "mb85rs1mt", INFO(0x047f27, 0, 128 * 1024, 1)
>> + FLAGS(SPI_NOR_NO_ERASE) },
>> +};
>> +
>> +const struct spi_nor_manufacturer spi_nor_fujitsu = {
>> + .name = "fujitsu",
>> + .parts = fujitsu_nor_parts,
>> + .nparts = ARRAY_SIZE(fujitsu_nor_parts),
>> +};
>> --
>> 2.54.0
> Thanks,
> Takahiro
>