linux/drivers/spi
Jean-Christophe Lallemand 50d7d5bf31 atmel_spi: work-around required for new HW bug in AT91SAM9263 Rev.B SPI controller
We're working with an AT91SAM9263 Rev B in our design and I experienced
some inconsistency in spi-based touchscreen usage between our board and
the Atmel evaluation kit we have that runs on a Rev A chip.

The data was apparently delayed by 1 byte and got ridiculous data out of
the touchscreen driver, very strange.  As everything looked normal in
the spi, touchscreen and dma logs, I contacted the Atmel support and
they triggered me on a new HW bug that appeared in the Rev B SPI
controller.

The problem is that the SPI controller on the Rev B needs that the
software reset is performed two times so that it's performed correctly.

Applying the patch below solves the issue on my Rev B board.  I've tested
it as well on my Rev A evaluation kit and it has apparently no unwanted
side effect, things continue to work as expected.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
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>
2008-11-12 17:17:17 -08:00
..
at25.c
atmel_spi.c atmel_spi: work-around required for new HW bug in AT91SAM9263 Rev.B SPI controller 2008-11-12 17:17:17 -08:00
atmel_spi.h
au1550_spi.c
Kconfig
Makefile
mpc52xx_psc_spi.c mpc52xx_psc_spi: remove code associated with !CONFIG_PPC_MERGE 2008-10-16 11:21:38 -07:00
omap2_mcspi.c [ARM] omap: convert OMAP drivers to use ioremap() 2008-09-05 17:02:30 +01:00
omap_uwire.c [ARM] omap: convert OMAP drivers to use ioremap() 2008-09-05 17:02:30 +01:00
orion_spi.c orion_spi: handle 88F6183 erratum 2008-10-16 11:21:38 -07:00
pxa2xx_spi.c pxa2xx_spi: fix chip_info defaults and documentation. 2008-10-16 11:21:38 -07:00
spi_bfin5xx.c
spi_bitbang.c
spi_butterfly.c
spi_imx.c
spi_lm70llp.c
spi_mpc83xx.c spi_mpc83xx: reject invalid transfer sizes 2008-09-13 14:41:51 -07:00
spi_s3c24xx_gpio.c
spi_s3c24xx.c spi_s3c24xx: pin configuration updates 2008-10-16 11:21:38 -07:00
spi_sh_sci.c
spi_txx9.c
spi.c spi: core and gpio expanders use subsys_init 2008-10-16 11:21:38 -07:00
spidev.c device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
tle62x0.c
xilinx_spi.c