[U-Boot] [PATCH v3 00/17] sf: Update sf framework to support all sizes of flashes

Jagan Teki jagannadh.teki at gmail.com
Wed Jun 12 18:51:14 CEST 2013


Hi Simon,

On Wed, Jun 12, 2013 at 3:59 AM, Simon Glass <sjg at chromium.org> wrote:
> Hi Jagan,
>
> On Tue, Jun 11, 2013 at 12:23 PM, Jagannadha Sutradharudu Teki
> <jagannadha.sutradharudu-teki at xilinx.com> wrote:
>>
>> This series is v3 for the patch series sent few weeks back with a head
>> "sf: Update sf framework to support all sizes of flashes"
>>
>> All patch are looks same for v2 and v3 but placed the bank addr code
>> on CONFIG_SPI_FLASH_BAR to reduce the sizes.
>>
>> The current implementation in sf supports 3-byte address mode due
>> to this up to 16MB amount of flash is able to access for those
>> flashes which has an actual size of > 16MB.
>>
>> This series of patches is more detailed/meatured changes w.r.t the current
>> sf framework in addition to changes related to support all sizes using
>> bank/exnt register addr accessing support.
>>
>> With these new updates on sf framework, the flashes which has < 16MB
>> are not effected as per as performance is concern and but the
>> u-boot.bin size incrased ~600 bytes.
>>
>> sf update(for first 16MBytes), Changes before:
>> U-Boot> sf update 0x1000000 0x0 0x1000000
>> - N25Q256
>>   16777216 bytes written, 0 bytes skipped in 199.72s, speed 86480 B/s
>> - W25Q128BV
>>   16777216 bytes written, 0 bytes skipped in 351.739s, speed 48913 B/s
>> - S25FL256S_64K
>>   16777216 bytes written, 0 bytes skipped in 65.659s, speed 262144 B/s
>>
>> sf update(for first 16MBytes), Changes after:
>> U-Boot> sf update 0x1000000 0x0 0x1000000
>> - N25Q256
>>   16777216 bytes written, 0 bytes skipped in 198.953s, speed 86480 B/s
>> - W25Q128BV
>>   16777216 bytes written, 0 bytes skipped in 350.90s, speed 49200 B/s
>> - S25FL256S_64K
>>   16777216 bytes written, 0 bytes skipped in 66.521s, speed 262144 B/s
>>
>> The main aim of these changes is to not effect the current framework
>> and at the same time to support the > 16Mbyte flashes, becuase of this
>> I involved few flash vendor people in CC [thought that they may/mayn't
>> be a mailing list members] to know their views.
>>
>> REQUEST FOR ALL SPI CODE CONTRIBUTORS/USERS, PLEASE TEST
>> THESE CHANGES W.R.T YOUR HW IF POSSIBLE.
>
>
> Well the code size looks good - lots of changes within the series:
Same as v2 with two additional patches for CONFIG_SPI_FLASH_BAR  and
removed one read common usage patch.

>
> ./tools/buildman/buildman -b try-spi2 smdk5250 -Ss
> Summary of 18 commits for 2 boards (2 threads, 16 jobs per thread)
> 01: cmd_sf: Add print mesgs on sf read/write commands
> 02: sf: Add bank address register writing support
>        arm: (for 2/2 boards)  all +202.0  bss -4.0  rodata +38.0  text
> +168.0
> 03: sf: Add bank address register reading support
>        arm: (for 2/2 boards)  all +133.0  bss +16.0  rodata +37.0  text
> +80.0
> 04: sf: Add extended addr write support for winbond|stmicro
>        arm: (for 2/2 boards)  bss -8.0  text +8.0
> 05: sf: Add extended addr read support for winbond|stmicro
>        arm: (for 2/2 boards)  bss -24.0  text +24.0
> 06: sf: read flash bank addr register at probe time
>        arm: (for 2/2 boards)  all +128.0  bss +48.0  text +80.0
> 07: sf: Update sf to support all sizes of flashes
>        arm: (for 2/2 boards)  bss -32.0  text +32.0
> 08: sf: Update sf read to support all sizes of flashes
>        arm: (for 2/2 boards)  all +128.0  bss +32.0  text +96.0
> 09: sf: Add bank addr code in CONFIG_SPI_FLASH_BAR
>        arm: +   snow smdk5250
>        arm: (for 2/2 boards)  all -527.0  bss -28.0  rodata -75.0  text
> -424.0
> 10: sf: Initialize bank_sel to zero for read ops
>        arm:    snow smdk5250
>        arm: (for 2/2 boards)  bss +8.0  text -8.0
> 11: sf: Use spi_flash_addr() in write call
>        arm: (for 2/2 boards)  bss +24.0  text -24.0
> 12: sf: stmicro: Add support for N25Q512
> 13: sf: stmicro: Add support for N25Q512A
> 14: sf: stmicro: Add support for N25Q1024
> 15: sf: stmicro: Add support for N25Q1024A
> 16: sf: spansion: Add support for S25FL512S_64K
> 17: sf: Remove spi_flash_cmd_poll_bit()
>        arm: (for 2/2 boards)  all -64.0  bss -48.0  text -16.0
> 18: sf: Add Flag status register polling support
>
> but no change overall:
>
> ./tools/buildman/buildman -b try-spi2 smdk5250 -Ss --step 0
> Summary of 2 commits for 2 boards (2 threads, 16 jobs per thread)
> 01: cmd_sf: Add print mesgs on sf read/write commands
> 18: sf: Add Flag status register polling support
>        arm: (for 2/2 boards)  bss -16.0  text +16.0
>
>

Please let know for any issues.

--
Thanks,
Jagan.

>>
>>
>> Please let me know for any issues/concerns/questions.
>>
>> Jagannadha Sutradharudu Teki (17):
>>   sf: Add bank address register writing support
>>   sf: Add bank address register reading support
>>   sf: Add extended addr write support for winbond|stmicro
>>   sf: Add extended addr read support for winbond|stmicro
>>   sf: read flash bank addr register at probe time
>>   sf: Update sf to support all sizes of flashes
>>   sf: Update sf read to support all sizes of flashes
>>   sf: Add bank addr code in CONFIG_SPI_FLASH_BAR
>>   sf: Initialize bank_sel to zero for read ops
>>   sf: Use spi_flash_addr() in write call
>>   sf: stmicro: Add support for N25Q512
>>   sf: stmicro: Add support for N25Q512A
>>   sf: stmicro: Add support for N25Q1024
>>   sf: stmicro: Add support for N25Q1024A
>>   sf: spansion: Add support for S25FL512S_64K
>>   sf: Remove spi_flash_cmd_poll_bit()
>>   sf: Add Flag status register polling support
>>
>>  README                               |   5 +
>>  drivers/mtd/spi/spansion.c           |   7 ++
>>  drivers/mtd/spi/spi_flash.c          | 185
>> +++++++++++++++++++++++++++++------
>>  drivers/mtd/spi/spi_flash_internal.h |  21 +++-
>>  drivers/mtd/spi/stmicro.c            |  24 +++++
>>  include/spi_flash.h                  |   7 +-
>>  6 files changed, 215 insertions(+), 34 deletions(-)
>>
>> --
>> 1.8.3
>>
>>
>
> Regards,
> Simon
>


More information about the U-Boot mailing list