Re: [PATCH] mtd: spi-nor: macronix: enable 4-bit BP support for MX25L6405D

From: Sieng Piaw Liew
Date: Mon Dec 07 2020 - 20:20:30 EST


On Mon, Dec 07, 2020 at 05:53:20PM +0000, Tudor.Ambarus@xxxxxxxxxxxxx wrote:
> Hi, Sieng,
>
> On 12/7/20 4:46 AM, Sieng Piaw Liew wrote:
> > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >
> > Enable 4-bit Block Protect support for MX256405D and its variants using
> > the same ID.
> >
> > Tested on Innacom W3400V6 router with MX25L6406E chip.
>
> :) What kind of tests did you exactly make?

OpenWrt cannot write into spi-nor after first boot.
After hacking 4-bit BP support into OpenWrt's kernel v5.4, writing works.

>
> > https://github.com/openwrt/openwrt/pull/3501
> >
> > Signed-off-by: Sieng Piaw Liew <liew.s.piaw@xxxxxxxxx>
> > ---
> > drivers/mtd/spi-nor/macronix.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/mtd/spi-nor/macronix.c b/drivers/mtd/spi-nor/macronix.c
> > index 9203abaac229..7aa8b1ee9daa 100644
> > --- a/drivers/mtd/spi-nor/macronix.c
> > +++ b/drivers/mtd/spi-nor/macronix.c
> > @@ -42,7 +42,8 @@ static const struct flash_info macronix_parts[] = {
> > { "mx25l1606e", INFO(0xc22015, 0, 64 * 1024, 32, SECT_4K) },
> > { "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, SECT_4K) },
> > { "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) },
> > - { "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) },
> > + { "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128,
> > + SECT_4K | SPI_NOR_4BIT_BP) },
>
> I assume this won't work because it misses the SPI_NOR_HAS_LOCK flag.
>
> Cheers,
> ta

Yes, I'll have v2 patch sent shortly.

>
> > { "mx25u2033e", INFO(0xc22532, 0, 64 * 1024, 4, SECT_4K) },
> > { "mx25u3235f", INFO(0xc22536, 0, 64 * 1024, 64,
> > SECT_4K | SPI_NOR_DUAL_READ |
> > --
> > 2.17.1
> >
>