u-boot-2016/drivers
Marek Vasut e9f7eafd3c MX28: SPI: Fix the DMA chaining
It turns out that in order for the SPI DMA to properly support
continuous transfers longer than 65280 bytes, there are some very
important parts that were left out from the documentation.

Firstly, the XFER_SIZE register is not written with the whole length
of a transfer, but is written by each and every chained descriptor
with the length of the descriptors data buffer.

Next, unlike the demo code supplied by FSL, which only writes one PIO
word per descriptor, this does not apply if the descriptors are chained,
since the XFER_SIZE register must be written. Therefore, it is essential
to use four PIO words, CTRL0, CMD0, CMD1, XFER_SIZE. CMD0 and CMD1 are
written with zero, since they don't apply. The DMA programs the PIO words
in an incrementing order, so four PIO words.

Finally, unlike the demo code supplied by FSL, the SSP_CTRL0_IGNORE_CRC
must not be set during the whole transfer, but it must be set only on the
last descriptor in the chain.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Stefano Babic <sbabic@denx.de>
2012-09-06 14:17:55 +02:00
..
bios_emulator Add abs() macro to return absolute value 2012-05-15 08:31:37 +02:00
block Remove remaining mdelay() macros 2012-07-08 22:15:08 +02:00
bootcount Consolidate bootcount code into drivers/bootcount 2012-09-01 14:26:02 +02:00
dma MX28: DMA: Prolong the DMA timeout 2012-09-01 14:58:29 +02:00
fpga Remove execute permissions from source files 2012-03-04 21:56:15 +01:00
gpio gpio: add gpio api support to mx27 (v4) 2012-09-01 14:58:29 +02:00
hwmon hwmon: do not init sensors on startup 2011-08-04 23:30:38 +02:00
i2c mxs: Convert sys_proto.h prefixes to 'mxs' 2012-09-01 14:58:25 +02:00
input tegra20: rename tegra2 -> tegra20 2012-09-01 14:58:21 +02:00
misc pmic: dialog: Avoid name conflicts 2012-05-15 08:31:34 +02:00
mmc fsl_esdhc: Remove cache snooping for i.MX 2012-09-01 14:58:30 +02:00
mtd at91: atmel_nand: Update driver to support Programmable Multibit ECC controller 2012-09-01 17:06:14 +02:00
net arm : Atmel : add at91sam9x5ek board support 2012-09-01 14:58:14 +02:00
pci pci: declare pciauto functions in header 2012-03-30 22:46:00 +02:00
pcmcia PXA: Remove PXA PCMCIA support 2012-03-26 23:09:23 +02:00
power i2c: Add TPS6586X driver 2012-05-15 08:31:37 +02:00
qe drivers/qe/uec.c: Fix compile warning 2012-05-22 13:41:48 -05:00
rtc rtc: add support of mx27 rtc 2012-09-01 14:58:25 +02:00
serial Merge branch 'agust@denx.de' of git://git.denx.de/u-boot-staging 2012-09-02 00:44:09 +02:00
spi MX28: SPI: Fix the DMA chaining 2012-09-06 14:17:55 +02:00
tpm Introduce generic TPM support in u-boot 2011-12-07 08:45:51 +01:00
twserial Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
usb mxs: rename regs-clkctrl.h to regs-clkctrl-mx28.h 2012-09-01 14:58:25 +02:00
video video: support exynos pwm backlight driver 2012-09-01 14:58:24 +02:00
watchdog AT91: fix at91sam_wdt.c to reworked header files 2011-05-18 07:56:51 +02:00