u-boot/drivers/spi
Michael Walle 383fded70c spi: nxp_fspi: new driver for the FlexSPI controller
This is a port of the kernel's spi-nxp-fspi driver. It uses the new
spi-mem interface and does not expose the more generic spi-xfer
interface. The source was taken from the v5.3-rc3 tag.

The port was straightforward:
 - remove the interrupt handling and the completion by busy polling the
   controller
 - remove locks
 - move the setup of the memory windows into claim_bus()
 - move the setup of the speed into set_speed()
 - port the device tree bindings from the original fspi_probe() to
   ofdata_to_platdata()

There were only some style change fixes, no change in any logic. For
example, there are busy loops where the return code is not handled
correctly, eg. only prints a warning with WARN_ON(). This port
intentionally left most functions unchanged to ease future bugfixes.

This was tested on a custom LS1028A board. Because the LS1028A doesn't
have proper clock framework support, changing the clock speed was not
tested. This also means that it is not possible to change the SPI
speed on LS1028A for now (neither is it possible in the linux driver).

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Kuldeep Singh <kuldeep.singh@nxp.com>
2020-01-27 22:27:21 +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: Add Atmel QuadSPI driver 2019-07-09 09:26:43 +03:00
bcm63xx_hsspi.c dm: spi: Change cs_info op to return -EINVAL for invalid cs num 2019-10-25 00:48:31 +05:30
bcm63xx_spi.c dm: spi: Change cs_info op to return -EINVAL for invalid cs num 2019-10-25 00:48:31 +05:30
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 quad write support 2019-04-12 10:54:03 +05:30
cadence_qspi.c spi: cadence_qspi: support DM_CLK 2019-11-20 23:46:11 +01:00
cadence_qspi.h spi: cadence_qspi: support DM_CLK 2019-11-20 23:46:11 +01:00
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: gpio: Allow control of GPIO uclass in SPL 2019-12-15 08:52:29 +08: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: fsl_qspi: Add support for QSPI on iMX7ULP 2019-10-08 16:36:37 +02:00
fsl_qspi.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ich.c spi: ich: Add Apollo Lake support 2019-12-15 11:44:24 +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: Convert to DM 2019-06-10 17:59:49 +05:30
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 spi: mvebu_a3700_spi: Fix clock prescale computation 2019-09-16 08:09:22 +05:30
mxc_spi.c spi: imx: work with cs greater 0 2019-06-11 10:42:48 +02:00
mxs_spi.c common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00
nxp_fspi.c spi: nxp_fspi: new driver for the FlexSPI controller 2020-01-27 22:27:21 +05:30
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 spi: Add non DM version of SPI_MEM 2019-02-07 15:33:21 +05:30
spi-mem.c spi: spi-mem: Fix read data size issue 2019-07-18 17:11:16 +05:30
spi-sifive.c spi: Add SiFive SPI driver 2019-07-18 17:11:16 +05:30
spi-sunxi.c spi: Rename sun4i_spi.c into spi-sunxi.c 2019-03-04 18:08:56 +05:30
spi-uclass.c spi: Fix manual relocation calling more times 2020-01-14 09:05:54 +01: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: Remove "st, stm32-qspi" compatible string 2019-07-22 11:04:52 +02:00
stm32_spi.c spi: stm32: Fix warnings when compiling with W=1 2019-07-12 11:50:57 +02: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 common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05: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 common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00
uniphier_spi.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05: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 common: Move ARM cache operations out of common.h 2019-12-02 18:24:58 -05:00