[U-Boot] [PATCH v3 0/8] sf: improve support of (Q)SPI flash memories

Jagan Teki jagannadh.teki at gmail.com
Wed Aug 30 06:33:29 UTC 2017


Hi Wenyou Yang,

On Wed, Aug 30, 2017 at 7:28 AM, Yang, Wenyou <Wenyou.Yang at microchip.com> wrote:
> Hi Jagan,
>
>
> 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 at 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?
>
> The spi_flash_command struct describes the relevant features of the spi
> controller, instead of the spi_flash device.
> The purpose of patch set is used to supersede the spi_xfer() function to
> access the spi_flash device.
> So putting it in include/spi.h is suitable, we should not move it in the
> spi_flash area.
>
> Moreover, why do we write atmel_qspi with  UCLASS_SPI_FLASH?  It is not easy
> to understand.

I will send explanation for these on respective patches, that would
rather clean to understand from code point-of-view.

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


More information about the U-Boot mailing list