[U-Boot] [PATCH v2 00/10] sf: Add support for extended/quad read and write commands

Jagannadha Sutradharudu Teki jagannadha.sutradharudu-teki at xilinx.com
Wed Aug 7 22:09:33 CEST 2013


This is v2 series for past read/write instruction support.
this series also includes zynq qspi driver patch set for knowing
usage of these extended/quad read and write commnads.

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

This patchset adds support for extended and quad read and write commands support.
It's been long back the actual idea came up, but i feel right now the sf framework
is pretty nice to add these kinds of add ons.

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

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 (10):
  sf: Remove spi_flash_do_alloc references
  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
  spi: Add zynq qspi controller driver
  zynq: Enable CONFIG_ZYNQ_QSPI
  zynq: Define CONFIG_SPI_FLASH_BAR
  spi: zynq_qspi: Add quad read/write commands support
  spi: zynq_qspi: Enable READ_CMD_FULL and WRITE_CMD_FULL

 arch/arm/include/asm/arch-zynq/hardware.h |   1 +
 drivers/mtd/spi/spi_flash_internal.h      |   8 +
 drivers/mtd/spi/spi_flash_ops.c           |  52 +++-
 drivers/mtd/spi/spi_flash_probe.c         | 190 ++++++++-----
 drivers/spi/Makefile                      |   1 +
 drivers/spi/spi.c                         |   3 +
 drivers/spi/zynq_qspi.c                   | 454 ++++++++++++++++++++++++++++++
 include/configs/zynq.h                    |  11 +
 include/spi.h                             |   4 +
 include/spi_flash.h                       |  84 +++---
 10 files changed, 690 insertions(+), 118 deletions(-)
 create mode 100644 drivers/spi/zynq_qspi.c

-- 
1.8.3




More information about the U-Boot mailing list