From: <Tudor.Ambarus@microchip.com>
To: <geert@linux-m68k.org>, <jonas@norrbonn.se>
Cc: linux-renesas-soc@vger.kernel.org, linux-mtd@lists.infradead.org,
marek.vasut+renesas@gmail.com
Subject: Re: [PATCH v4 2/3] spi-nor: s25fl512s supports region locking
Date: Tue, 7 May 2019 13:18:08 +0000 [thread overview]
Message-ID: <eda4c8b2-2e10-6651-6c8e-e481c90fd1af@microchip.com> (raw)
In-Reply-To: <a9ad3641-1eb8-782c-9dfd-0db41256d3f1@microchip.com>
On 05/07/2019 04:15 PM, Tudor Ambarus wrote:
> Geert,
>
> On 05/07/2019 03:52 PM, Geert Uytterhoeven wrote:
>> External E-Mail
>>
>>
>> Hi Jonas,
>>
>> On Tue, May 7, 2019 at 1:14 PM Jonas Bonn <jonas@norrbonn.se> wrote:
>>> On 07/05/2019 12:50, Geert Uytterhoeven wrote:
>>>> On Tue, May 7, 2019 at 12:42 PM <Tudor.Ambarus@microchip.com> wrote:
>>>>> On 05/07/2019 12:53 PM, Geert Uytterhoeven wrote:
>>>>>> On Wed, Mar 20, 2019 at 8:16 AM Jonas Bonn <jonas@norrbonn.se> wrote:
>>>>>>> Both the BP[0-2] bits and the TBPROT bit are supported on this chip.
>>>>>>> Tested and verified on a Cypress s25fl512s.
>>>>>>>
>>>>>>> Signed-off-by: Jonas Bonn <jonas@norrbonn.se>
>>>>>>
>>>>>> This is now commit dcb4b22eeaf44f91 ("spi-nor: s25fl512s supports region
>>>>>> locking") in mtd/next.
>>>>>>
>>>>>>> --- a/drivers/mtd/spi-nor/spi-nor.c
>>>>>>> +++ b/drivers/mtd/spi-nor/spi-nor.c
>>>>>>> @@ -1898,7 +1898,9 @@ static const struct flash_info spi_nor_ids[] = {
>>>>>>> SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>>>>>>> { "s25fl256s0", INFO(0x010219, 0x4d00, 256 * 1024, 128, USE_CLSR) },
>>>>>>> { "s25fl256s1", INFO(0x010219, 0x4d01, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>>>>>>> - { "s25fl512s", INFO6(0x010220, 0x4d0080, 256 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>>>>>>> + { "s25fl512s", INFO6(0x010220, 0x4d0080, 256 * 1024, 256,
>>>>>>> + SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
>>>>>>> + SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | USE_CLSR) },
>>>>>>
>>>>>> Setting SPI_NOR_HAS_LOCK causes the QSPI FLASH on r8a7791/koelsch to fail
>>>>>> probing.
>>>>>>
>>>>>> Before/after:
>>>>>>
>>>>>> -m25p80 spi0.0: s25fl512s (65536 Kbytes)
>>>>>> -3 fixed-partitions partitions found on MTD device spi0.0
>>>>>> -Creating 3 MTD partitions on "spi0.0":
>>>>>> -0x000000000000-0x000000080000 : "loader"
>>>>>> -0x000000080000-0x000000600000 : "user"
>>>>>> -0x000000600000-0x000004000000 : "flash"
>>>>>> +m25p80 spi0.0: Erase Error occurred
>>>>>> +m25p80 spi0.0: Erase Error occurred
>>>>>> +m25p80 spi0.0: timeout while writing configuration register
>>>>>> +m25p80 spi0.0: quad mode not supported
>>>>>> +m25p80: probe of spi0.0 failed with error -5
>>>>>>
>>>
>>> In drivers/mtd/spi-nor/spi-nor.c you have:
>>>
>>> static int spi_nor_init(struct spi_nor *nor)
>>> {
>>> int err;
>>>
>>> /*
>>> * Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up
>>> * with the software protection bits set
>>> */
>>> if (JEDEC_MFR(nor->info) == SNOR_MFR_ATMEL ||
>>> JEDEC_MFR(nor->info) == SNOR_MFR_INTEL ||
>>> JEDEC_MFR(nor->info) == SNOR_MFR_SST ||
>>> nor->info->flags & SPI_NOR_HAS_LOCK) {
>>> write_enable(nor);
>>
>> With more debug prints:
>>
>> m25p80 spi0.0: spi_nor_init:3925: write_enable() returned 0
>>
>>> write_sr(nor, 0);
>>
>> m25p80 spi0.0: spi_nor_init:3927: write_sr() returned 0
>>
>>> spi_nor_wait_till_ready(nor);
>>
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> ...
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0xff
>> m25p80 spi0.0: Erase Error occurred
>> m25p80 spi0.0: spi_nor_init:3929: spi_nor_wait_till_ready() returned -5
>>
>>> }
>>>
>>> if (nor->quad_enable) {
>>> err = nor->quad_enable(nor);
>>
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0xff
>> m25p80 spi0.0: Erase Error occurred
>> m25p80 spi0.0: timeout while writing configuration register
>> m25p80 spi0.0: spi_nor_init:3937: spansion_quad_enable() returned -5
>>
>>> if (err) {
>>> dev_err(nor->dev, "quad mode not supported\n");
>>> return err;
>>> }
>>> }
>>>
>>> This is the only meaningful thing that I can see may have changed with
>>> this flag. We now have an additional write_enable before quad_enable.
>>> What happens if you swap those two blocks above so that quad_enable is
>>> called first?
>>
>> With the two blocks swapped:
>>
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x0
>> m25p80 spi0.0: spi_nor_init:3919: spansion_quad_enable() returned 0
>> m25p80 spi0.0: spi_nor_init:3937: write_enable() returned 0
>> m25p80 spi0.0: spi_nor_init:3939: write_sr() returned 0
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> ...
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0xff
>> m25p80 spi0.0: Erase Error occurred
>> m25p80 spi0.0: spi_nor_init:3941: spi_nor_wait_till_ready() returned -5
>> m25p80 spi0.0: s25fl512s (65536 Kbytes)
>> 3 fixed-partitions partitions found on MTD device spi0.0
>> Creating 3 MTD partitions on "spi0.0":
>> 0x000000000000-0x000000080000 : "loader"
>> 0x000000080000-0x000000600000 : "user"
>> 0x000000600000-0x000004000000 : "flash"
>>
>> Note that spi_nor_wait_till_ready() still fails.
>>
>> While the device (which contains the boot loader) now appears to be
>> detected fine, reading returns bogus repetitive data, for all partitions:
>>
>> # hd /dev/mtd0 | head
>> 00000000 33 33 33 33 33 33 33 33 33 33 3b bb ff ff ff ff
>> |3333333333;.....|
>> 00000010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>> |................|
>> *
>> 00001000 33 33 33 33 33 33 33 33 33 33 3b bb ff ff ff ff
>> |3333333333;.....|
>> 00001010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>> |................|
>> *
>>
>> If I remove the call to "write_sr(nor, 0)", everything works as
>> before, regardless
>> of swapping the blocks.
>>
>
> Can you try this one?
>
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index 73172d7f512b..b94a6eaaaca5 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -1551,6 +1551,7 @@ static int spansion_read_cr_quad_enable(struct spi_nor *nor)
> u8 sr_cr[2];
> int ret;
>
> + dev_err(dev, "%s\n", __FUNCTION__);
> /* Check current Quad Enable bit value. */
> ret = read_cr(nor);
> if (ret < 0) {
> @@ -3911,6 +3912,12 @@ static int spi_nor_setup(struct spi_nor *nor,
> static int spi_nor_init(struct spi_nor *nor)
> {
> int err;
> + u8 val;
> + u8 mask = SR_BP2 | SR_BP1 | SR_BP0;
> +
> + /* Check current Quad Enable bit value. */
> + val = read_cr(nor);
> + dev_err(nor->dev, "%s val = %02x\n", val);
dev_err(nor->dev, "%s val = %02x\n", __FUNCTION__, val);
>
> /*
> * Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up
> @@ -3921,7 +3928,7 @@ static int spi_nor_init(struct spi_nor *nor)
> JEDEC_MFR(nor->info) == SNOR_MFR_SST ||
> nor->info->flags & SPI_NOR_HAS_LOCK) {
> write_enable(nor);
> - write_sr(nor, 0);
> + write_sr(nor, val & ~mask);
> spi_nor_wait_till_ready(nor);
> }
>
>
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
WARNING: multiple messages have this Message-ID (diff)
From: <Tudor.Ambarus@microchip.com>
To: <geert@linux-m68k.org>, <jonas@norrbonn.se>
Cc: <linux-renesas-soc@vger.kernel.org>,
<marek.vasut+renesas@gmail.com>, <linux-mtd@lists.infradead.org>
Subject: Re: [PATCH v4 2/3] spi-nor: s25fl512s supports region locking
Date: Tue, 7 May 2019 13:18:08 +0000 [thread overview]
Message-ID: <eda4c8b2-2e10-6651-6c8e-e481c90fd1af@microchip.com> (raw)
In-Reply-To: <a9ad3641-1eb8-782c-9dfd-0db41256d3f1@microchip.com>
On 05/07/2019 04:15 PM, Tudor Ambarus wrote:
> Geert,
>
> On 05/07/2019 03:52 PM, Geert Uytterhoeven wrote:
>> External E-Mail
>>
>>
>> Hi Jonas,
>>
>> On Tue, May 7, 2019 at 1:14 PM Jonas Bonn <jonas@norrbonn.se> wrote:
>>> On 07/05/2019 12:50, Geert Uytterhoeven wrote:
>>>> On Tue, May 7, 2019 at 12:42 PM <Tudor.Ambarus@microchip.com> wrote:
>>>>> On 05/07/2019 12:53 PM, Geert Uytterhoeven wrote:
>>>>>> On Wed, Mar 20, 2019 at 8:16 AM Jonas Bonn <jonas@norrbonn.se> wrote:
>>>>>>> Both the BP[0-2] bits and the TBPROT bit are supported on this chip.
>>>>>>> Tested and verified on a Cypress s25fl512s.
>>>>>>>
>>>>>>> Signed-off-by: Jonas Bonn <jonas@norrbonn.se>
>>>>>>
>>>>>> This is now commit dcb4b22eeaf44f91 ("spi-nor: s25fl512s supports region
>>>>>> locking") in mtd/next.
>>>>>>
>>>>>>> --- a/drivers/mtd/spi-nor/spi-nor.c
>>>>>>> +++ b/drivers/mtd/spi-nor/spi-nor.c
>>>>>>> @@ -1898,7 +1898,9 @@ static const struct flash_info spi_nor_ids[] = {
>>>>>>> SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>>>>>>> { "s25fl256s0", INFO(0x010219, 0x4d00, 256 * 1024, 128, USE_CLSR) },
>>>>>>> { "s25fl256s1", INFO(0x010219, 0x4d01, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>>>>>>> - { "s25fl512s", INFO6(0x010220, 0x4d0080, 256 * 1024, 256, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | USE_CLSR) },
>>>>>>> + { "s25fl512s", INFO6(0x010220, 0x4d0080, 256 * 1024, 256,
>>>>>>> + SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
>>>>>>> + SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | USE_CLSR) },
>>>>>>
>>>>>> Setting SPI_NOR_HAS_LOCK causes the QSPI FLASH on r8a7791/koelsch to fail
>>>>>> probing.
>>>>>>
>>>>>> Before/after:
>>>>>>
>>>>>> -m25p80 spi0.0: s25fl512s (65536 Kbytes)
>>>>>> -3 fixed-partitions partitions found on MTD device spi0.0
>>>>>> -Creating 3 MTD partitions on "spi0.0":
>>>>>> -0x000000000000-0x000000080000 : "loader"
>>>>>> -0x000000080000-0x000000600000 : "user"
>>>>>> -0x000000600000-0x000004000000 : "flash"
>>>>>> +m25p80 spi0.0: Erase Error occurred
>>>>>> +m25p80 spi0.0: Erase Error occurred
>>>>>> +m25p80 spi0.0: timeout while writing configuration register
>>>>>> +m25p80 spi0.0: quad mode not supported
>>>>>> +m25p80: probe of spi0.0 failed with error -5
>>>>>>
>>>
>>> In drivers/mtd/spi-nor/spi-nor.c you have:
>>>
>>> static int spi_nor_init(struct spi_nor *nor)
>>> {
>>> int err;
>>>
>>> /*
>>> * Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up
>>> * with the software protection bits set
>>> */
>>> if (JEDEC_MFR(nor->info) == SNOR_MFR_ATMEL ||
>>> JEDEC_MFR(nor->info) == SNOR_MFR_INTEL ||
>>> JEDEC_MFR(nor->info) == SNOR_MFR_SST ||
>>> nor->info->flags & SPI_NOR_HAS_LOCK) {
>>> write_enable(nor);
>>
>> With more debug prints:
>>
>> m25p80 spi0.0: spi_nor_init:3925: write_enable() returned 0
>>
>>> write_sr(nor, 0);
>>
>> m25p80 spi0.0: spi_nor_init:3927: write_sr() returned 0
>>
>>> spi_nor_wait_till_ready(nor);
>>
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> ...
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0xff
>> m25p80 spi0.0: Erase Error occurred
>> m25p80 spi0.0: spi_nor_init:3929: spi_nor_wait_till_ready() returned -5
>>
>>> }
>>>
>>> if (nor->quad_enable) {
>>> err = nor->quad_enable(nor);
>>
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0xff
>> m25p80 spi0.0: Erase Error occurred
>> m25p80 spi0.0: timeout while writing configuration register
>> m25p80 spi0.0: spi_nor_init:3937: spansion_quad_enable() returned -5
>>
>>> if (err) {
>>> dev_err(nor->dev, "quad mode not supported\n");
>>> return err;
>>> }
>>> }
>>>
>>> This is the only meaningful thing that I can see may have changed with
>>> this flag. We now have an additional write_enable before quad_enable.
>>> What happens if you swap those two blocks above so that quad_enable is
>>> called first?
>>
>> With the two blocks swapped:
>>
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x0
>> m25p80 spi0.0: spi_nor_init:3919: spansion_quad_enable() returned 0
>> m25p80 spi0.0: spi_nor_init:3937: write_enable() returned 0
>> m25p80 spi0.0: spi_nor_init:3939: write_sr() returned 0
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0x3
>> ...
>> m25p80 spi0.0: spi_nor_sr_ready:533: sr = 0xff
>> m25p80 spi0.0: Erase Error occurred
>> m25p80 spi0.0: spi_nor_init:3941: spi_nor_wait_till_ready() returned -5
>> m25p80 spi0.0: s25fl512s (65536 Kbytes)
>> 3 fixed-partitions partitions found on MTD device spi0.0
>> Creating 3 MTD partitions on "spi0.0":
>> 0x000000000000-0x000000080000 : "loader"
>> 0x000000080000-0x000000600000 : "user"
>> 0x000000600000-0x000004000000 : "flash"
>>
>> Note that spi_nor_wait_till_ready() still fails.
>>
>> While the device (which contains the boot loader) now appears to be
>> detected fine, reading returns bogus repetitive data, for all partitions:
>>
>> # hd /dev/mtd0 | head
>> 00000000 33 33 33 33 33 33 33 33 33 33 3b bb ff ff ff ff
>> |3333333333;.....|
>> 00000010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>> |................|
>> *
>> 00001000 33 33 33 33 33 33 33 33 33 33 3b bb ff ff ff ff
>> |3333333333;.....|
>> 00001010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
>> |................|
>> *
>>
>> If I remove the call to "write_sr(nor, 0)", everything works as
>> before, regardless
>> of swapping the blocks.
>>
>
> Can you try this one?
>
> diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
> index 73172d7f512b..b94a6eaaaca5 100644
> --- a/drivers/mtd/spi-nor/spi-nor.c
> +++ b/drivers/mtd/spi-nor/spi-nor.c
> @@ -1551,6 +1551,7 @@ static int spansion_read_cr_quad_enable(struct spi_nor *nor)
> u8 sr_cr[2];
> int ret;
>
> + dev_err(dev, "%s\n", __FUNCTION__);
> /* Check current Quad Enable bit value. */
> ret = read_cr(nor);
> if (ret < 0) {
> @@ -3911,6 +3912,12 @@ static int spi_nor_setup(struct spi_nor *nor,
> static int spi_nor_init(struct spi_nor *nor)
> {
> int err;
> + u8 val;
> + u8 mask = SR_BP2 | SR_BP1 | SR_BP0;
> +
> + /* Check current Quad Enable bit value. */
> + val = read_cr(nor);
> + dev_err(nor->dev, "%s val = %02x\n", val);
dev_err(nor->dev, "%s val = %02x\n", __FUNCTION__, val);
>
> /*
> * Atmel, SST, Intel/Numonyx, and others serial NOR tend to power up
> @@ -3921,7 +3928,7 @@ static int spi_nor_init(struct spi_nor *nor)
> JEDEC_MFR(nor->info) == SNOR_MFR_SST ||
> nor->info->flags & SPI_NOR_HAS_LOCK) {
> write_enable(nor);
> - write_sr(nor, 0);
> + write_sr(nor, val & ~mask);
> spi_nor_wait_till_ready(nor);
> }
>
>
next prev parent reply other threads:[~2019-05-07 13:18 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-20 7:16 [PATCH v4 0/3] spi-nor block protection Jonas Bonn
2019-03-20 7:16 ` [PATCH v4 1/3] spi-nor: always respect write-protect input Jonas Bonn
2019-03-20 7:16 ` [PATCH v4 2/3] spi-nor: s25fl512s supports region locking Jonas Bonn
2019-03-20 7:39 ` Tudor.Ambarus
2019-03-21 16:48 ` Tudor.Ambarus
2019-05-07 9:53 ` Geert Uytterhoeven
2019-05-07 9:53 ` Geert Uytterhoeven
2019-05-07 10:42 ` Tudor.Ambarus
2019-05-07 10:42 ` Tudor.Ambarus
2019-05-07 10:50 ` Geert Uytterhoeven
2019-05-07 10:50 ` Geert Uytterhoeven
2019-05-07 11:13 ` Jonas Bonn
2019-05-07 11:13 ` Jonas Bonn
2019-05-07 12:52 ` Geert Uytterhoeven
2019-05-07 12:52 ` Geert Uytterhoeven
2019-05-07 13:15 ` Tudor.Ambarus
2019-05-07 13:15 ` Tudor.Ambarus
2019-05-07 13:18 ` Tudor.Ambarus [this message]
2019-05-07 13:18 ` Tudor.Ambarus
2019-05-07 13:25 ` Tudor.Ambarus
2019-05-07 13:25 ` Tudor.Ambarus
2019-05-07 14:33 ` Geert Uytterhoeven
2019-05-07 14:33 ` Geert Uytterhoeven
2019-05-08 10:44 ` Tudor.Ambarus
2019-05-08 10:44 ` Tudor.Ambarus
2019-05-08 13:11 ` Geert Uytterhoeven
2019-05-08 13:11 ` Geert Uytterhoeven
2019-05-08 14:23 ` Tudor.Ambarus
2019-05-08 14:23 ` Tudor.Ambarus
2019-05-08 17:00 ` Geert Uytterhoeven
2019-05-08 17:00 ` Geert Uytterhoeven
2019-05-09 6:55 ` Tudor.Ambarus
2019-05-09 6:55 ` Tudor.Ambarus
2019-05-09 9:11 ` Geert Uytterhoeven
2019-05-09 9:11 ` Geert Uytterhoeven
2019-05-09 10:31 ` Tudor.Ambarus
2019-05-09 10:31 ` Tudor.Ambarus
2019-05-09 11:12 ` Geert Uytterhoeven
2019-05-09 11:12 ` Geert Uytterhoeven
2019-05-22 15:49 ` Tudor.Ambarus
2019-05-22 15:49 ` Tudor.Ambarus
2019-06-10 6:24 ` [PATCH] mtd: spi-nor: use 16-bit WRR command when QE is set on spansion flashes Tudor.Ambarus
2019-06-10 6:24 ` Tudor.Ambarus
2019-06-10 9:28 ` Jonas Bonn
2019-06-10 9:28 ` Jonas Bonn
2019-06-11 8:35 ` Geert Uytterhoeven
2019-06-11 8:35 ` Geert Uytterhoeven
2019-06-19 15:47 ` Tudor.Ambarus
2019-06-19 15:47 ` Tudor.Ambarus
2019-06-19 17:26 ` [PATCH v2 1/2] " Tudor.Ambarus
2019-06-19 17:26 ` Tudor.Ambarus
2019-06-19 17:26 ` [PATCH v2 2/2] mtd: spi-nor: fix description for int (*flash_is_locked)() Tudor.Ambarus
2019-06-19 17:26 ` Tudor.Ambarus
2019-06-19 18:51 ` [PATCH] mtd: spi-nor: use 16-bit WRR command when QE is set on spansion flashes Geert Uytterhoeven
2019-06-19 18:51 ` Geert Uytterhoeven
2019-06-12 16:46 ` Vignesh Raghavendra
2019-06-12 16:46 ` Vignesh Raghavendra
2019-05-09 15:57 ` [PATCH v4 2/3] spi-nor: s25fl512s supports region locking Vignesh Raghavendra
2019-05-09 15:57 ` Vignesh Raghavendra
2019-03-20 7:16 ` [PATCH v4 3/3] spi-nor: allow setting the BPNV (default locked) bit Jonas Bonn
2019-04-02 5:27 ` Vignesh Raghavendra
2019-05-01 4:42 ` [PATCH v5 1/1] spi-nor: allow setting the BPNV (powerup lock) bit Jonas Bonn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=eda4c8b2-2e10-6651-6c8e-e481c90fd1af@microchip.com \
--to=tudor.ambarus@microchip.com \
--cc=geert@linux-m68k.org \
--cc=jonas@norrbonn.se \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=marek.vasut+renesas@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.