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 v3 0/8] sf: improve support of (Q)SPI flash memories
Date: Sat, 26 Aug 2017 12:04:58 +0530	[thread overview]
Message-ID: <CAD6G_RQdSZrOc4T-twvy=Vgf-GdqRXqb0bK7WpTSq0GC0uQ__w@mail.gmail.com> (raw)
In-Reply-To: <20170725070102.1344-1-wenyou.yang@microchip.com>

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.

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;

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

  parent reply	other threads:[~2017-08-26  6:34 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 [this message]
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
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='CAD6G_RQdSZrOc4T-twvy=Vgf-GdqRXqb0bK7WpTSq0GC0uQ__w@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.