Skip to content
Snippets Groups Projects
  1. Apr 14, 2014
  2. Mar 18, 2014
  3. Mar 13, 2014
  4. Feb 23, 2014
    • Maxime Ripard's avatar
      spi: sunxi: Add Allwinner A10 SPI controller driver · b5f65179
      Maxime Ripard authored
      
      The older Allwinner SoCs (A10, A13, A10s and A20) all have the same SPI
      controller.
      
      Unfortunately, this SPI controller, even though quite similar, is significantly
      different from the recently supported A31 SPI controller (different registers
      offset, split/merged registers, etc.). Supporting both controllers in a single
      driver would be unreasonable, hence the addition of a new driver.
      
      Like its more recent counterpart, it supports DMA, but the driver only does PIO
      until we have a dmaengine driver for this platform.
      
      Signed-off-by: default avatarMaxime Ripard <maxime.ripard@free-electrons.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      b5f65179
  5. Feb 19, 2014
    • Ivan T. Ivanov's avatar
      spi: Add Qualcomm QUP SPI controller support · 64ff247a
      Ivan T. Ivanov authored
      
      Qualcomm Universal Peripheral (QUP) core is an AHB slave that
      provides a common data path (an output FIFO and an input FIFO)
      for serial peripheral interface (SPI) mini-core. SPI in master
      mode supports up to 50MHz, up to four chip selects, programmable
      data path from 4 bits to 32 bits and numerous protocol variants.
      
      Cc: Alok Chauhan <alokc@codeaurora.org>
      Cc: Gilad Avidov <gavidov@codeaurora.org>
      Cc: Kiran Gunda <kgunda@codeaurora.org>
      Cc: Sagar Dharia <sdharia@codeaurora.org>
      Cc: dsneddon@codeaurora.org
      Signed-off-by: default avatarIvan T. Ivanov <iivanov@mm-sol.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      64ff247a
  6. Feb 05, 2014
  7. Dec 04, 2013
  8. Aug 22, 2013
    • Sourav Poddar's avatar
      spi/qspi: Add qspi flash controller · 505a1495
      Sourav Poddar authored
      
      The patch add basic support for the quad spi controller.
      
      QSPI is a kind of spi module that allows single,
      dual and quad read access to external spi devices. The module
      has a memory mapped interface which provide direct interface
      for accessing data form external spi devices.
      
      The patch will configure controller clocks, device control
      register and for defining low level transfer apis which
      will be used by the spi framework to transfer data to
      the slave spi device(flash in this case).
      
      Test details:
      -------------
      Tested this on dra7 board.
      Test1: Ran mtd_stesstest for 40000 iterations.
         - All iterations went through without failure.
      Test2: Use mtd utilities:
        - flash_erase to erase the flash device
        - mtd_debug read to read data back.
        - mtd_debug write to write to the data flash.
       diff between the write and read data shows zero.
      
      Acked-by: default avatarFelipe <Balbi&lt;balbi@ti.com>
      Reviewed-by: default avatarFelipe <Balbi&lt;balbi@ti.com>
      Signed-off-by: default avatarSourav Poddar <sourav.poddar@ti.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      505a1495
    • Chao Fu's avatar
      spi:Add Freescale DSPI driver for Vybrid VF610 platform · 349ad66c
      Chao Fu authored
      
      The serial peripheral interface (SPI) module implemented on Freescale Vybrid
      platform provides a synchronous serial bus for communication between Vybrid
      and the external peripheral device.
      The SPI supports full-duplex, three-wire synchronous transfer, has TX/RX FIFO
      with depth of four entries.
      
      This driver is the SPI master mode driver and has been tested on Vybrid
      VF610TWR board.
      
      Signed-off-by: default avatarAlison Wang <b18965@freescale.com>
      Signed-off-by: default avatarChao Fu <b44548@freescale.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      349ad66c
  9. Aug 09, 2013
  10. Jul 15, 2013
  11. Apr 07, 2013
  12. Mar 12, 2013
    • 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. Feb 08, 2013
  14. Dec 06, 2012
  15. Dec 05, 2012
  16. Nov 14, 2012
  17. Oct 30, 2012
  18. Oct 01, 2012
    • 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
  19. Aug 22, 2012
  20. Aug 17, 2012
  21. Jul 23, 2012
  22. Jul 20, 2012
  23. Apr 27, 2012
  24. Mar 09, 2012
  25. Mar 08, 2012
  26. Jul 04, 2011
  27. Jun 06, 2011
  28. May 27, 2011
  29. Mar 15, 2011
  30. Feb 22, 2011
  31. Jan 18, 2011
  32. Dec 24, 2010
Loading