u-boot/drivers/spi
Pratyush Yadav 38b0852b0e spi: cadence-qspi: Add support for octal DTR flashes
Set up opcode extension and enable/disable DTR mode based on whether the
command is DTR or not.

xSPI flashes can have a 4-byte dummy address associated with some
commands like the Read Status Register command in octal DTR mode. Since
the flash does not support sending the dummy address, we can not use
automatic write completion polling in DTR mode. Further, no write
completion polling makes it impossible to use DAC mode for DTR writes.
In that mode, the controller does not know beforehand how long a write
will be and so it can de-assert Chip Select (CS#) at any time. Once CS#
is de-assert, the flash will go into burning phase. But since the
controller does not do write completion polling, it does not know when
the flash is busy and might send in writes while the flash is not ready.

So, disable write completion polling and make writes go through indirect
mode for DTR writes and let spi-mem take care of polling the SR.

Signed-off-by: Pratyush Yadav <p.yadav@ti.com>
Acked-by: Jagan Teki <jagan@amarulasolutions.com>
2021-06-28 11:57:23 +05:30
..
altera_spi.c dm: Avoid accessing seq directly 2020-12-18 20:32:21 -07:00
atcspi200_spi.c atcspi200: Add timeout mechanism in spi_xfer() 2021-05-05 16:12:14 +08:00
ath79_spi.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
atmel-quadspi.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
atmel_spi.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
atmel_spi.h spi: atmel: Remove nondm code 2020-06-11 15:14:04 +05:30
bcm63xx_hsspi.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
bcm63xx_spi.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
bcmstb_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
ca_sflash.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cadence_qspi.c spi: cadence-qspi: Add support for octal DTR flashes 2021-06-28 11:57:23 +05:30
cadence_qspi.h spi: cadence-qspi: Add support for octal DTR flashes 2021-06-28 11:57:23 +05:30
cadence_qspi_apb.c spi: cadence-qspi: Add support for octal DTR flashes 2021-06-28 11:57:23 +05:30
cf_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
davinci_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
designware_spi.c Driver model: make some udevice fields private 2021-01-05 22:34:43 -05:00
exynos_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
fsl_dspi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
fsl_espi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
fsl_qspi.c Merge branch '2021-02-02-drop-asm_global_data-when-unused' 2021-02-15 10:16:45 -05:00
ich.c x86: spl: Move priv/plat structs to headers 2021-01-05 12:24:41 -07:00
ich.h x86: spl: Move priv/plat structs to headers 2021-01-05 12:24:41 -07:00
Kconfig spi: Add MXIC controller driver 2021-06-25 20:59:45 +05:30
kirkwood_spi.c spi: kirkwood: prevent limiting speed to 0 2021-05-16 06:48:45 +02:00
Makefile spi: Add MXIC controller driver 2021-06-25 20:59:45 +05:30
meson_spifc.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
mpc8xx_spi.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
mpc8xxx_spi.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
mscc_bb_spi.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
mt7620_spi.c spi: add spi controller support for MediaTek MT7620 SoC 2021-01-24 21:39:26 +01:00
mt7621_spi.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
mtk_snfi_spi.c spi: spi-mem: allow specifying a command's extension 2021-06-28 11:55:11 +05:30
mtk_snor.c spi: mtk_snor: add support for MTK SPI NOR controller 2021-01-29 10:35:14 -05:00
mvebu_a3700_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
mxc_spi.c spi: imx: Implement set_speed 2021-02-26 13:25:21 +05:30
mxs_spi.c dm: Rename U_BOOT_DRIVER_ALIAS to DM_DRIVER_ALIAS 2021-01-05 12:26:35 -07:00
nxp_fspi.c spi: nxp_fspi: Fix error reporting 2021-02-26 15:09:38 +05:30
octeon_spi.c dm: Avoid accessing seq directly 2020-12-18 20:32:21 -07:00
omap3_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pic32_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
pl022_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
renesas_rpc_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
rk_spi.c dm: Rename U_BOOT_DRIVER_ALIAS to DM_DRIVER_ALIAS 2021-01-05 12:26:35 -07:00
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 test: spi: Add sandbox_spi_get_{speed, mode} interface 2020-12-22 20:39:26 -07:00
sh_qspi.c dm: treewide: Rename ofdata_to_platdata() to of_to_plat() 2020-12-13 16:51:09 -07:00
soft_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
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 spi: spi-mem: allow specifying a command's extension 2021-06-28 11:55:11 +05:30
spi-mem.c spi: spi-mem: add spi_mem_dtr_supports_op() 2021-06-28 11:56:06 +05:30
spi-mxic.c spi: Add MXIC controller driver 2021-06-25 20:59:45 +05:30
spi-qup.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
spi-sifive.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
spi-sunxi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
spi-uclass.c spi: spi-uclass: Add support to manually relocate spi memory ops 2021-03-27 16:26:48 +13:00
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 spi: stm32_qspi: Fix short data write operation 2021-06-18 08:39:45 +02:00
stm32_spi.c spi: stm32_spi: migrate trace to dev and log macro 2021-01-13 09:52:58 +01:00
tegra20_sflash.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
tegra20_slink.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
tegra114_spi.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
tegra210_qspi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
tegra_spi.h dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
ti_qspi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
uniphier_spi.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
xilinx_spi.c spi: xilinx_spi: Trivial fixes in axi qspi driver 2021-03-30 12:03:24 +02:00
zynq_qspi.c Xilinx changes for v2021.04-rc3 2021-02-23 10:45:55 -05:00
zynq_spi.c Xilinx changes for v2021.04-rc3 2021-02-23 10:45:55 -05:00
zynqmp_gqspi.c spi: zynqmp: Remove gd reference 2021-04-29 14:48:31 +02:00