Re: [PATCH] mtd: spi-nor: Add 4B_OPCODES flag to n25q256a

From: Daniel Walker (danielwa)
Date: Tue Apr 21 2020 - 12:24:23 EST


On Tue, Apr 21, 2020 at 04:52:01AM +0000, Tudor.Ambarus@xxxxxxxxxxxxx wrote:
> On Monday, April 20, 2020 7:25:51 PM EEST Daniel Walker (danielwa) wrote:
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know the
> > content is safe
> > On Mon, Apr 20, 2020 at 03:45:59PM +0000, Tudor.Ambarus@xxxxxxxxxxxxx wrote:
> > > Hi, Daniel,
> > >
> > > On Friday, April 17, 2020 8:46:19 PM EEST Daniel Walker wrote:
> > > > EXTERNAL EMAIL: Do not click links or open attachments unless you know
> > > > the
> > > > content is safe
> > > >
> > > > The n25q256a supports 4-byte opcodes so lets add the flag.
> > >
> > > This is not true for all the n25q256a flashes. SPINOR_OP_PP_4B,
> > > SPINOR_OP_BE_4K_4B and SPINOR_OP_SE_4B are valid just for the part numbers
> > > N25Q256A83ESF40x, N25Q256A83E1240x, and N25Q256A83ESFA0F.
> > >
> > > You need to differentiate between the aforementioned flashes and the rest
> > > in the n25q256a, in order to add the 4-byte opcodes flag.
> >
> > How do you suggest I do that ? Can I add a new entry into this table with
> > more specific information about the chips ?
> >
>
> We need to find a differentiator at runtime. If we are lucky, there might be
> some SFDP changes between the 4-byte opcodes capable flashes and the rest.
> Please dump all the sfdp tables, we can start from there. There's a thread
> that might interest you, see http://u-boot.10912.n7.nabble.com/Regressions-in-MTD-SPI-FLASH-td382956.html#a383126.

The thread seems to indicate that it's not easy to identify the chips which
support this.

Inside our device tree we identify that our flash is compatible with,
compatible = "jedec,spi-nor";

Would it make sense to add further identification of the chips into the device
tree, or allow some level of control over the SPI_NOR_4B_OPCODES flag into the
device tree. Since it would seems identification of the chips is not trivial.

> A more elegant way to solve it, is by parsing the 4bait sfdp table, but I
> haven't checked if this flash supports it or not. Anyway, not something that
> we can control, the manufacturer should add it.

We can investigate, our hardware team is claiming the only way to know if
physically reading what's on the chip.

Daniel