u-boot/drivers/spi
Marek Vasut 26da6353e1 mtd: cqspi: Simplify indirect write code
The indirect write code is buggy pile of nastiness which fails horribly
when the system runs fast enough to saturate the controller. The failure
results in some pages (256B) not being written to the flash. This can be
observed on systems which run with Dcache enabled and L2 cache enabled,
like the Altera SoCFPGA.

This patch replaces the whole unmaintainable indirect write implementation
with the one from upcoming Linux CQSPI driver, which went through multiple
rounds of thorough review and testing. While this makes the patch look
terrifying and violates all best-practices of software development, all
the patch does is it plucks out duplicate ad-hoc code distributed across
the driver and replaces it with more compact code doing exactly the same
thing.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Chin Liang See <clsee@altera.com>
Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
Cc: Jagan Teki <jteki@openedev.com>
Cc: Pavel Machek <pavel@denx.de>
Cc: Stefan Roese <sr@denx.de>
Cc: Vignesh R <vigneshr@ti.com>
2016-05-06 18:41:49 +02:00
..
altera_spi.c altera_spi: change ioremap to map_physmem 2015-11-18 21:18:30 +08:00
armada100_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
atmel_dataflash_spi.c spi: atmel_dataflash: Simplify AT91F_SpiEnable implementation 2014-03-17 21:54:57 +05:30
atmel_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
atmel_spi.h spi: atmel_spi: Use GENMASK 2015-10-27 23:21:42 +05:30
bfin_spi6xx.c Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
bfin_spi.c Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
cadence_qspi_apb.c mtd: cqspi: Simplify indirect write code 2016-05-06 18:41:49 +02:00
cadence_qspi.c spi: cadence_qspi: Ensure check for max frequency in place 2015-11-05 02:34:15 +01:00
cadence_qspi.h spi: cadence_qspi: Ensure spi_calibration is run when sclk change 2015-11-05 02:34:15 +01:00
cf_qspi.c spi: cf_qspi: fix clamp macro type check compilation warnings 2015-07-01 22:58:50 +05:30
cf_spi.c spi: cf_spi: Staticize local functions 2015-03-30 01:42:49 +05:30
davinci_spi.c bitops: introduce BIT() definition 2015-09-11 17:15:32 -04:00
designware_spi.c spi: designware_spi: Use GENMASK 2015-10-27 23:21:43 +05:30
ep93xx_spi.c bitops: introduce BIT() definition 2015-09-11 17:15:32 -04:00
exynos_spi.c dm: Use dev_get_addr() where possible 2015-08-31 07:57:26 -06:00
fsl_dspi.c spi: fsl: Use BIT macro 2015-10-27 23:19:29 +05:30
fsl_espi.c spi: fsl: Use BIT macro 2015-10-27 23:19:29 +05:30
fsl_qspi.c spi: fsl_qspi: Fix qspi_op_rdsr memcpy issue 2016-01-27 08:28:31 -08:00
fsl_qspi.h qspi:fsl implement AHB read 2015-01-09 00:03:28 +05:30
ich.c dm: pch: Rename get_sbase op to get_spi_base 2016-02-05 12:47:21 +08:00
ich.h spi: ich: Change PCHV_ to ICHV_ 2016-02-05 12:47:20 +08:00
Kconfig spi: omap3: Convert to driver model 2016-03-14 22:46:28 +05:30
kirkwood_spi.c spi: kirkwood_spi: Add support for multiple chip-selects on MVEBU 2016-04-06 15:38:56 +02:00
lpc32xx_ssp.c lpc32xx: add LPC32xx SSP support (SPI mode) 2015-04-10 14:23:20 +02:00
Makefile Tegra: T210: Add QSPI driver 2015-11-12 09:21:07 -07:00
mpc8xxx_spi.c spi: mpc8xxx_spi: Use BIT macro 2015-10-27 23:21:28 +05:30
mpc52xx_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mxc_spi.c linux/kernel.h: sync min, max, min3, max3 macros with Linux 2014-11-23 06:48:30 -05:00
mxs_spi.c Move ALLOC_CACHE_ALIGN_BUFFER() to the new memalign.h header 2015-09-11 17:15:20 -04:00
omap3_spi.c spi: omap3: Fix multiple definition of 'priv' 2016-03-15 14:50:09 -04:00
rk_spi.c rockchip: spi: Remove the explicit pinctrl setting 2016-01-21 20:42:36 -07:00
rk_spi.h rockchip: Add SPI driver 2015-09-02 21:28:24 -06:00
sandbox_spi.c dm: spi: Move the per-child data size to the uclass 2015-01-29 17:09:55 -07:00
sh_qspi.c Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
sh_spi.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
sh_spi.h Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
soft_spi_legacy.c dm: spi: Remove SPI_INIT feature 2014-10-22 10:36:48 -06:00
soft_spi.c dm: Rename dev_get_parentdata() to dev_get_parent_priv() 2015-10-23 09:42:28 -06:00
spi-emul-uclass.c dm: sandbox: Add a SPI emulation uclass 2014-10-22 10:36:46 -06:00
spi-uclass.c spi: spi-uclass: Set slave wordlen with SPI_DEFAULT_WORDLEN 2016-02-23 16:14:46 +05:30
spi.c spi: Support half-duplex mode in FDT decode 2014-08-06 00:18:01 +05:30
tegra20_sflash.c spi: tegra: Use GENMASK 2015-10-27 23:21:43 +05:30
tegra20_slink.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
tegra114_spi.c Add more SPDX-License-Identifier tags 2016-01-19 08:31:21 -05:00
tegra210_qspi.c Tegra: T210: Add QSPI driver 2015-11-12 09:21:07 -07:00
tegra_spi.h dm: tegra: spi: Convert to driver model 2014-10-22 10:36:52 -06:00
ti_qspi.c dm: ti_qspi: Fix conversion of address to a pointer 2016-03-12 19:55:42 +05:30
xilinx_spi.c spi: xilinx: Add new compatible strings 2015-12-11 22:12:24 +05:30
zynq_qspi.c spi: zynq_qspi: Add configuration to disable LQSPI feature 2015-12-18 13:15:57 +01:00
zynq_spi.c spi: zynq_spi: Add cadence compatible string 2015-12-11 22:12:23 +05:30