sf: Add extended read commands support

Current sf uses FAST_READ command, this patch adds support to
use the different/extended read command.

This implementation will determine the fastest command by taking
the supported commands from the flash and the controller, controller
is always been a priority.

Added rd_cmd support to S25FL256S_64K SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: Add quad read/write commands support

Current sf uses PAGE_PROGRAM command for write and FAST_READ,
SLOW_READ, DUAL_READ and DUAL_IO_READ commands for read this
patch adds support to use the quad read/write commands

This implementation will determine the fastest command which
is added in below commit
"sf: Add extended read commands support"
(sha: 4cba440b739f87206faa889f71e9ed369e9832c5)

Added wr_cmd and updated rd_cmd support to S25FL256S_64K SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: Add configuration register writing support

This patch provides support to program a flash config register.

Configuration register contains the control bits used to configure
the different configurations and security features of a device.

User need to set these bits through spi_flash_cmd_write_config()
based on their usage.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: Set quad enable bit support

This patch provides support to set the quad enable bit on flash.

quad enable bit needs to set before performing any quad IO
operations on respective SPI flashes.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
spi: zynq_qspi: Remove set quad enable bit support

This patch removes the quad enable bit support for spansion
and winbond flashes as sf framework supports quad operations now.

Earlier there is a dependency for bootROM to boot from dual parallel,
driver must set this bit So removed this code to use the quad write
directly from sf level.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
spi: zynq_qspi: Add 3-byte QPP, DIOR instructions support

QPP - Quad Page Program
DIOR - Dual IO high perf read

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: spansion: Add rd|wr_cmd support to S25FL128S_64K

Added possible 3-byte address commands support to S25FL128S_64K
SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: spansion: Add rd|wr_cmd support to S25FL512S_64K

Added possible 3-byte address commands support to S25FL512S_64K
SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: spansion: Add rd|wr_cmd support to S25FL512S_512K

Added possible 3-byte address commands support to S25FL512S_512K
SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: winbond: Add initial rd|wr_cmd support

This patch adds rd|wr_cmd support by detecting the fastest
command w.r.t command initialized by the controller.

Added possible 3-byte address commands support to W25Q256
SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: winbond: Add rd|wr_cmd support to W25Q128

Added possible 3-byte address commands support to W25Q128
SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: winbond: Add rd|wr_cmd support to W25Q64

Added possible 3-byte address commands support to W25Q64
SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: stmicro: Add initial rd|wr_cmd support

This patch adds rd|wr_cmd support by detecting the fastest
command w.r.t command initialized by the controller.

Added possible 3-byte address commands support to N25Q128*
SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: stmicro: Add rd|wr_cmd support to N25Q256*

Added possible 3-byte address commands support to N25Q256*
SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: stmicro: Add rd|wr_cmd support to N25Q512*

Added possible 3-byte address commands support to N25Q512*
SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
sf: stmicro: Add rd|wr_cmd support to N25Q1024*

Added possible 3-byte address commands support to N25Q1024*
SPI flash.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>