u-boot/drivers
Todor I Mollov d04371a116 Blackfin: spi: make cs deassert function deterministic
Blackfin SPI driver was not driving the SPI chip-select high before
putting the chip-select signals into tri-state mode.  This is probably
something that slipped by unnoticed in most designs.  If the signals are
put directly into a tri-state mode, then the board is relying on the
pull-up resistors to pull up the chip-select before the next transaction.
Most of the time this is fine, except when you have two transactions that
follow each other very closely, such as the flash erase and read status
register commands.  In this case I was seeing a 500ns separation between
the transactions.  In my setup, with a 10kOhm pull-up, it would meet
timing spec about half the time and resulted in intermittent errors.  (A
stronger pull up would fix this, but our design is targeted for low power
consumption and a 3.3kOhm @ 3.3v is 3.3mW of needless power consumption.)
I modified the spi_cs_deactivate() function in bfin_spi.c to drive the
chip-selects high before putting them into tri-state.  For me, this
resulted in a rise time of 5ns instead of the previous rise time of about
1us, and fully satisfied the timing spec of the chip.

Signed-off-by: Todor I Mollov <tmollov@ucsd.edu>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-04-06 03:49:31 -04:00
..
bios_emulator drivers/bios_emulator: Move conditional compilation to Makefile 2008-12-07 01:29:31 +01:00
block Update CHANGELOG, coding style cleanup. 2009-04-05 00:27:57 +02:00
dma drivers/dma: Move conditional compilation to Makefile 2008-08-13 01:40:39 +02:00
fpga fpga: Fix Spartan III FPGA booting 2009-02-21 22:52:44 +01:00
gpio i.MX31: add a simple gpio driver 2009-02-24 09:43:10 +01:00
hwmon rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
i2c Merge branch 'master' of git://git.denx.de/u-boot-arm 2009-04-02 00:24:33 +02:00
input Rename common ns16550 constants with UART_ prefix to prevent conflicts 2009-04-03 22:34:07 +02:00
misc fsl_law: Fix bug in calculation of LAW sizing 2009-04-04 10:21:40 -05:00
mmc Blackfin: convert bfin_sdh to legacy mmc 2009-04-02 06:42:05 -04:00
mtd UBI/cfi-mtd: Fix mtd name for multiple chips 2009-04-04 23:25:40 +02:00
net mpc52xx phy: initialize only when needed 2009-04-04 22:37:39 +02:00
pci fsl_pci: Renamed immap_fsl_pci.h to fsl_pci.h 2009-04-04 10:21:29 -05:00
pcmcia mpc8xx_pcmcia: move CONFIG_8xx out of .c file and into Makefile 2009-02-18 00:51:21 +01:00
qe Update CHANGELOG, coding style cleanup. 2009-04-05 00:27:57 +02:00
rtc Update CHANGELOG, coding style cleanup. 2009-04-05 00:27:57 +02:00
serial Update CHANGELOG, coding style cleanup. 2009-04-05 00:27:57 +02:00
spi Blackfin: spi: make cs deassert function deterministic 2009-04-06 03:49:31 -04:00
twserial drivers/twserial: Add protocol driver for "three wire serial" interface. 2009-03-30 09:38:36 +02:00
usb at91: move usb driver to drivers/usb 2009-04-04 20:42:21 +02:00
video video: add an i.MX31 framebuffer driver 2009-02-24 10:22:59 +01:00
watchdog at91sam9: add watchdog support 2009-04-04 20:42:19 +02:00