From: Yang, Wenyou <Wenyou.Yang@Microchip.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 0/8] sf: improve support of (Q)SPI flash memories
Date: Wed, 30 Aug 2017 13:27:02 +0800 [thread overview]
Message-ID: <63106f2a-0fd9-4dcd-4077-b10cc40a1275@Microchip.com> (raw)
In-Reply-To: <CAEUhbmXE3F08wtnsnmmKWo6Do0o75p4CxjDEeR4qzBhwME+=Qw@mail.gmail.com>
On 2017/8/30 11:43, Bin Meng wrote:
> On Wed, Aug 30, 2017 at 11:25 AM, Yang, Wenyou
> <Wenyou.Yang@microchip.com> wrote:
>>
>> On 2017/8/26 14:34, Jagan Teki wrote:
>>> Hi,
>>>
>>> Thanks for the changes.
>>>
>>> On Tue, Jul 25, 2017 at 12:30 PM, Wenyou Yang <wenyou.yang@microchip.com>
>>> wrote:
>>>> This series of patches are based and have been tested on the 'master'
>>>> branch of the u-boot.git tree.
>>>>
>>>> Tests were passed with a sama5d2 xplained board which embeds both SPI and
>>>> QSPI controllers.
>>>>
>>>> The following tests have been passed:
>>>>
>>>> - QSPI0 + Macronix MX25L25673G:
>>>> + probe: OK
>>>> + Fast Read 1-1-4 at offset 0x10000 (u-boot env): OK
>>>> + Page Program 1-1-4 at offset 0x10000: OK
>>>> The Macronix datasheet tells that only Page Program 1-4-4 is
>>>> supported, not Page Program 1-1-4, however it worked, I don't know
>>>> why...
>>>>
>>>> - QSPI0 + Microchip SST26
>>>> + probe: OK
>>>> + Fast Read 1-1-4 at offset 0x10000 (u-boot env): OK
>>>> + Page Program 1-1-1 at offset 0x10000: OK
>>>> SST26 memories support Page Program 1-4-4 but with the op code of
>>>> Page Program 1-1-4, which is not standard so I don't use it.
>>>>
>>>> - QSPI0 + Adesto AT25DF321A
>>>> + probe: OK
>>>> + Fast Read 1-1-1 at offset 0x10000 (u-boot env): OK
>>>> + Page Program 1-1-1 at offset 0x10000: OK
>>>>
>>>> - SPI0 + Adesto AT25DF321A
>>>> + probe: OK
>>>> + Fast Read 1-1-1 at offset 0x6000 (u-boot env): OK
>>>> + Page Program 1-1-1 at offest 0x6000: OK
>>>>
>>>> - SPI1 + Atmel AT45
>>>> + probe: OK
>>>> + Read at offset 0 and other than 0: OK
>>>> + Write at offset 0 and other than 0: OK
>>>>
>>>> During my tests, I used:
>>>> - setenv/saveenv, reboot, printenv
>>>> or
>>>> - sf probe, sf read, sf write, sf erase and sf update.
>>>>
>>>> Changes in v3:
>>>> - Add the include <spi.h> to fix build error for corvus_defconfig.
>>>>
>>>> Changes in v2:
>>>> - Rebase on the latest u-boot/master(2710d54f5).
>>>>
>>>> Cyrille Pitchen (8):
>>>> spi: add support of SPI flash commands
>>>> sf: describe all SPI flash commands with 'struct spi_flash_command'
>>>> sf: select the relevant SPI flash protocol for read and write commands
>>>> sf: differentiate Page Program 1-1-4 and 1-4-4
>>>> sf: add 'addr_len' member to 'struct spi_flash'
>>>> sf: add new option to support SPI flash above 16MiB
>>>> sf: add support to Microchip SST26 QSPI memories
>>>> sf: add driver for Atmel QSPI controller
>>> Comments:
>>> How about writing struct spi_flash_command in spi_flash area
>>> (include/spi_flash.h)? and then write atmel_qspi with
>>> UCLASS_SPI_FLASH?
>>>
>>> Testing:
>>> Basic testing works fine.
>>>
>>> Issues:
>>> - Build issue: with zynq_microzed_defconfig
>>> drivers/mtd/spi/spi_flash.c: In function ‘spi_flash_scan’:
>>> drivers/mtd/spi/spi_flash.c:1049:7: warning: variable ‘above_16MB’ set
>>> but not used [-Wunused-but-set-variable]
>>> bool above_16MB;
>>> ^~~~~~~~~~
>>> CC spl/lib/membuff.o
>>>
>>> - issue with spi_flash_cmd_read_ops 4BAIS
>>> Need to calculate bank length only if BAR is in use. Otherwise,
>>> consider the given len as read_len.
>>>
>>> Will send separate patch for this.
>> Will You send a separate patch? or I include it in this patch set?
> This should not be a separate patch. Since every patch needs to pass
> buildman testing.
But it is not introduced by this patch set. So should be a separate
patch to fix.
>
>>> diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
>>> index 89ceae2..b5d8ef3 100644
>>> --- a/drivers/mtd/spi/spi_flash.c
>>> +++ b/drivers/mtd/spi/spi_flash.c
>>> @@ -558,13 +558,15 @@ int spi_flash_cmd_read_ops(struct spi_flash
>>> *flash, u32 offset,
>>> if (ret < 0)
>>> return ret;
>>> bank_sel = flash->bank_curr;
>>> -#endif
>>> remain_len = ((SPI_FLASH_16MB_BOUN << flash->shift) *
>>> (bank_sel + 1)) - offset;
>>> if (len < remain_len)
>>> read_len = len;
>>> else
>>> read_len = remain_len;
>>> +#else
>>> + read_len = len;
>>> +#endif
>>>
>>> cmd.addr = read_addr;
>>> cmd.data_len = read_len;
>>>
> Regards,
> Bin
Best Regards,
Wenyou Yang
next prev parent reply other threads:[~2017-08-30 5:27 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-25 7:00 [U-Boot] [PATCH v3 0/8] sf: improve support of (Q)SPI flash memories Wenyou Yang
2017-07-25 7:00 ` [U-Boot] [PATCH v3 1/8] spi: add support of SPI flash commands Wenyou Yang
2017-08-30 13:50 ` Jagan Teki
2017-09-01 0:10 ` Wenyou.Yang at microchip.com
2017-07-25 7:00 ` [U-Boot] [PATCH v3 2/8] sf: describe all SPI flash commands with 'struct spi_flash_command' Wenyou Yang
2017-08-30 14:03 ` Jagan Teki
2017-07-25 7:00 ` [U-Boot] [PATCH v3 3/8] sf: select the relevant SPI flash protocol for read and write commands Wenyou Yang
2017-07-25 7:00 ` [U-Boot] [PATCH v3 4/8] sf: differentiate Page Program 1-1-4 and 1-4-4 Wenyou Yang
2017-07-25 7:00 ` [U-Boot] [PATCH v3 5/8] sf: add 'addr_len' member to 'struct spi_flash' Wenyou Yang
2017-07-25 7:01 ` [U-Boot] [PATCH v3 6/8] sf: add new option to support SPI flash above 16MiB Wenyou Yang
2017-07-25 7:01 ` [U-Boot] [PATCH v3 7/8] sf: add support to Microchip SST26 QSPI memories Wenyou Yang
2017-07-25 7:01 ` [U-Boot] [PATCH v3 8/8] sf: add driver for Atmel QSPI controller Wenyou Yang
2017-08-30 13:58 ` Jagan Teki
2017-07-31 7:29 ` [U-Boot] [PATCH v3 0/8] sf: improve support of (Q)SPI flash memories Yang, Wenyou
2017-08-11 1:02 ` Yang, Wenyou
2017-08-11 5:14 ` Jagan Teki
2017-08-25 1:17 ` Yang, Wenyou
2017-08-25 16:07 ` Jagan Teki
2017-08-25 16:13 ` Marek Vasut
2017-08-25 16:28 ` Jagan Teki
2017-08-25 16:45 ` Marek Vasut
2017-08-25 23:05 ` Bin Meng
2017-08-26 6:14 ` Jagan Teki
2017-08-26 8:36 ` Marek Vasut
2017-08-26 19:12 ` Tom Rini
2017-08-26 6:34 ` Jagan Teki
2017-08-30 1:58 ` Yang, Wenyou
2017-08-30 6:33 ` Jagan Teki
2017-08-30 3:25 ` Yang, Wenyou
2017-08-30 3:43 ` Bin Meng
2017-08-30 5:27 ` Yang, Wenyou [this message]
2017-08-30 5:41 ` Bin Meng
2017-08-30 5:51 ` Yang, Wenyou
2017-08-30 6:30 ` Jagan Teki
2017-08-30 7:47 ` Bin Meng
2017-08-30 13:25 ` Jagan Teki
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=63106f2a-0fd9-4dcd-4077-b10cc40a1275@Microchip.com \
--to=wenyou.yang@microchip.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox