u-boot/drivers/spi
Pratyush Yadav d15de62301 spi: spi-mem: allow specifying a command's extension
In xSPI mode, flashes expect 2-byte opcodes. The second byte is called
the "command extension". There can be 3 types of extensions in xSPI:
repeat, invert, and hex. When the extension type is "repeat", the same
opcode is sent twice. When it is "invert", the second byte is the
inverse of the opcode. When it is "hex" an additional opcode byte based
is sent with the command whose value can be anything.

So, make opcode a 16-bit value and add a 'nbytes', similar to how
multiple address widths are handled.

All usages of sizeof(op->cmd.opcode) also need to be changed to be
op->cmd.nbytes because that is the actual indicator of opcode size.

Signed-off-by: Pratyush Yadav <p.yadav@ti.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
2021-06-28 11:55:11 +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_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
atmel-quadspi.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
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_apb.c dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
cadence_qspi.c dm: Use access methods for dev/uclass private data 2021-01-05 12:24:40 -07:00
cadence_qspi.h dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
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: allow specifying a command's extension 2021-06-28 11:55:11 +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