u-boot/drivers/spi
Pratyush Yadav 71025f013c mtd: spi-nor-core: Rework hwcaps selection
The spi-mem layer provides a spi_mem_supports_op() function to check
whether a specific operation is supported by the controller or not.
This is much more accurate than the hwcaps selection logic based on
SPI_{RX,TX}_ flags.

Rework the hwcaps selection logic to use spi_mem_supports_op().

To make sure the build doesn't break for boards not using CONFIG_DM_SPI,
add a simple SPI_{RX,TX}_ based hwcaps selection logic in spi-mem-nodm
similar to spi_mem_default_supports_op(). This change is only
compile-tested.

To avoid SPL size problems on the x530 board, the old hwcaps selection
is still kept around. Leaving the code in-place was getting difficult to
read and understand, so the code is restructured to have it all in one
isolated function. As a result of this, the parameter hwcaps to
spi_nor_setup() is no longer needed. Remove it.

Based on the Linux commit c76f5089796a (mtd: spi-nor: Rework hwcaps
selection for the spi-mem case, 2019-08-06)

Signed-off-by: Pratyush Yadav <p.yadav@ti.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
2021-06-28 11:59:35 +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 spi: cadence-qspi: Add support for octal DTR flashes 2021-06-28 11:57:23 +05:30
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
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 mtd: spi-nor-core: Rework hwcaps selection 2021-06-28 11:59:35 +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