Re: flash_lock issue for n25q 128mb spi nor part

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/12/2019 12:27, Tudor.Ambarus@xxxxxxxxxxxxx wrote:


On 12/3/19 2:05 PM, Tudor.Ambarus@xxxxxxxxxxxxx wrote:
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index f4afe123e9dc..f1490c7b5cb9 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -1033,10 +1033,19 @@ static int spi_nor_write_16bit_sr_and_check(struct spi_nor *nor, u8 sr1)

         sr_cr[0] = sr1;

+       dev_err(nor->dev, "before write: sr_cr[0] = %02x, sr_cr[1] = %02x\n",
+               sr_cr[0], sr_cr[1]);
+
         ret = spi_nor_write_sr(nor, sr_cr, 2);
         if (ret)
                 return ret;

+       ret = spi_nor_read_sr(nor, &sr_cr[0]);
+       if (ret)
+               return ret;
+
+       dev_err(nor->dev, "read back sr1: sr_cr[0] = %02x\n", sr_cr[0]);
+
         if (nor->flags & SNOR_F_NO_READ_CR)
                 return 0;

@@ -1046,6 +1055,8 @@ static int spi_nor_write_16bit_sr_and_check(struct spi_nor *nor, u8 sr1)
         if (ret)
                 return ret;

+       dev_err(nor->dev, "read back sr2: sr_cr[1] = %02x\n", sr_cr[1]);
+
         if (cr_written != sr_cr[1]) {
                 dev_dbg(nor->dev, "CR: read back test failed\

On n25q256a I obtain:

root@sama5d2-xplained-sd:~# flash_lock -l /dev/mtd1
spi-nor spi1.0: before write: sr_cr[0] = 9e, sr_cr[1] = ff
spi-nor spi1.0: read back sr1: sr_cr[0] = 02
spi-nor spi1.0: read back sr2: sr_cr[1] = ff


So here is what I get:

root@ubuntu:/home/john# flash_lock -l /dev/mtd0
[ 109.037492] spi-nor spi-PRP0001:00: before write: sr_cr[0] = 9e, sr_cr[1] = 00
[  109.044769] spi-nor spi-PRP0001:00: read back sr1: sr_cr[0] = 02
[  109.050790] spi-nor spi-PRP0001:00: read back sr2: sr_cr[1] = 00


the 16 bit write SR does not execute correctly and the WE remains set. If
neither of the micron flashes do not support the 16 bit write SR, we can add a
condition based on MFR. Let me check few datasheets.


OK, thanks.

John


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux