u-boot/drivers/spi
Jagan Teki b7d6e104fb spi: sifive: Add spi-mem exec op
SiFive SPI controller is responsible to handle the
slave devices like mmc spi and spi nor flash.

The controller is designed such a way that it would
handle the slave transactions based on the I/O protocol
numbers, example if spi nor slave send quad write opcode
it has to send alone with I/O protocol number of 4 and
if it try to send data it has to send I/O protocol number
along with 4 line data.

But the current spi-xfer code from spi-mem is combining
the opcode and address in a single transaction, so the
SPI controller will be unable to identify the I/O protocol
number of opcode vs address.

So, add the spi-mem exec_op with spi-xfer of opcode, address
and data as a separate transaction. This doesn't remove
the .xfer of dm_spi_ops since mmc spi will make use of it.

Note: This code might have moved to the spi-mem core area
once we have done the dedicated tests on other controllers
and have real reason to move.

Cc: Vignesh R <vigneshr@ti.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Sagar Kadam <sagar.kadam@sifive.com>
2020-04-30 22:34:20 +05:30
..
altera_spi.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
atcspi200_spi.c spi: atcspi200: Change include order 2019-05-09 00:42:55 +05:30
ath79_spi.c common: Move clock functions into a new file 2020-01-17 13:27:29 -05:00
atmel_spi.c dm: gpio: Allow control of GPIO uclass in SPL 2019-12-15 08:52:29 +08:00
atmel_spi.h Revert "spi: atmel: Drop non-dm code" 2018-04-07 09:19:00 -04:00
atmel-quadspi.c spi: atmel-quadspi: Add verbose debug facilities to monitor register accesses 2020-04-02 17:17:09 +05:30
bcm63xx_hsspi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
bcm63xx_spi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
bcmstb_spi.c board: arm: Add support for Broadcom BCM7445 2018-07-10 16:55:57 -04:00
cadence_qspi_apb.c spi: cadence-qspi: Add support for Cadence Octal SPI controller 2020-01-27 22:27:22 +05:30
cadence_qspi.c spi: cadence-qspi: Move ref clock calculation to probe 2020-04-29 01:44:35 +05:30
cadence_qspi.h spi: cadence-qspi: Add direct mode support 2020-01-27 22:27:22 +05:30
cf_spi.c drivers: spi: cf_spi: convert to driver model 2019-05-24 08:11:57 -04:00
davinci_spi.c spi: Remove unused spi_init 2018-11-27 21:06:53 +05:30
designware_spi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
exynos_spi.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
fsl_dspi.c spi: fsl_dspi fix to stop extra transmissions 2019-04-12 11:24:24 +05:30
fsl_espi.c spi: Remove unused spi_init 2018-11-27 21:06:53 +05:30
fsl_qspi.c spi: Transform the FSL QuadSPI driver to use the SPI MEM API 2020-04-29 01:44:35 +05:30
ich.c spi: ich: Drop while loop in hardware sequencing erase case 2020-02-04 01:19:28 +08:00
ich.h spi: ich: Add Apollo Lake support 2019-12-15 11:44:24 +08:00
Kconfig spi: nxp_fspi: new driver for the FlexSPI controller 2020-01-27 22:27:21 +05:30
kirkwood_spi.c km/spi: remove deprecated SPI flash driver code for KM Kirkwood boards 2019-07-11 10:58:03 +02:00
lpc32xx_ssp.c spi: Remove unused spi_init 2018-11-27 21:06:53 +05:30
Makefile spi: nxp_fspi: new driver for the FlexSPI controller 2020-01-27 22:27:21 +05:30
meson_spifc.c spi: Add Amlogic Meson SPI Flash Controller driver 2018-11-24 14:41:12 +05:30
mpc8xx_spi.c spi, mpc8xx: migrate to DM_SPI 2018-12-03 10:44:10 -05:00
mpc8xxx_spi.c spi: mpc8xxx_spi: fix missing dev_err definition 2020-04-24 16:40:09 -04:00
mscc_bb_spi.c mips: spi: mscc: Add fast bitbang SPI driver 2019-01-16 13:56:43 +01:00
mt7621_spi.c spi: mt7621-spi: restore default register value after each xfer 2019-10-25 17:20:44 +02:00
mtk_snfi_spi.c spi: add spi-mem driver for MediaTek MT7629 SoC 2019-07-25 18:52:12 +05:30
mvebu_a3700_spi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
mxc_spi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
mxs_spi.c common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00
nxp_fspi.c dm: core: Drop the inclusion of linux/compat.h in dm.h 2020-02-05 21:48:22 -07:00
omap3_spi.c spi: omap3: fix set_wordlen() reading from incorrect address for CHCONF 2019-02-28 14:21:46 -05:00
pic32_spi.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pl022_spi.c dm: platform_data: spi: s/pl022_spi.h/spi_pl022.h 2018-11-27 21:06:46 +05:30
renesas_rpc_spi.c spi: rpc: Add support for operation without clock framework 2019-05-07 05:41:32 +02:00
rk_spi.c spi: rk: Limit transfers to (64K - 1) bytes 2019-12-27 17:47:26 +05:30
rk_spi.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sandbox_spi.c spi: Add support for memory-mapped flash 2019-11-03 07:20:26 +08:00
sh_qspi.c spi: Remove unused spi_init 2018-11-27 21:06:53 +05:30
sh_spi.c spi: Remove unused spi_init 2018-11-27 21:06:53 +05:30
sh_spi.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
soft_spi_legacy.c spi: Remove unused spi_init 2018-11-27 21:06:53 +05:30
soft_spi.c spi: soft_spi: Fix data abort if slave is not probed 2019-09-16 08:09:22 +05:30
spi-emul-uclass.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spi-mem-nodm.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
spi-mem.c spi: spi-mem: Add SPI_MEM_NO_DATA to the spi_mem_data_dir enum 2020-04-29 01:44:35 +05:30
spi-sifive.c spi: sifive: Add spi-mem exec op 2020-04-30 22:34:20 +05:30
spi-sunxi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
spi-uclass.c mtd: spi-nor-core: Add octal mode support 2020-01-27 22:27:22 +05:30
spi.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
stm32_qspi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
stm32_spi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
tegra20_sflash.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
tegra20_slink.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
tegra114_spi.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
tegra210_qspi.c qspi: t210: Use dev_read calls to get FDT data like base, freq 2020-04-02 14:30:02 -07:00
tegra_spi.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ti_qspi.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
uniphier_spi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
xilinx_spi.c spi: xilinx_spi: convert to livetree 2018-07-16 14:01:20 +05:30
zynq_qspi.c spi: zynq_qspi: Fixed incorrect return value error 2018-06-25 14:13:57 +05:30
zynq_spi.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
zynqmp_gqspi.c dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00