u-boot-brain/drivers/spi
Yen Lin 60acde43d7 spi: tegra: clear RDY bit prior to every transfer
The RDY bit indicates that a transfer is complete. This needs to be
cleared by SW before every single HW transaction, rather than only
at the start of each SW transaction (those being made up of n HW
transactions).

It seems that earlier HW may have cleared this bit autonomously when
starting a new transfer, and hence this code was not needed in practice.
However, this is generally a good idea in all cases. In Tegra124, the
HW behaviour appears to have changed, and SW must explicitly clear this
bit. Otherwise, SW will believe that transfers have completed when they
have not, and may e.g. read stale data from the RX FIFO.

Signed-off-by: Yen Lin <yelin@nvidia.com>
[swarren, rewrote commit description, unified duplicate RDY clearing code
and moved it right before the start of the HW transaction, unconditionally
exit loop after reading RX data, rather than checking if TX FIFO is empty,
since it is guaranteed to be]
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
2013-12-19 00:00:51 +05:30
..
altera_spi.c spi: Add GPL-2.0+ SPDX-License-Identifier for missing files 2013-10-16 00:14:01 +05:30
andes_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
andes_spi.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04: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 Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
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: using ip version to check whether has wdrbt 2013-05-12 16:36:11 +02:00
bfin_spi.c spi: bfin_spi: Remove unnecessary test for bus and pins[bus] 2013-12-06 16:06:51 +08:00
bfin_spi6xx.c spi: bfin_spi6xx: Remove unnecessary test for bus and pins[bus] 2013-12-06 16:06:51 +08:00
cf_qspi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cf_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
davinci_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
davinci_spi.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
exynos_spi.c spi_flash: Add spi_flash_probe_fdt() to locate SPI by FDT node 2013-12-09 12:22:12 -07:00
fdt_spi.c tegra114: add SPI driver 2013-03-25 09:56:07 -07:00
fsl_espi.c powerpc: Fix CamelCase checkpatch warnings 2013-08-20 09:57:51 -07:00
ich.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
ich.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
kirkwood_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
Makefile spi: Add support SH Quad SPI driver 2013-12-18 23:23:41 +05:30
mpc8xxx_spi.c Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
mpc52xx_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mxc_spi.c spi: mxc_spi: Fix double incrementing read pointer for unaligned buffers 2013-10-16 00:14:30 +05:30
mxs_spi.c spi: mxs_spi: Configure chipselect after block reset 2013-08-27 19:39:39 +05:30
oc_tiny_spi.c spi: Add GPL-2.0+ SPDX-License-Identifier for missing files 2013-10-16 00:14:01 +05:30
omap3_spi.c spi: omap3: add support for more word lengths 2013-11-12 10:02:44 +01:00
omap3_spi.h spi: omap3: add support for more word lengths 2013-11-12 10:02:44 +01:00
sandbox_spi.c sandbox: spi: Add SPI emulation bus 2013-12-09 12:22:18 -07:00
sh_qspi.c spi: Add support SH Quad SPI driver 2013-12-18 23:23:41 +05:30
sh_spi.c spi: Use spi_alloc_slave() in each SPI driver 2013-03-19 08:45:36 -07:00
sh_spi.h sh_spi: Add 4 chip select signals supporting 2012-03-26 10:09:31 +09:00
soft_spi.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
spi.c spi_flash: Add spi_flash_probe_fdt() to locate SPI by FDT node 2013-12-09 12:22:12 -07:00
tegra20_sflash.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
tegra20_slink.c Merge branch 'u-boot/master' into 'u-boot-arm/master' 2013-03-28 18:50:01 +01:00
tegra114_spi.c spi: tegra: clear RDY bit prior to every transfer 2013-12-19 00:00:51 +05:30
ti_qspi.c spi: add TI QSPI driver 2013-10-07 17:55:51 +05:30
xilinx_spi.c spi: Add GPL-2.0+ SPDX-License-Identifier for missing files 2013-10-16 00:14:01 +05:30
xilinx_spi.h spi: Add GPL-2.0+ SPDX-License-Identifier for missing files 2013-10-16 00:14:01 +05:30
zynq_spi.c spi: Add zynq spi controller driver 2013-08-07 01:09:47 +05:30