diff mbox

[U-Boot,v6,21/21] sf: Fix s25fs512s id param table

Message ID 1479268992-26811-22-git-send-email-jagan@openedev.com
State Superseded
Delegated to: Jagannadha Sutradharudu Teki
Headers show

Commit Message

Jagan Teki Nov. 16, 2016, 4:03 a.m. UTC
s25fs512s and s25fl512s_256k have common id information
till 5 bytes and 6th byte have different family id
like FS and FL-S as 0x81 and 0x80.

Reported-by: Vignesh R <vigneshr@ti.com>
Signed-off-by: Jagan Teki <jagan@openedev.com>
---
 drivers/mtd/spi/spi_flash_ids.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Siva Durga Prasad Paladugu Nov. 16, 2016, 7:02 a.m. UTC | #1
Hi,

> -----Original Message-----
> From: U-Boot [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Jagan Teki
> Sent: Wednesday, November 16, 2016 9:33 AM
> To: u-boot@lists.denx.de
> Cc: Jagan Teki <jagan@openedev.com>
> Subject: [U-Boot] [PATCH v6 21/21] sf: Fix s25fs512s id param table
> 
> s25fs512s and s25fl512s_256k have common id information till 5 bytes and
> 6th byte have different family id like FS and FL-S as 0x81 and 0x80.
> 
> Reported-by: Vignesh R <vigneshr@ti.com>
> Signed-off-by: Jagan Teki <jagan@openedev.com>
> ---
>  drivers/mtd/spi/spi_flash_ids.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/spi/spi_flash_ids.c b/drivers/mtd/spi/spi_flash_ids.c
> index 4ec2255..8f9520f 100644
> --- a/drivers/mtd/spi/spi_flash_ids.c
> +++ b/drivers/mtd/spi/spi_flash_ids.c
> @@ -99,7 +99,7 @@ const struct spi_flash_info spi_flash_ids[] = {
>  	{"s25fl256s_256k", INFO(0x010219, 0x4d00, 256 * 1024,   128,
> RD_FULL | WR_QPP) },
>  	{"s25fl256s_64k",  INFO(0x010219, 0x4d01,  64 * 1024,   512, RD_FULL
> | WR_QPP) },
>  	{"s25fs256s_64k",  INFO6(0x010219, 0x4d0181, 64 * 1024, 512,
> RD_FULL | WR_QPP | SECT_4K) },
> -	{"s25fs512s",      INFO(0x010220, 0x4d00, 128 * 1024,   512, RD_FULL |
> WR_QPP) },
> +	{"s25fs512s",      INFO6(0x010220, 0x4d0081, 128 * 1024,   512,
> RD_FULL | WR_QPP) },

As I said in my earlier comments, Please add SECT_4K, otherwise it will be broken.

Thanks,
Siva
>  	{"s25fl512s_256k", INFO(0x010220, 0x4d00, 256 * 1024,   256,
> RD_FULL | WR_QPP) },
>  	{"s25fl512s_64k",  INFO(0x010220, 0x4d01,  64 * 1024,  1024, RD_FULL
> | WR_QPP) },
>  	{"s25fl512s_512k", INFO(0x010220, 0x4f00, 256 * 1024,   256, RD_FULL
> | WR_QPP) },
> --
> 1.9.1
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
Jagan Teki Nov. 16, 2016, 12:45 p.m. UTC | #2
On Wed, Nov 16, 2016 at 12:32 PM, Siva Durga Prasad Paladugu
<siva.durga.paladugu@xilinx.com> wrote:
> Hi,
>
>> -----Original Message-----
>> From: U-Boot [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Jagan Teki
>> Sent: Wednesday, November 16, 2016 9:33 AM
>> To: u-boot@lists.denx.de
>> Cc: Jagan Teki <jagan@openedev.com>
>> Subject: [U-Boot] [PATCH v6 21/21] sf: Fix s25fs512s id param table
>>
>> s25fs512s and s25fl512s_256k have common id information till 5 bytes and
>> 6th byte have different family id like FS and FL-S as 0x81 and 0x80.
>>
>> Reported-by: Vignesh R <vigneshr@ti.com>
>> Signed-off-by: Jagan Teki <jagan@openedev.com>
>> ---
>>  drivers/mtd/spi/spi_flash_ids.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/mtd/spi/spi_flash_ids.c b/drivers/mtd/spi/spi_flash_ids.c
>> index 4ec2255..8f9520f 100644
>> --- a/drivers/mtd/spi/spi_flash_ids.c
>> +++ b/drivers/mtd/spi/spi_flash_ids.c
>> @@ -99,7 +99,7 @@ const struct spi_flash_info spi_flash_ids[] = {
>>       {"s25fl256s_256k", INFO(0x010219, 0x4d00, 256 * 1024,   128,
>> RD_FULL | WR_QPP) },
>>       {"s25fl256s_64k",  INFO(0x010219, 0x4d01,  64 * 1024,   512, RD_FULL
>> | WR_QPP) },
>>       {"s25fs256s_64k",  INFO6(0x010219, 0x4d0181, 64 * 1024, 512,
>> RD_FULL | WR_QPP | SECT_4K) },
>> -     {"s25fs512s",      INFO(0x010220, 0x4d00, 128 * 1024,   512, RD_FULL |
>> WR_QPP) },
>> +     {"s25fs512s",      INFO6(0x010220, 0x4d0081, 128 * 1024,   512,
>> RD_FULL | WR_QPP) },
>
> As I said in my earlier comments, Please add SECT_4K, otherwise it will be broken.

If SECT_4K need then it should be an existing issue, but Vignesh R
tested this already. Vignesh any comment?

thanks!
Siva Durga Prasad Paladugu Nov. 16, 2016, 1:04 p.m. UTC | #3
Hi,

> -----Original Message-----
> From: Jagan Teki [mailto:jagan@openedev.com]
> Sent: Wednesday, November 16, 2016 6:15 PM
> To: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
> Cc: u-boot@lists.denx.de; Vignesh R <vigneshr@ti.com>
> Subject: Re: [U-Boot] [PATCH v6 21/21] sf: Fix s25fs512s id param table
> 
> On Wed, Nov 16, 2016 at 12:32 PM, Siva Durga Prasad Paladugu
> <siva.durga.paladugu@xilinx.com> wrote:
> > Hi,
> >
> >> -----Original Message-----
> >> From: U-Boot [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Jagan
> >> Teki
> >> Sent: Wednesday, November 16, 2016 9:33 AM
> >> To: u-boot@lists.denx.de
> >> Cc: Jagan Teki <jagan@openedev.com>
> >> Subject: [U-Boot] [PATCH v6 21/21] sf: Fix s25fs512s id param table
> >>
> >> s25fs512s and s25fl512s_256k have common id information till 5 bytes
> >> and 6th byte have different family id like FS and FL-S as 0x81 and 0x80.
> >>
> >> Reported-by: Vignesh R <vigneshr@ti.com>
> >> Signed-off-by: Jagan Teki <jagan@openedev.com>
> >> ---
> >>  drivers/mtd/spi/spi_flash_ids.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/mtd/spi/spi_flash_ids.c
> >> b/drivers/mtd/spi/spi_flash_ids.c index 4ec2255..8f9520f 100644
> >> --- a/drivers/mtd/spi/spi_flash_ids.c
> >> +++ b/drivers/mtd/spi/spi_flash_ids.c
> >> @@ -99,7 +99,7 @@ const struct spi_flash_info spi_flash_ids[] = {
> >>       {"s25fl256s_256k", INFO(0x010219, 0x4d00, 256 * 1024,   128,
> >> RD_FULL | WR_QPP) },
> >>       {"s25fl256s_64k",  INFO(0x010219, 0x4d01,  64 * 1024,   512, RD_FULL
> >> | WR_QPP) },
> >>       {"s25fs256s_64k",  INFO6(0x010219, 0x4d0181, 64 * 1024, 512,
> >> RD_FULL | WR_QPP | SECT_4K) },
> >> -     {"s25fs512s",      INFO(0x010220, 0x4d00, 128 * 1024,   512, RD_FULL |
> >> WR_QPP) },
> >> +     {"s25fs512s",      INFO6(0x010220, 0x4d0081, 128 * 1024,   512,
> >> RD_FULL | WR_QPP) },
> >
> > As I said in my earlier comments, Please add SECT_4K, otherwise it will be
> broken.
> 
> If SECT_4K need then it should be an existing issue, but Vignesh R tested this
> already. Vignesh any comment?
No, previously, you are disabling 4K sector erase using spansion_s25fss_disable_4KB_erase() routine and
making the device as uniform sector size and hence I think no issues previously without 4k erase commands.
But now, as you removed it(spansion_s25fss_disable_4KB_erase() ) in 10/21, normal sector erase command may not work on top/bottom sectors with 4k sector size
and it may fail now.

Thanks,
Siva
> 
> thanks!
> --
> Jagan Teki
> Free Software Engineer | www.openedev.com U-Boot, Linux | Upstream
> Maintainer Hyderabad, India.
Jagan Teki Nov. 16, 2016, 1:47 p.m. UTC | #4
On Wed, Nov 16, 2016 at 6:34 PM, Siva Durga Prasad Paladugu
<siva.durga.paladugu@xilinx.com> wrote:
> Hi,
>
>> -----Original Message-----
>> From: Jagan Teki [mailto:jagan@openedev.com]
>> Sent: Wednesday, November 16, 2016 6:15 PM
>> To: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
>> Cc: u-boot@lists.denx.de; Vignesh R <vigneshr@ti.com>
>> Subject: Re: [U-Boot] [PATCH v6 21/21] sf: Fix s25fs512s id param table
>>
>> On Wed, Nov 16, 2016 at 12:32 PM, Siva Durga Prasad Paladugu
>> <siva.durga.paladugu@xilinx.com> wrote:
>> > Hi,
>> >
>> >> -----Original Message-----
>> >> From: U-Boot [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Jagan
>> >> Teki
>> >> Sent: Wednesday, November 16, 2016 9:33 AM
>> >> To: u-boot@lists.denx.de
>> >> Cc: Jagan Teki <jagan@openedev.com>
>> >> Subject: [U-Boot] [PATCH v6 21/21] sf: Fix s25fs512s id param table
>> >>
>> >> s25fs512s and s25fl512s_256k have common id information till 5 bytes
>> >> and 6th byte have different family id like FS and FL-S as 0x81 and 0x80.
>> >>
>> >> Reported-by: Vignesh R <vigneshr@ti.com>
>> >> Signed-off-by: Jagan Teki <jagan@openedev.com>
>> >> ---
>> >>  drivers/mtd/spi/spi_flash_ids.c | 2 +-
>> >>  1 file changed, 1 insertion(+), 1 deletion(-)
>> >>
>> >> diff --git a/drivers/mtd/spi/spi_flash_ids.c
>> >> b/drivers/mtd/spi/spi_flash_ids.c index 4ec2255..8f9520f 100644
>> >> --- a/drivers/mtd/spi/spi_flash_ids.c
>> >> +++ b/drivers/mtd/spi/spi_flash_ids.c
>> >> @@ -99,7 +99,7 @@ const struct spi_flash_info spi_flash_ids[] = {
>> >>       {"s25fl256s_256k", INFO(0x010219, 0x4d00, 256 * 1024,   128,
>> >> RD_FULL | WR_QPP) },
>> >>       {"s25fl256s_64k",  INFO(0x010219, 0x4d01,  64 * 1024,   512, RD_FULL
>> >> | WR_QPP) },
>> >>       {"s25fs256s_64k",  INFO6(0x010219, 0x4d0181, 64 * 1024, 512,
>> >> RD_FULL | WR_QPP | SECT_4K) },
>> >> -     {"s25fs512s",      INFO(0x010220, 0x4d00, 128 * 1024,   512, RD_FULL |
>> >> WR_QPP) },
>> >> +     {"s25fs512s",      INFO6(0x010220, 0x4d0081, 128 * 1024,   512,
>> >> RD_FULL | WR_QPP) },
>> >
>> > As I said in my earlier comments, Please add SECT_4K, otherwise it will be
>> broken.
>>
>> If SECT_4K need then it should be an existing issue, but Vignesh R tested this
>> already. Vignesh any comment?
> No, previously, you are disabling 4K sector erase using spansion_s25fss_disable_4KB_erase() routine and
> making the device as uniform sector size and hence I think no issues previously without 4k erase commands.
> But now, as you removed it(spansion_s25fss_disable_4KB_erase() ) in 10/21, normal sector erase command may not work on top/bottom sectors with 4k sector size
> and it may fail now.

OK, Wait for Vignesh test will update that fix as well.

thanks!
Jagan Teki Nov. 16, 2016, 6 p.m. UTC | #5
On Wed, Nov 16, 2016 at 7:17 PM, Jagan Teki <jagan@openedev.com> wrote:
> On Wed, Nov 16, 2016 at 6:34 PM, Siva Durga Prasad Paladugu
> <siva.durga.paladugu@xilinx.com> wrote:
>> Hi,
>>
>>> -----Original Message-----
>>> From: Jagan Teki [mailto:jagan@openedev.com]
>>> Sent: Wednesday, November 16, 2016 6:15 PM
>>> To: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
>>> Cc: u-boot@lists.denx.de; Vignesh R <vigneshr@ti.com>
>>> Subject: Re: [U-Boot] [PATCH v6 21/21] sf: Fix s25fs512s id param table
>>>
>>> On Wed, Nov 16, 2016 at 12:32 PM, Siva Durga Prasad Paladugu
>>> <siva.durga.paladugu@xilinx.com> wrote:
>>> > Hi,
>>> >
>>> >> -----Original Message-----
>>> >> From: U-Boot [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Jagan
>>> >> Teki
>>> >> Sent: Wednesday, November 16, 2016 9:33 AM
>>> >> To: u-boot@lists.denx.de
>>> >> Cc: Jagan Teki <jagan@openedev.com>
>>> >> Subject: [U-Boot] [PATCH v6 21/21] sf: Fix s25fs512s id param table
>>> >>
>>> >> s25fs512s and s25fl512s_256k have common id information till 5 bytes
>>> >> and 6th byte have different family id like FS and FL-S as 0x81 and 0x80.
>>> >>
>>> >> Reported-by: Vignesh R <vigneshr@ti.com>
>>> >> Signed-off-by: Jagan Teki <jagan@openedev.com>
>>> >> ---
>>> >>  drivers/mtd/spi/spi_flash_ids.c | 2 +-
>>> >>  1 file changed, 1 insertion(+), 1 deletion(-)
>>> >>
>>> >> diff --git a/drivers/mtd/spi/spi_flash_ids.c
>>> >> b/drivers/mtd/spi/spi_flash_ids.c index 4ec2255..8f9520f 100644
>>> >> --- a/drivers/mtd/spi/spi_flash_ids.c
>>> >> +++ b/drivers/mtd/spi/spi_flash_ids.c
>>> >> @@ -99,7 +99,7 @@ const struct spi_flash_info spi_flash_ids[] = {
>>> >>       {"s25fl256s_256k", INFO(0x010219, 0x4d00, 256 * 1024,   128,
>>> >> RD_FULL | WR_QPP) },
>>> >>       {"s25fl256s_64k",  INFO(0x010219, 0x4d01,  64 * 1024,   512, RD_FULL
>>> >> | WR_QPP) },
>>> >>       {"s25fs256s_64k",  INFO6(0x010219, 0x4d0181, 64 * 1024, 512,
>>> >> RD_FULL | WR_QPP | SECT_4K) },
>>> >> -     {"s25fs512s",      INFO(0x010220, 0x4d00, 128 * 1024,   512, RD_FULL |
>>> >> WR_QPP) },
>>> >> +     {"s25fs512s",      INFO6(0x010220, 0x4d0081, 128 * 1024,   512,
>>> >> RD_FULL | WR_QPP) },
>>> >
>>> > As I said in my earlier comments, Please add SECT_4K, otherwise it will be
>>> broken.
>>>
>>> If SECT_4K need then it should be an existing issue, but Vignesh R tested this
>>> already. Vignesh any comment?
>> No, previously, you are disabling 4K sector erase using spansion_s25fss_disable_4KB_erase() routine and
>> making the device as uniform sector size and hence I think no issues previously without 4k erase commands.
>> But now, as you removed it(spansion_s25fss_disable_4KB_erase() ) in 10/21, normal sector erase command may not work on top/bottom sectors with 4k sector size
>> and it may fail now.
>

True, I will add SECT_4K on "sf: Remove legacy idcode detection code"
patch to make sure this shouldn't break the s25fs512s.

thanks!
Raghavendra, Vignesh Nov. 17, 2016, 3:57 a.m. UTC | #6
On Wednesday 16 November 2016 07:17 PM, Jagan Teki wrote:
> On Wed, Nov 16, 2016 at 6:34 PM, Siva Durga Prasad Paladugu
[...]
>>>>> diff --git a/drivers/mtd/spi/spi_flash_ids.c
>>>>> b/drivers/mtd/spi/spi_flash_ids.c index 4ec2255..8f9520f 100644
>>>>> --- a/drivers/mtd/spi/spi_flash_ids.c
>>>>> +++ b/drivers/mtd/spi/spi_flash_ids.c
>>>>> @@ -99,7 +99,7 @@ const struct spi_flash_info spi_flash_ids[] = {
>>>>>       {"s25fl256s_256k", INFO(0x010219, 0x4d00, 256 * 1024,   128,
>>>>> RD_FULL | WR_QPP) },
>>>>>       {"s25fl256s_64k",  INFO(0x010219, 0x4d01,  64 * 1024,   512, RD_FULL
>>>>> | WR_QPP) },
>>>>>       {"s25fs256s_64k",  INFO6(0x010219, 0x4d0181, 64 * 1024, 512,
>>>>> RD_FULL | WR_QPP | SECT_4K) },
>>>>> -     {"s25fs512s",      INFO(0x010220, 0x4d00, 128 * 1024,   512, RD_FULL |
>>>>> WR_QPP) },
>>>>> +     {"s25fs512s",      INFO6(0x010220, 0x4d0081, 128 * 1024,   512,
>>>>> RD_FULL | WR_QPP) },
>>>>
>>>> As I said in my earlier comments, Please add SECT_4K, otherwise it will be
>>> broken.
>>>
>>> If SECT_4K need then it should be an existing issue, but Vignesh R tested this
>>> already. Vignesh any comment?

No, I gave my Tested-by for s25fl512s and not for s25fs series. Before
this patch, s25fl512s was detected as s25fs512s and flash writes used to
fail on s25fl512s.  After this patch, s25fl512s is detected correctly
and flash writes are fine.

>> No, previously, you are disabling 4K sector erase using spansion_s25fss_disable_4KB_erase() routine and
>> making the device as uniform sector size and hence I think no issues previously without 4k erase commands.
>> But now, as you removed it(spansion_s25fss_disable_4KB_erase() ) in 10/21, normal sector erase command may not work on top/bottom sectors with 4k sector size
>> and it may fail now.
> 
> OK, Wait for Vignesh test will update that fix as well.
> 
> thanks!
>
diff mbox

Patch

diff --git a/drivers/mtd/spi/spi_flash_ids.c b/drivers/mtd/spi/spi_flash_ids.c
index 4ec2255..8f9520f 100644
--- a/drivers/mtd/spi/spi_flash_ids.c
+++ b/drivers/mtd/spi/spi_flash_ids.c
@@ -99,7 +99,7 @@  const struct spi_flash_info spi_flash_ids[] = {
 	{"s25fl256s_256k", INFO(0x010219, 0x4d00, 256 * 1024,   128, RD_FULL | WR_QPP) },
 	{"s25fl256s_64k",  INFO(0x010219, 0x4d01,  64 * 1024,   512, RD_FULL | WR_QPP) },
 	{"s25fs256s_64k",  INFO6(0x010219, 0x4d0181, 64 * 1024, 512, RD_FULL | WR_QPP | SECT_4K) },
-	{"s25fs512s",      INFO(0x010220, 0x4d00, 128 * 1024,   512, RD_FULL | WR_QPP) },
+	{"s25fs512s",      INFO6(0x010220, 0x4d0081, 128 * 1024,   512, RD_FULL | WR_QPP) },
 	{"s25fl512s_256k", INFO(0x010220, 0x4d00, 256 * 1024,   256, RD_FULL | WR_QPP) },
 	{"s25fl512s_64k",  INFO(0x010220, 0x4d01,  64 * 1024,  1024, RD_FULL | WR_QPP) },
 	{"s25fl512s_512k", INFO(0x010220, 0x4f00, 256 * 1024,   256, RD_FULL | WR_QPP) },