[U-Boot] [PATCH v4 00/36] sf: Add common probe and extended/quad read/write cmds support
Tom Rini
trini at ti.com
Fri Sep 27 15:00:38 CEST 2013
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 09/26/2013 07:05 PM, Simon Glass wrote:
> Hi Jagan,
>
> On Tue, Sep 24, 2013 at 12:19 PM, Jagannadha Sutradharudu Teki
> <jagannadha.sutradharudu-teki at xilinx.com> wrote:
>> This patch series is a combination of
>> "sf: Add common probe support"
>> "sf: Add support for extended/quad read and write commands"
>> http://www.mail-archive.com/u-boot@lists.denx.de/msg121668.html
>> http://u-boot.10912.n7.nabble.com/PATCH-v2-00-10-sf-Add-support-for-extended-quad-read-and-write-commands-td160964.html
>>
>> This patch series adds common probe support for all flash vendors except ramtron.
>>
>> spi_flash_probe is a new addition where all flash driver
>> probing is combined into a common file, this means spi_flash_probe.c
>> adds a new probing style common to all flashes.
>>
>>
>> Apart from common probing, this series also adds support for
>> extended read commands and quad read/write commands.
>>
>> http://comments.gmane.org/gmane.comp.boot-loaders.u-boot/150148
>> http://permalink.gmane.org/gmane.comp.boot-loaders.u-boot/167026
>>
>> There is a bit discussion going on for supporting this:
>> http://u-boot.10912.n7.nabble.com/PATCH-00-12-cmd-sf-Add-support-for-read-and-write-instructions-td143749.html
>>
>> Concept:
>> Initially I tried to add individual sf write/read commands to respective
>> flash read/write commands, but later some discussion to mainline about this and
>> changed the implementation.
>>
>> As Michal and me were trying to change this as like the
>> "implementation will discover the fastest command by taking the supported
>> commands from flash and a controller. Controller supported commands will always been a priority."
>>
>> Means I have added rd_cmd and wr_cmd params on spi_flash_id_params table.
>> So the flash user may fill these with flash supported commands, and also spi controller
>> use is also have rd_cmd and wr_cmd from spi.h, so the spi user will fill these with
>> controller supported commands. and the resultent command is calculated based fastest
>> commands by taking inputs from spi and flash, but spi(controller) has always a priority.
>>
>> Supported commands:
>> - CMD_READ_ARRAY_SLOW
>> - CMD_READ_ARRAY_FAST
>> - CMD_READ_DUAL_OUTPUT_FAST
>> - CMD_READ_DUAL_IO_FAST
>> - CMD_READ_QUAD_OUTPUT_FAST
>> - CMD_PAGE_PROGRAM
>> - CMD_QUAD_PAGE_PROGRAM
>>
>> Testing repo branch:
>> -------------------
>> $ git clone git://git.denx.de/u-boot-spi.git
>> $ cd u-boot-spi
>> $ git checkout -b master-next-test origin/master-next-test
>>
>> REQUEST FOR ALL SPI CODE CONTRIBUTORS/USERS, PLEASE TEST THESE CHANGES
>> W.R.T YOUR HW IF POSSIBLE.
>>
>> Please let me know for any issues/concerns/questions.
>>
>> --
>> Thanks,
>> Jagan.
>>
>> Jagannadha Sutradharudu Teki (36):
>> sf: Divide spi_flash into multiple parts
>> sf: probe: Add new spi_flash_probe support
>> sf: probe: Add support for M25P* flash parts
>> sf: probe: Add support for EN25Q* flash parts
>> sf: probe: Add support for GD25* flash parts
>> sf: probe: Add support for MX25L* flash parts
>> sf: probe: Add support for W25* flash parts
>> sf: probe: Add support for S25FL* flash parts
>> sf: probe: Add support for SST25* flash parts
>> sf: probe: Add support for AT45DB* flash parts
>> sf: probe: Give proper spacing on flash table params
>> sf: probe: Add support for SST_WP
>> sf: probe: Add support to clear flash BP# bits
>> sf: probe: Add support for erase sector selection flag
>> sf: probe: Add support for flag status polling
>> sf: probe: Move BAR config to spi_flash_validate_ids
>> sf: Add proper comment style on spi_flash structure
>> sf: ramtron: Add support for separate flash driver
>> sf: Remove unneeded flash drivers files
>> sf: probe: Add support for EN25Q64
>> sf: probe: Add support for S25FL256S_256K
>> sf: probe: Add support for S25FL512S_256K
>> sf: probe: Use print_size arg as page_size
>> sf: probe: Print erase_size while printing flash details
>> sf: probe: Simply the BAR configuration logic
>> sf: ops: Add static qualifier to spi_flash_cmd_bankaddr_write
>> sf: probe: Add support for MX25L25635F
>> sf: probe: Add support for MX25L51235F
>> sf: Remove spi_flash_do_alloc references
>> doc: SPI: Add status.txt for tracking SPI subsys status
>> sf: Add extended read commands support
>> sf: Add quad read/write commands support
>> sf: ops: Add configuration register writing support
>> sf: Set quad enable bit support
>> sf: spi_flash cleanups
>> spi: spi cleanups
>>
>> doc/SPI/status.txt | 28 ++
>> drivers/mtd/spi/Makefile | 15 +-
>> drivers/mtd/spi/atmel.c | 544 ---------------------------------
>> drivers/mtd/spi/eon.c | 60 ----
>> drivers/mtd/spi/gigadevice.c | 65 ----
>> drivers/mtd/spi/macronix.c | 98 ------
>> drivers/mtd/spi/ramtron.c | 123 +++++++-
>> drivers/mtd/spi/spansion.c | 141 ---------
>> drivers/mtd/spi/spi_flash.c | 571 +----------------------------------
>> drivers/mtd/spi/spi_flash_internal.h | 151 ++++-----
>> drivers/mtd/spi/spi_flash_ops.c | 451 +++++++++++++++++++++++++++
>> drivers/mtd/spi/spi_flash_probe.c | 400 ++++++++++++++++++++++++
>> drivers/mtd/spi/sst.c | 238 ---------------
>> drivers/mtd/spi/stmicro.c | 202 -------------
>> drivers/mtd/spi/winbond.c | 141 ---------
>> drivers/spi/spi.c | 3 +
>> include/configs/top9000.h | 1 -
>> include/spi.h | 99 +++---
>> include/spi_flash.h | 119 ++++----
>> 19 files changed, 1205 insertions(+), 2245 deletions(-)
>> create mode 100644 doc/SPI/status.txt
>> delete mode 100644 drivers/mtd/spi/atmel.c
>> delete mode 100644 drivers/mtd/spi/eon.c
>> delete mode 100644 drivers/mtd/spi/gigadevice.c
>> delete mode 100644 drivers/mtd/spi/macronix.c
>> delete mode 100644 drivers/mtd/spi/spansion.c
>> create mode 100644 drivers/mtd/spi/spi_flash_ops.c
>> create mode 100644 drivers/mtd/spi/spi_flash_probe.c
>> delete mode 100644 drivers/mtd/spi/sst.c
>> delete mode 100644 drivers/mtd/spi/stmicro.c
>> delete mode 100644 drivers/mtd/spi/winbond.c
>>
>> --
>> 1.8.3
>>
>>
>
> This series seems to add 700 bytes to code size. It isn't a huge
> amount if the benefits are worth it, but is it necessary?
>
> (try-spi=b35a52: b/) u> ./tools/buildman/buildman -b try-spi snow -sS --step 0
> Summary of 2 commits for 1 boards (1 thread, 32 jobs per thread)
> 01: Sound: MAX98095: Support I2S0 channel
> 37: spi: spi cleanups
> arm: (for 1/1 boards) all +702.0 bss +12.0 rodata +314.0 text +376.0
> (try-spi=b35a52: b/) u>
>
> (try-spi=b35a52: b/) u> ./tools/buildman/buildman -b try-spi snow -sS
> ...
> 19: sf: ramtron: Add support for separate flash driver
> arm: (for 1/1 boards) all +423.0 bss +48.0 rodata +447.0 text -72.0
> 20: sf: Remove unneeded flash drivers files
> arm: (for 1/1 boards) all -191.0 bss -16.0 rodata -175.0
> 21: sf: probe: Add support for EN25Q64
> 22: sf: probe: Add support for S25FL256S_256K
> arm: (for 1/1 boards) bss -8.0 text +8.0
> 23: sf: probe: Add support for S25FL512S_256K
> 24: sf: probe: Use print_size arg as page_size
> 25: sf: probe: Print erase_size while printing flash details
> arm: (for 1/1 boards) all +70.0 bss +24.0 rodata +14.0 text +32.0
> 26: sf: probe: Simply the BAR configuration logic
> 27: sf: ops: Add static qualifier to spi_flash_cmd_bankaddr_write
> 28: sf: probe: Add support for MX25L25635F
> 29: sf: probe: Add support for MX25L51235F
> 30: sf: Remove spi_flash_do_alloc references
> 31: doc: SPI: Add status.txt for tracking SPI subsys status
> 32: sf: Add extended read commands support
> arm: (for 1/1 boards) all +136.0 bss +8.0 rodata +16.0 text +112.0
> 33: sf: Add quad read/write commands support
> arm: (for 1/1 boards) all +72.0 bss -36.0 rodata +12.0 text +96.0
> 34: sf: ops: Add configuration register writing support
> arm: + snow
> 35: sf: Set quad enable bit support
> arm: snow
> arm: (for 1/1 boards) all +192.0 bss -8.0 text +200.0
> 36: sf: spi_flash cleanups
> 37: spi: spi cleanups
Can we please see about doing something with the size change when quad
isn't enabled?
- --
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBAgAGBQJSRYF2AAoJENk4IS6UOR1WHRwQAIXKeiNoAztea+v/jwbxq6cy
xibh16nH+4gcIHF3NTu5vDQoNx75wEVUfyAKt1tvM0EY0CIonQVVQL8ywxj6pZWI
RSlwXGnZKKtEMmV1KsVDOptm3KvKw/IVyP4F0k3hlvrZUbXFgjdl97F73ny5jn26
5NM4/sUGB0ncsxbzGd31uGQiLzpg/TSgLKzXUzYZ8XozKVZt3cdTpgkGVM8v6XB/
I1GYxMAjC+qtPLaiBXvkAoI+2XxcgQ5UDGmIgyEZG2Tzma5Pwt8lGalOJcmHJ16X
ijgnY/0vB3/rlQ6GA/TLvRrp0hcJIchZxpwH2z5aclp7J0dQWhHD63ZpLKxt0V9H
RhapHdF52iy4ux9VBcyXvNN4An1MXBzkwB/8ZETnaDrWsi22EHgFzhCHlDrCtlyn
ZcmcI37KXNBsviUq9xn1GvSId7PqxjcAUEaKAlTXI17zBkh/AZQzZRVg09as7m+O
EfVggXkMw5wqHlF0MpkdkfIPovU7zOn3UkXouC2J/89eJxUqNOjDB7pei0/kfSzh
iHnoM6M7o07nyX5/EUxQs58QAucveqIatjfqizIA28PqplMhgD6W7NSg57svnYoU
ELgw8BSmzMpzcBpFgk1gfK7rROeVILwGoDU1bpAjGWSyBcYidHRy3AuwYHWCFF8n
0JIstTIB8SLONQMtVE1T
=g0eB
-----END PGP SIGNATURE-----
More information about the U-Boot
mailing list