1. 22 Aug, 2013 1 commit
  2. 09 Aug, 2013 1 commit
  3. 06 Aug, 2013 1 commit
  4. 29 Jul, 2013 1 commit
  5. 25 Jul, 2013 1 commit
  6. 15 Jul, 2013 2 commits
  7. 19 Jun, 2013 1 commit
  8. 10 Jun, 2013 1 commit
  9. 16 Apr, 2013 1 commit
  10. 07 Apr, 2013 3 commits
  11. 21 Mar, 2013 1 commit
  12. 12 Mar, 2013 1 commit
    • Chris Boot's avatar
      spi: add driver for BCM2835 · f8043872
      Chris Boot authored
      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: default avatarChris Boot <bootc@bootc.net>
      Signed-off-by: default avatarStephen Warren <swarren@wwwdotorg.org>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      f8043872
  13. 08 Feb, 2013 3 commits
  14. 26 Jan, 2013 1 commit
  15. 21 Jan, 2013 1 commit
  16. 06 Dec, 2012 2 commits
  17. 05 Dec, 2012 1 commit
  18. 14 Nov, 2012 1 commit
  19. 30 Oct, 2012 1 commit
  20. 01 Oct, 2012 1 commit
    • Stephen Warren's avatar
      spi: remove completely broken Tegra driver · 536a53a3
      Stephen Warren authored
      
      The current SPI driver has many issues. Examples are:
      
      * Segfaulting on most transfers due to expecting all transfers to have
        both RX and TX buffers.
      * Hanging on TX transfers since the whole driver flow is driven by RX
        DMA completion, but the HW is only told to enable RX for RX transfers.
      * Use of clk_disable_unprepare() from atomic context.
      * Once those and other minor issues are fixed, the driver still doesn't
        actually work.
      * The driver also implements a deprecated API to the SPI core.
      
      For this reason, simply remove the driver completely. This has two
      advantages:
      
      1) This will remove the last use of Tegra's <mach/dma.h>, which will
         allow that file to be removed, which is required for single zImage
         work.
      
      2) The downstream driver is significaly different from the current
         code. I believe a patch to re-add the downstream driver (with
         appropriate cleanup) will be much simpler to review if it's a new
         file rather than randomly interspered with essentially unrelated
         existing code.
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      536a53a3
  21. 17 Sep, 2012 1 commit
  22. 01 Sep, 2012 1 commit
  23. 22 Aug, 2012 2 commits
  24. 17 Aug, 2012 1 commit
  25. 23 Jul, 2012 1 commit
  26. 20 Jul, 2012 1 commit
  27. 15 Jul, 2012 1 commit
  28. 10 Jul, 2012 1 commit
  29. 27 Apr, 2012 1 commit
  30. 25 Apr, 2012 1 commit
  31. 09 Mar, 2012 3 commits