1
linux/arch/blackfin/include/asm
Wolfgang Muees 93b61bddc1 Blackfin SPI Driver: Make mmc_spi driver work on Blackfin
1. Rewrite of the non-dma data transfer functions to use only ONE mode
   of TIMOD (TIMOD=0x1).  With TIMOD=0, it was not possible to set the TX
   bit pattern.  So the TDBR = 0xFFFF inside the read calls won't work.

2. Clear SPI_RDBR before reading and before duplex transfer.
   Otherwise the garbage data in RDBR will get read.  Since mmc_spi uses a
   lot of duplex transfers, this is the main cause of mmc_spi failure.

3. Poll RXS for transfer completion.  Polling SPIF or TXS cannot
   guarantee transfer completion.  This may interrupt a transfer before it
   is finished.  Also this may leave garbage data in buffer and affect
   next transfer.

[Yi Li <yi.li@analog.com>: add a field "u16 idle_tx_val" in "struct
bfin5xx_spi_chip" to specify the value to transmit if no TX value
is supplied.]
Signed-off-by: Wolfgang Muees <wolfgang.mues@auerswald.de>
Signed-off-by: Yi Li <yi.li@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-07 08:31:06 -07:00
..
.gitignore
atomic.h Blackfin arch: merge adeos blackfin part to arch/blackfin/ 2009-01-07 23:14:39 +08:00
auxvec.h
bfin5xx_spi.h Blackfin SPI Driver: Make mmc_spi driver work on Blackfin 2009-04-07 08:31:06 -07:00
bfin_sdh.h Blackfin arch: add SDIO host driver platform data 2009-01-07 23:14:38 +08:00
bfin_simple_timer.h
bfin_sport.h Blackfin arch: clean up sports header file 2009-03-28 20:38:17 +08:00
bfin-global.h Blackfin arch: rename cache_lock() to bfin_cache_lock() 2008-11-18 17:48:22 +08:00
bfrom.h Blackfin arch: Update some inline assembly, tweak some register constraints 2009-01-07 23:14:39 +08:00
bitops.h Blackfin arch: merge adeos blackfin part to arch/blackfin/ 2009-01-07 23:14:39 +08:00
blackfin.h Blackfin arch: only define HI/LO macros for assembly files 2008-11-18 17:48:22 +08:00
bug.h
bugs.h
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h Blackfin arch: SMP supporting patchset: Blackfin header files and machine common code 2009-01-07 23:14:39 +08:00
cacheflush.h Blackfin arch: SMP supporting patchset: Blackfin header files and machine common code 2009-01-07 23:14:39 +08:00
cdef_LPBlackfin.h
checksum.h Blackfin arch: Faster Implementation of csum_tcpudp_nofold() 2009-02-04 16:49:45 +08:00
clocks.h
context.S Blackfin arch: Faster C implementation of no-MPU CPLB handler 2009-01-07 23:14:38 +08:00
cplb.h Blackfin arch: Faster C implementation of no-MPU CPLB handler 2009-01-07 23:14:38 +08:00
cplbinit.h Blackfin arch: Faster C implementation of no-MPU CPLB handler 2009-01-07 23:14:38 +08:00
cpu.h Blackfin arch: delete now unused "cclk" member of blackfin_cpudata 2009-01-07 23:14:38 +08:00
cputime.h
current.h
def_LPBlackfin.h
delay.h Blackfin arch: Remove outdated code 2009-02-04 16:49:45 +08:00
device.h
div64.h
dma-mapping.h Blackfin arch: fix a broken define in dma-mapping 2008-11-18 17:48:22 +08:00
dma.h Blackfin arch: add get_dma_config() func to match set_dma_config() 2009-01-07 23:14:38 +08:00
dpmc.h
early_printk.h
elf.h [PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY 2008-10-16 15:40:05 +02:00
emergency-restart.h
entry.h Blackfin arch: merge adeos blackfin part to arch/blackfin/ 2009-01-07 23:14:39 +08:00
errno.h
fb.h
fcntl.h
fixed_code.h
flat.h
ftrace.h tracing: make CALLER_ADDRx overwriteable 2009-03-02 16:49:37 -05:00
futex.h
gpio.h Blackfin arch: convert BF5{18,27,48}_FAMILY to CONFIG_BF{51,52,54}x 2009-03-28 20:32:57 +08:00
gptimers.h Blackfin arch: convert BF5{18,27,48}_FAMILY to CONFIG_BF{51,52,54}x 2009-03-28 20:32:57 +08:00
hardirq.h Blackfin arch: move ack_bad_irq() prototype to hardirq.h to match other arches 2008-11-18 17:48:22 +08:00
hw_irq.h
io.h Blackfin arch: Use reads/writes instead of ins/outs directly 2009-01-07 23:14:39 +08:00
ioctl.h
ioctls.h
ipcbuf.h
ipipe_base.h Blackfin arch: Update adeos blackfin arch patch to 1.9-00 2009-03-04 16:52:38 +08:00
ipipe.h Blackfin arch: Update adeos blackfin arch patch to 1.9-00 2009-03-04 16:52:38 +08:00
irq_handler.h
irq_regs.h
irq.h Blackfin arch: Update adeos blackfin arch patch to 1.9-00 2009-03-04 16:52:38 +08:00
Kbuild Blackfin arch: cleanup bfin_sport.h header and export it to userspace 2009-03-05 19:42:43 +08:00
kdebug.h
kgdb.h Blackfin arch: scrub comments/whitespace/cvs keywords 2009-02-04 16:49:45 +08:00
kmap_types.h
l1layout.h Blackfin arch: disable pthread stack check for SMP at runtime 2009-01-07 23:14:38 +08:00
linkage.h
local.h
mem_init.h Blackfin arch: Fix Bug - Kernel does not boot if re-program clocks 2009-02-04 16:49:45 +08:00
mem_map.h Blackfin arch: smp patch cleanup from LKML review 2009-01-07 23:14:39 +08:00
mman.h
mmu_context.h Blackfin arch: SMP supporting patchset: Blackfin CPLB related code 2008-11-18 17:48:22 +08:00
mmu.h NOMMU: Make VMAs per MM as for MMU-mode linux 2009-01-08 12:04:47 +00:00
module.h
msgbuf.h
mutex-dec.h Blackfin arch: SMP supporting patchset: Blackfin header files and machine common code 2009-01-07 23:14:39 +08:00
mutex.h Blackfin arch: SMP supporting patchset: Blackfin header files and machine common code 2009-01-07 23:14:39 +08:00
nand.h
page_offset.h
page.h
param.h
pci.h
pda.h Blackfin arch: Add ability to count and display number of NMI interrupts 2009-02-04 16:49:45 +08:00
percpu.h percpu: clean up percpu constants 2009-03-06 14:33:58 +09:00
pgalloc.h
pgtable.h Blackfin arch: stub out pgprot_noncached() like other people seem to do on nommu 2009-01-07 23:14:39 +08:00
poll.h
portmux.h
posix_types.h
processor.h Blackfin arch: disable pthread stack check for SMP at runtime 2009-01-07 23:14:38 +08:00
ptrace.h Blackfin arch: ptrace - make sure PT_ORIG_R0 and PT_ORIG_P0 offsets are declared 2008-10-09 15:22:56 +08:00
reboot.h Blackfin arch: Fix bug - Run "reboot" hangs bf518-ezbrd 2009-02-04 16:49:45 +08:00
resource.h
rwlock.h Blackfin arch: SMP supporting patchset: Blackfin header files and machine common code 2009-01-07 23:14:39 +08:00
scatterlist.h
sections.h
segment.h
sembuf.h
serial.h Blackfin arch: define BASE_BAUD like everyone else 2008-11-18 17:48:22 +08:00
setup.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h Blackfin arch: smp patch cleanup from LKML review 2009-01-07 23:14:39 +08:00
socket.h net: new user space API for time stamping of incoming and outgoing packets 2009-02-15 22:43:33 -08:00
sockios.h
spinlock_types.h Blackfin arch: SMP supporting patchset: Blackfin header files and machine common code 2009-01-07 23:14:39 +08:00
spinlock.h Blackfin arch: SMP supporting patchset: Blackfin header files and machine common code 2009-01-07 23:14:39 +08:00
stat.h
statfs.h
string.h
swab.h headers_check fix: blackfin, swab.h 2009-02-01 11:01:23 +05:30
system.h Blackfin arch: merge adeos blackfin part to arch/blackfin/ 2009-01-07 23:14:39 +08:00
termbits.h
termios.h
thread_info.h Blackfin arch: Update adeos blackfin arch patch to 1.9-00 2009-03-04 16:52:38 +08:00
time.h
timex.h Blackfin arch: make sure cycles is marked as volatile so gcc doesnt reorder on us 2008-10-16 23:55:41 +08:00
tlb.h
tlbflush.h
topology.h
trace.h
traps.h Blackfin arch: Better error handling of unknown exceptions 2008-10-08 14:43:47 +08:00
types.h
uaccess.h Blackfin arch: add __must_check markings to our user functions like other arches 2009-01-07 23:14:38 +08:00
ucontext.h
unaligned.h
unistd.h
user.h
xor.h Blackfin arch: use generic xor.h 2008-11-18 17:48:22 +08:00