All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jagan Teki <jagannadh.teki@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] sf: Preserve QE bit when clearing BP# bits for Macronix flash
Date: Mon, 7 Aug 2017 13:24:39 +0530	[thread overview]
Message-ID: <CAD6G_RSfVha_0gqM5cAnVCsj4YOuDBHWKhunE6DVB04pVhT8rw@mail.gmail.com> (raw)
In-Reply-To: <CAEUhbmU-didH=w_g7Kq5dN5qEdYJd3utgnmfsQ+3LR+6fGEYQw@mail.gmail.com>

Hi Bing,

On Mon, Aug 7, 2017 at 1:09 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
> On Fri, Aug 4, 2017 at 12:21 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
>> On Wed, Aug 2, 2017 at 6:26 AM, Bin Meng <bmeng.cn@gmail.com> wrote:
>>> Hi Jagan,
>>>
>>> On Wed, Aug 2, 2017 at 12:01 AM, Jagan Teki <jagannadh.teki@gmail.com> wrote:
>>>> On Sun, Jul 23, 2017 at 8:14 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>>> On some flash (like Macronix), QE (quad enable) bit is in the same
>>>>> status register as BP# bits, and we need preserve its original value
>>>>> during a reboot cycle as this is required by some platforms (like
>>>>> Intel ICH SPI controller working under descriptor mode).
>>>>>
>>>>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
>>>>> ---
>>>>>
>>>>>  drivers/mtd/spi/spi_flash.c | 17 +++++++++++++++--
>>>>>  1 file changed, 15 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
>>>>> index 0034a28..7d8c660 100644
>>>>> --- a/drivers/mtd/spi/spi_flash.c
>>>>> +++ b/drivers/mtd/spi/spi_flash.c
>>>>> @@ -947,11 +947,24 @@ int spi_flash_scan(struct spi_flash *flash)
>>>>>         if (IS_ERR_OR_NULL(info))
>>>>>                 return -ENOENT;
>>>>>
>>>>> -       /* Flash powers up read-only, so clear BP# bits */
>>>>> +       /*
>>>>> +        * Flash powers up read-only, so clear BP# bits.
>>>>> +        *
>>>>> +        * Note on some flash (like Macronix), QE (quad enable) bit is in the
>>>>> +        * same status register as BP# bits, and we need preserve its original
>>>>> +        * value during a reboot cycle as this is required by some platforms
>>>>> +        * (like Intel ICH SPI controller working under descriptor mode).
>>>>> +        */
>>>>>         if (JEDEC_MFR(info) == SPI_FLASH_CFI_MFR_ATMEL ||
>>>>> -           JEDEC_MFR(info) == SPI_FLASH_CFI_MFR_MACRONIX ||
>>>>>             JEDEC_MFR(info) == SPI_FLASH_CFI_MFR_SST)
>>>>>                 write_sr(flash, 0);
>>>>> +       if (JEDEC_MFR(info) == SPI_FLASH_CFI_MFR_MACRONIX) {
>>>>> +               u8 sr = 0;
>>>>> +
>>>>> +               read_sr(flash, &sr);
>>>>> +               sr &= STATUS_QEB_MXIC;
>>>>> +               write_sr(flash, sr);
>>>>> +       }
>>>>
>>>> It doesn't make sense to have one(specific) controller fix to be
>>>> generic to all macronix chips, think about alternative.
>>>>
>>>
>>> This is no way to fix at the controller level. Actually this is
>>> nothing related to controller level. It's just the bootstrap settings
>>> (QE bit in this case) that cannot be overwritten by someone else
>>> (although it's seen on Intel, it might happen on some other
>>> architecture). The logic in the codes are having issues. Its comment
>>> says: clear BP# bits, but it clears QE bit for Macronix flash as well,
>>> which is wrong. The update was just to make sure the codes do as what
>>> its comment says.
>>>
>>> If you have any other alternative, please suggest.
>>>
>>
>> Ping again..

Wait for sometime, I've queue that I need to review-it and respond
accordingly patches with latest may take some time. And commenting
yes will respond soon.

thanks!
-- 
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.

  reply	other threads:[~2017-08-07  7:54 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-23 14:44 [U-Boot] [PATCH 1/2] sf: Add Macronix MX25U6435F device parameters Bin Meng
2017-07-23 14:44 ` [U-Boot] [PATCH 2/2] sf: Preserve QE bit when clearing BP# bits for Macronix flash Bin Meng
2017-08-01  9:10   ` Simon Glass
2017-08-01 16:01   ` Jagan Teki
2017-08-01 22:26     ` Bin Meng
2017-08-04  4:21       ` Bin Meng
2017-08-07  7:39         ` Bin Meng
2017-08-07  7:54           ` Jagan Teki [this message]
2017-08-11  6:20             ` Bin Meng
2017-08-13 17:22       ` Jagan Teki
2017-08-14  2:37         ` Bin Meng
2017-08-14  4:58           ` Jagan Teki
2017-08-14  5:04             ` Bin Meng
2017-08-14  5:17               ` Jagan Teki
2017-08-14  5:35                 ` Bin Meng
2017-08-16  1:59                   ` Bin Meng
2017-08-16 10:34                     ` Jagan Teki
2017-08-16 12:26                       ` Bin Meng
2017-08-16 12:57                         ` Jagan Teki
2017-07-31  7:46 ` [U-Boot] [PATCH 1/2] sf: Add Macronix MX25U6435F device parameters Bin Meng
2017-07-31  9:33 ` Jagan Teki
2017-07-31 11:33   ` Bin Meng
2017-08-07  7:41     ` Bin Meng
2017-08-01  9:11 ` Simon Glass

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=CAD6G_RSfVha_0gqM5cAnVCsj4YOuDBHWKhunE6DVB04pVhT8rw@mail.gmail.com \
    --to=jagannadh.teki@gmail.com \
    --cc=u-boot@lists.denx.de \
    /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.