1. 16 4月, 2009 3 次提交
  2. 08 4月, 2009 1 次提交
  3. 07 4月, 2009 9 次提交
  4. 06 4月, 2009 2 次提交
    • T
      Blackfin: spi: make cs deassert function deterministic · d04371a1
      Todor I Mollov 提交于
      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: NTodor I Mollov <tmollov@ucsd.edu>
      Signed-off-by: NMike Frysinger <vapier@gentoo.org>
      d04371a1
    • W
      712ac6a1
  5. 05 4月, 2009 25 次提交