[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3fe68154-5d1e-a395-4c53-d8e806b2cc6d@ti.com>
Date: Mon, 24 Jun 2019 15:04:49 +0530
From: Vignesh Raghavendra <vigneshr@...com>
To: Sagar Kadam <sagar.kadam@...ive.com>
CC: <marek.vasut@...il.com>, <tudor.ambarus@...rochip.com>,
<dwmw2@...radead.org>, <computersforpeace@...il.com>,
<miquel.raynal@...tlin.com>, <richard@....at>,
<linux-mtd@...ts.infradead.org>, <linux-kernel@...r.kernel.org>,
<linux-riscv@...ts.infradead.org>,
Palmer Dabbelt <palmer@...ive.com>, <aou@...s.berkeley.edu>,
Paul Walmsley <paul.walmsley@...ive.com>,
Wesley Terpstra <wesley@...ive.com>
Subject: Re: [PATCH v5 1/3] mtd: spi-nor: add support for is25wp256
Hi,
On 21/06/19 3:58 PM, Sagar Kadam wrote:
> Hello Vignesh,
>
> On Fri, Jun 21, 2019 at 11:33 AM Vignesh Raghavendra <vigneshr@...com> wrote:
>>
>> Hi,
>>
>> On 17/06/19 8:48 PM, Sagar Kadam wrote:
>>> Hello Vignesh,
>>>
>>> Thanks for your review comments.
>>>
>>> On Sun, Jun 16, 2019 at 6:14 PM Vignesh Raghavendra <vigneshr@...com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> On 12-Jun-19 4:17 PM, Sagar Shrikant Kadam wrote:
>>>> [...]
>>>>
>>>>> @@ -4129,7 +4137,7 @@ int spi_nor_scan(struct spi_nor *nor, const char *name,
>>>>> if (ret)
>>>>> return ret;
>>>>>
>>>>> - if (nor->addr_width) {
>>>>> + if (nor->addr_width && JEDEC_MFR(info) != SNOR_MFR_ISSI) {
>>>>> /* already configured from SFDP */
>>>>
>>>> Hmm, why would you want to ignore addr_width that's read from SFDP table?
>>>
>>> The SFDP table for ISSI device considered here, has addr_width set to
>>> 3 byte, and the flash considered
>>> here is 32MB. With 3 byte address width we won't be able to access
>>> flash memories higher address range.
>>
>> Is it specific to a particular ISSI part as indicated here[1]? If so,
>> please submit solution agreed there i.e. use spi_nor_fixups callback
>>
>> [1]https://patchwork.ozlabs.org/patch/1056049/
>>
>
> Thanks for sharing the link.
> From what I understand here, it seems that "Address Bytes" of SFDP
> table for the device under
> consideration (is25lp256) supports 3 byte only Addressing mode
> (DWORD1[18:17] = 0b00.
> where as that of ISSI device (is25LP/WP 256Mb/512/Mb/1Gb) support 3 or
> 4 byte Addressing mode DWORD1[18:17] = 0b01.
>
Okay, so that SFDP table entry is correct. SPI NOR framework should
using 4 byte addressing if WORD1[18:17] = 0b01. Could you see if below
diff helps:
--->8---
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index c0a8837c0575..ebf32aebe5e9 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -2808,6 +2808,7 @@ static int spi_nor_parse_bfpt(struct spi_nor *nor,
break;
case BFPT_DWORD1_ADDRESS_BYTES_4_ONLY:
+ case BFPT_DWORD1_ADDRESS_BYTES_3_OR_4:
nor->addr_width = 4;
break;
--
Regards
Vignesh
Powered by blists - more mailing lists