freebsd-src/sys/arm
Marius Strobl 31a2c906d7 - Prepend the device description with "AT91" to reflect its nature. [1]
- Move DMA tag and map creature to at91_spi_activate() where the other
  resource allocation also lives. [1]
- Flesh out at91_spi_deactivate(). [1]
- Work around the "Software Reset must be Written Twice" erratum.
- For now, run the bus at the slowest speed possible in order to work
  around data corruption on transit even seen with 9 MHz on ETHERNUT5
  (15 MHz maximum) and AT45DB321D (20 MHz maximum). This also serves as
  a poor man's work-around for the "NPCSx rises if no data data is to be
  transmitted" erratum of RM9200. Being able to use the appropriate bus
  speed would require:
  1) Adding a proper work-around for the RM9200 bug consisting of taking
     the chip select control away from the SPI peripheral and managing it
     directly as a GPIO line.
  2) Taking the maximum frequencies supported by the actual board and the
     slave devices into account and basing the whole thing on the master
     clock instead of hardcoding a divisor as previously done.
  3) Fixing the above mentioned data corruption.
- KASSERT that TX/RX command and data sizes match on transfers.
- Introduce a mutex ensuring that only one child device is running a SPI
  transfer at a time. [1]
- Add preliminary, #ifdef'ed out support for setting the chip select. [1]
- Use the RX instead of the TX commando size when setting up the RX side
  of a transfer.
- For controllers having SPI_SR_TXEMPTY, i.e. !RM9200, also wait for the
  completion of the TX part of transfers before stopping the whole thing
  again.
- Use DEVMETHOD_END. [1]
- Use NULL instead of 0 for pointers. [1, partially]

Additional testing by:  Ian Lepore

Submitted by:   Ian Lepore [1]
MFC after:      1 week
2012-06-03 00:54:10 +00:00
..
arm Print userspace backtrace for current thread. 2012-05-30 13:33:27 +00:00
at91 - Prepend the device description with "AT91" to reflect its nature. [1] 2012-06-03 00:54:10 +00:00
compile
conf - Correct the comments regarding the sizes of some partitions in the 2012-05-28 17:58:10 +00:00
econa Implement better support for USB controller suspend and resume. 2011-12-14 00:28:54 +00:00
include Flush D and I caches after setting a breakpoint. 2012-05-30 13:31:08 +00:00
mv Unbreak LINT for ARM: DEBUG is a kernel configuration option. 2012-05-19 18:16:49 +00:00
s3c2xx0 Get myself a brain, move the call to init_param1() before the first use in 2011-02-21 13:11:05 +00:00
sa11x0 Remove spurious 8bit chars, turning files into plain ASCII. 2012-01-15 13:23:33 +00:00
xscale Remove obsolte big endian flag. It is no longer needed. 2012-05-11 14:51:59 +00:00