[PATCH v2 0/2] Add fixups for two-plane serial NAND flash

Cheng Ming Lin linchengming884 at gmail.com
Mon Aug 12 23:02:44 PDT 2024


Hi Miquel,

Miquel Raynal <miquel.raynal at bootlin.com> 於 2024年8月12日 週一 下午4:56寫道:
>
> Hi Cheng,
>
> linchengming884 at gmail.com wrote on Thu, 18 Jul 2024 15:53:54 +0800:
>
> > From: Cheng Ming Lin <chengminglin at mxic.com.tw>
> >
> > Macronix serial NAND flash with a two-plane structure
> > requires insertion of Plane Select bit into the column
> > address during the write_to_cache operation.
> >
> > Additionally, for MX35{U,F}2G14AC, insertion of Plane
> > Select bit into the column address is required during
> > the read_from_cache operation.
>
> I guess if the plane bit is needed for your chips, it is also needed
> for other whips with two planes? Could it be possible that we never had
> support for devices with more than one plane and you just fall into a
> common issue? Maybe we should always add the plane information when
> there is more than one plane to address? Can you check whether this is
> specific to Macronix or not?
>

I have reviewed the chips listed by each vendor.

Micron offers MT29F2G01AB{A,B}GD, MT29F2G01AAAED with two planes;
however, only MT29F2G01AAAED requires the plane select bit when performing
program load or read from cache.

Link: https://semiconductors.es/pdf-down/M/T/2/MT29F2G01AAAED-MicronTechnology.pdf

Winbond provides W25N04KV with two planes, but it does not require the plane
select bit for program load or cache read operations.

Therefore, we should not always include the plane select bit when dealing with
multiple planes.

> In this case we wouldn't need a specific fixup.
>

Based on the above perspective, do we still need to use fixup, or can we use
flags to determine whether the plane select bit is necessary?

> >
> > These flashes have been validated on Xilinx zynq-picozed
> > board which included Macronix SPI Host.
> >
> > Cheng Ming Lin (2):
> >   mtd: spinand: Add fixups for spinand
> >   mtd: spinand: macronix: Fixups for Plane Select bit
> >
> >  drivers/mtd/nand/spi/core.c     |  7 ++++
> >  drivers/mtd/nand/spi/macronix.c | 66 ++++++++++++++++++++++++++++++---
> >  include/linux/mtd/spinand.h     | 17 +++++++++
> >  3 files changed, 84 insertions(+), 6 deletions(-)
> >
>
>
> Thanks,
> Miquèl

Thanks,
ChengMing Lin



More information about the linux-mtd mailing list