linux/arch/arm/mach-davinci/include/mach
Brian Niebuhr c29e3c60e7 spi: davinci: always start transmit DMA
Due to the full duplex nature of the SPI bus, the SPI master
on DaVinci needs transmit to be active even if the tranfer is
only meant to collect receive data.

The current code achieves this by using a temporary zeroed buffer
to provide DMA data in case the transfer does not have a transmit
buffer provided.

However, the transmit DMA is started only if transmit buffer is
provided rendering the temporary buffer unused. Instead the code
relies on a write to SPIDAT1 register to trigger transmit operation.
This however only sends two bytes of data.

Fix this by starting transmit DMA always.

This changes exposes a bug on DM355 where the CSHOLD bit in
SPIDAT1 needs to be written to in between transfers. Handle
that by introducing a "cshold_bug" platform data which is
set to true for DM355.

Signed-off-by: Brian Niebuhr <bniebuhr@efjohnson.com>
Tested-By: Michael Williamson <michael.williamson@criticallink.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
2010-11-18 18:38:33 +05:30
..
aemif.h davinci: add support for aemif timing configuration 2010-09-24 07:40:26 -07:00
asp.h ASoC: davinci: let platform data define edma queue numbers 2010-07-20 09:57:20 +01:00
cdce949.h davinci: add support for CDCE949 clock synthesizer 2010-02-04 13:29:58 -08:00
clkdev.h davinci: major rework of clock, PLL, PSC infrastructure 2009-04-23 09:31:00 -07:00
clock.h davinci: major rework of clock, PLL, PSC infrastructure 2009-04-23 09:31:00 -07:00
common.h Davinci: iotable based ioremap() interception 2010-05-13 10:05:31 -07:00
cp_intc.h Davinci: aintc/cpintc - use ioremap() 2010-05-13 10:05:28 -07:00
cpufreq.h davinci: DA850/OMAP-L138: avoid using separate initcall for initializing regulator 2009-11-25 10:21:37 -08:00
cpuidle.h davinci: cpuidle: move mapping of DDR2 controller registers out of driver 2010-02-04 13:29:38 -08:00
cputype.h Davinci: tnetv107x cpu types 2010-05-06 15:02:05 -07:00
da8xx.h DA850: Add MMCSD1 resources, platform device and convenience registration function 2010-09-24 07:40:26 -07:00
debug-macro.S arm: return both physical and virtual addresses from addruart 2010-10-20 00:27:33 -04:00
dm355.h DaVinci: move AEMIF #define's to the proper headers 2010-05-06 15:02:06 -07:00
dm365.h davinci: cleanup mdio arch code and switch to phy_id 2010-09-24 07:40:30 -07:00
dm644x.h davinci: cleanup mdio arch code and switch to phy_id 2010-09-24 07:40:30 -07:00
dm646x.h davinci: cleanup mdio arch code and switch to phy_id 2010-09-24 07:40:30 -07:00
edma.h davinci: support for EDMA resource sharing 2010-08-05 09:58:25 -07:00
entry-macro.S davinci: Integrate cp_intc support into low-level irq code 2009-05-28 15:17:47 -07:00
gpio.h Davinci: tnetv107x initial gpio support 2010-06-21 12:48:31 -07:00
hardware.h ARM: 5928/1: Change type of VMALLOC_END to unsigned long. 2010-02-15 21:40:33 +00:00
i2c.h Merge branch 'for-next' into for-linus 2010-03-08 16:55:37 +01:00
io.h davinci: Move IO device mapping macros from io.h to hardware.h 2009-08-26 10:57:01 +03:00
irqs.h Davinci: tnetv107x IRQ definitions 2010-05-06 15:02:05 -07:00
keyscan.h Input: davinci_keyscan - add device_enable method to platform data 2010-01-06 00:17:11 -08:00
memory.h ARM: Remove 'node' argument form arch_adjust_zones() 2010-07-16 10:57:36 +01:00
mmc.h davinci: mmc: pass number of SG segments as platform data 2010-05-27 09:12:39 -07:00
mux.h DM365: Added more PINMUX configurations for AEMIF 2010-05-13 11:10:31 -07:00
nand.h nand: davinci: add support for timing configuration 2010-09-24 07:40:26 -07:00
pm.h davinci: add power management support 2010-02-04 13:29:55 -08:00
psc.h DA850: Add LPSC id for MMCSD1 peripheral 2010-09-24 07:40:26 -07:00
serial.h Davinci: tnetv107x decompresser uart definitions 2010-06-21 12:48:30 -07:00
spi.h spi: davinci: always start transmit DMA 2010-11-18 18:38:33 +05:30
sram.h davinci: add SRAM allocator 2009-05-28 15:18:13 -07:00
system.h Davinci: watchdog reset separation across socs 2010-05-06 15:02:09 -07:00
time.h davinci: Add watchdog base address flexibility 2009-05-26 08:20:31 -07:00
timex.h davinci: explain CLOCK_TICK_RATE of 27MHz in include/mach/timex.h 2010-02-04 13:29:41 -08:00
tnetv107x.h davinci: add tnetv107x keypad platform device 2010-09-24 07:40:31 -07:00
uncompress.h davinci: Initial support for Omapl138-Hawkboard 2010-09-24 07:40:32 -07:00
usb.h DaVinci: rename setup_usb() to davinci_setup_usb() 2009-11-25 10:21:33 -08:00
vmalloc.h davinci: Move IO device mapping macros from io.h to hardware.h 2009-08-26 10:57:01 +03:00