1. 11 4月, 2015 1 次提交
    • M
      spi: bcm2835: transform native-cs to gpio-cs on first spi_setup · a30a555d
      Martin Sperl 提交于
      Transforms the bcm-2835 native SPI-chip select to their gpio-cs equivalent.
      
      This allows for some support of some optimizations that are not
      possible due to HW-gliches on the CS line - especially filling
      the FIFO before enabling SPI interrupts (by writing to CS register)
      while the transfer is already in progress (See commit: e3a2be30)
      
      This patch also works arround some issues in bcm2835-pinctrl which does not
      set the value when setting the GPIO as output - it just sets up output and
      (typically) leaves the GPIO as low.  When a fix for this is merged then this
      gpio_set_value can get removed from bcm2835_spi_setup.
      Signed-off-by: NMartin Sperl <kernel@martin.sperl.org>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      a30a555d
  2. 30 3月, 2015 2 次提交
  3. 27 3月, 2015 1 次提交
  4. 24 3月, 2015 3 次提交
  5. 21 3月, 2015 1 次提交
    • M
      spi: bcm2835: fix all checkpath --strict messages · 342f948a
      Martin Sperl 提交于
      The following errors/warnings issued by checkpatch.pl --strict have been fixed:
      drivers/spi/spi-bcm2835.c:182: CHECK: Alignment should match open parenthesis
      drivers/spi/spi-bcm2835.c:191: CHECK: braces {} should be used on all arms of this statement
      drivers/spi/spi-bcm2835.c:234: CHECK: Alignment should match open parenthesis
      drivers/spi/spi-bcm2835.c:256: CHECK: Alignment should match open parenthesis
      drivers/spi/spi-bcm2835.c:271: CHECK: Alignment should match open parenthesis
      drivers/spi/spi-bcm2835.c:346: CHECK: Alignment should match open parenthesis
      total: 0 errors, 0 warnings, 6 checks, 403 lines checked
      
      In 2 locations the arguments had to get split/moved to the next line so that the
      line width stays below 80 chars.
      Signed-off-by: NMartin Sperl <kernel@martin.sperl.org>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      342f948a
  6. 22 12月, 2014 1 次提交
  7. 20 10月, 2014 1 次提交
  8. 16 2月, 2014 1 次提交
  9. 18 12月, 2013 1 次提交
  10. 15 11月, 2013 2 次提交
  11. 26 9月, 2013 1 次提交
  12. 23 8月, 2013 1 次提交
  13. 05 8月, 2013 1 次提交
  14. 24 7月, 2013 1 次提交
  15. 13 5月, 2013 1 次提交
  16. 01 4月, 2013 1 次提交
  17. 13 3月, 2013 1 次提交
    • C
      spi: add driver for BCM2835 · f8043872
      Chris Boot 提交于
      The BCM2835 contains two forms of SPI master controller (one known
      simply as SPI0, and the other known as the "Universal SPI Master", in
      the auxilliary block) and one form of SPI slave controller. This patch
      adds support for the SPI0 controller.
      
      This driver is taken from Chris Boot's repository at
      git://github.com/bootc/linux.git rpi-linear
      as of commit 6de2905 "spi-bcm2708: fix printf with spurious %s".
      In the first SPI-related commit there, Chris wrote:
      
      Thanks to csoutreach / A Robinson for his driver which I used as an
      inspiration. You can find his version here:
      http://piface.openlx.org.uk/raspberry-pi-spi-kernel-driver-available-for
      
      Changes made during upstreaming:
      * Renamed bcm2708 to bcm2835 as per upstream naming for this SoC.
      * Removed support for brcm,realtime property.
      * Increased transfer timeout to 30 seconds.
      * Return IRQ_NONE from the IRQ handler if no interrupt was handled.
      * Disable TA (Transfer Active) and clear FIFOs on a transfer timeout.
      * Wrote device tree binding documentation.
      * Request unnamed clock rather than "sys_pclk"; the DT will provide the
        correct clock.
      * Assume that tfr->speed_hz and tfr->bits_per_word are always set in
        bcm2835_spi_start_transfer(), bcm2835_spi_transfer_one(), so no need
        to check spi->speed_hz or tft->bits_per_word.
      * Re-ordered probe() to remove the need for temporary variables.
      * Call clk_disable_unprepare() rather than just clk_unprepare() on probe()
        failure.
      * Don't use devm_request_irq(), to ensure that the IRQ doesn't fire after
        we've torn down the device, but not unhooked the IRQ.
      * Moved probe()'s call to clk_prepare_enable() so we can be sure the clock
        is enabled if the IRQ handler fires immediately.
      * Remove redundant checks from bcm2835_spi_check_transfer() and
        bcm2835_spi_setup().
      * Re-ordered IRQ handler to check for RXR before DONE. Added comments to
        ISR.
      * Removed empty prepare/unprepare implementations.
      * Removed use of devinit/devexit.
      * Added BCM2835_ prefix to defines.
      Signed-off-by: NChris Boot <bootc@bootc.net>
      Signed-off-by: NStephen Warren <swarren@wwwdotorg.org>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      f8043872