05 Jul, 2011

1 commit


06 Jun, 2011

1 commit

  • Sort the SPI makefile and enforce the naming convention spi_*.c for
    spi drivers.

    This change also rolls the contents of atmel_spi.h into the .c file
    since there is only one user of that particular include file.

    v2: - Use 'spi-' prefix instead of 'spi_' to match what seems to be
    be the predominant pattern for subsystem prefixes.
    - Clean up filenames in Kconfig and header comment blocks

    Signed-off-by: Grant Likely
    Acked-by: Wolfram Sang
    Acked-by: Linus Walleij

    Grant Likely
     

27 May, 2011

1 commit

  • The Blackfin SPORT peripheral is a pretty flexible device. With enough
    coaching, we can make it generate SPI compatible waveforms. This is
    desirable as the SPORT can run at much higher clock frequencies than the
    dedicated on-chip SPI peripheral, and it can do full duplex DMA. It also
    opens up the possibility of multiple SPI buses in case someone wants to
    dedicate a whole bus to a specific part that does not play well with
    others.

    Signed-off-by: Cliff Cai
    Signed-off-by: Bryan Wu
    Signed-off-by: Michael Hennerich
    Signed-off-by: Mike Frysinger
    Signed-off-by: Grant Likely

    Cliff Cai
     

19 Mar, 2011

1 commit

  • * 'spi/next' of git://git.secretlab.ca/git/linux-2.6: (34 commits)
    spi/dw_spi: move dw_spi.h into drivers/spi
    spi/dw_spi: Fix missing header
    gpio/langwell: Clear edge bit before handling
    gpio/langwell: Simplify demux loop
    gpio/langwell: Convert irq name space
    gpio/langwell: Fix broken irq_eoi change.
    gpio; Make Intel chipset gpio drivers depend on x86
    gpio/cs5535-gpio: Fix section mismatch
    spi/rtc-{ds1390,ds3234,m41t94}: Use spi_get_drvdata() for SPI devices
    spi/davinci: Support DMA transfers larger than 65535 words
    spi/davinci: Use correct length parameter to dma_map_single calls
    gpio: Use __devexit at necessary places
    gpio: add MODULE_DEVICE_TABLE to pch_gpio and ml_ioh_gpio
    gpio/mcp23s08: support mcp23s17 variant
    of_mmc_spi: add card detect irq support
    spi/omap_mcspi: catch xfers of non-multiple SPI word size
    spi/omap_mcspi: Off-by-one error in finding the right divisor
    gpio/pca953x: Fix wrong pointer type
    spi/pl022: rid dangling labels
    spi: add support for SuperH SPI
    ...

    Linus Torvalds
     

15 Mar, 2011

1 commit


23 Feb, 2011

3 commits


19 Jan, 2011

1 commit

  • The Atheros AR71XX/AR724X/AR913X SoCs have a built-in SPI controller. This
    patch implements a driver for that.

    Signed-off-by: Gabor Juhos
    Cc: David Brownell
    Cc: spi-devel-general@lists.sourceforge.net
    Acked-by: Grant Likely
    Cc: linux-mips@linux-mips.org
    Cc: Imre Kaloz
    Cc: Luis R. Rodriguez
    Cc: Cliff Holden
    Cc: Kathy Giori
    Patchwork: https://patchwork.linux-mips.org/patch/1960/
    Signed-off-by: Ralf Baechle

    Gabor Juhos
     

29 Dec, 2010

1 commit

  • * 'spi' of git://git.linutronix.de/users/bigeasy/soda into spi/next
    spi/pxa2xx: register driver properly
    spi/pxa2xx: add support for shared IRQ handler
    spi/pxa2xx: Use define for SSSR_TFL_MASK instead of plain numbers
    arm/pxa2xx: reorgazine SSP and SPI header files
    spi/pxa2xx: Add CE4100 support
    spi/pxa2xx: Consider CE4100's FIFO depth
    spi/pxa2xx: Add chipselect support for Sodaville
    spi/pxa2xx: Modify RX-Tresh instead of busy-loop for the remaining RX bytes.
    spi/pxa2xx: pass of_node to spi device and set a parent device

    Grant Likely
     

24 Dec, 2010

1 commit

  • dw_spi driver in upstream only supports PIO mode, and this patch
    will support it to cowork with the Designware dma controller used
    on Intel Moorestown platform, at the same time it provides a general
    framework to support dw_spi core to cowork with dma controllers on
    other platforms

    It has been tested with a Option GTM501L 3G modem and Infenion 60x60
    modem. To use DMA mode, DMA controller 2 of Moorestown has to be enabled

    Also change the dma interface suggested by Linus Walleij.

    Acked-by: Linus Walleij
    Signed-off-by: Feng Tang
    [Typo fix and renames to match intel_mid_dma renaming]
    Signed-off-by: Vinod Koul
    Signed-off-by: Alan Cox
    Signed-off-by: Grant Likely

    Feng Tang
     

01 Dec, 2010

1 commit

  • Sodaville's SPI controller is very much the same as in PXA25x. The
    difference:
    - The RX/TX FIFO is only 4 words deep instead of 16
    - No DMA support
    - The SPI controller offers a CS functionality

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Dirk Brandewie

    Sebastian Andrzej Siewior
     

10 Nov, 2010

2 commits


22 Oct, 2010

1 commit

  • v2 changes:
    from Thierry Reding:
    * add "select TEGRA_SYSTEM_DMA" to Kconfig
    from Grant Likely:
    * add oneline description to header
    * inline references to DRIVER_NAME
    * inline references to BUSY_TIMEOUT
    * open coded bytes_per_word()
    * spi_readl/writel -> spi_tegra_readl/writel
    * move transfer validation to spi_tegra_transfer
    * don't request_mem_region iomem as platform bus does that for us
    * __exit -> __devexit

    v3 changes:
    from Russell King:
    * put request_mem_region back int
    from Grant Likely:
    * remove #undef DEBUG
    * add SLINK_ to register bit defines
    * remove unused bytes_per_word
    * make spi_tegra_readl/writel static linine
    * various refactoring for clarity
    * mark err if BSY bit is not cleared after 1000 retries
    * move spinlock to protect setting of RDY bit
    * subsys_initcall -> module_init

    v3 changes:
    from Grant Likely:
    * update spi_tegra to use PTR_ERRless dma API

    v4 changes:
    from Grant Likely:
    * remove empty spi_tegra_cleanup fucntion
    * allow device ids of -1

    Signed-off-by: Erik Gilling
    Acked-by: Grant Likely
    Cc: Thierry Reding
    Cc: Russell King

    spi: tegra: cleanups from upstream review

    Change-Id: Icecf7e64efcb39de072a15234ba1faa4bad40d25
    Signed-off-by: Erik Gilling

    Erik Gilling
     

13 Oct, 2010

4 commits

  • Add eSPI controller support based on the library code spi_fsl_lib.c.

    The eSPI controller is newer controller 85xx/Pxxx devices supported.
    There're some differences comparing to the SPI controller:

    1. Has different register map and different bit definition
    So leave the code operated the register to the driver code, not
    the common code.

    2. Support 4 dedicated chip selects
    The software can't controll the chip selects directly, The SPCOM[CS]
    field is used to select which chip selects is used, and the
    SPCOM[TRANLEN] field is set to tell the controller how long the CS
    signal need to be asserted. So the driver doesn't need the chipselect
    related function when transfering data, just set corresponding register
    fields to controll the chipseclect.

    3. Different Transmit/Receive FIFO access register behavior
    For SPI controller, the Tx/Rx FIFO access register can hold only
    one character regardless of the character length, but for eSPI
    controller, the register can hold 4 or 2 characters according to
    the character lengths. Access the Tx/Rx FIFO access register of the
    eSPI controller will shift out/in 4/2 characters one time. For SPI
    subsystem, the command and data are put into different transfers, so
    we need to combine all the transfers to one transfer in order to pass
    the transfer to eSPI controller.

    4. The max transaction length limitation
    The max transaction length one time is limitted by the SPCOM[TRANSLEN]
    field which is 0xFFFF. When used mkfs.ext2 command to create ext2
    filesystem on the flash, the read length will exceed the max value of
    the SPCOM[TRANSLEN] field.

    Signed-off-by: Mingkai Hu
    Signed-off-by: Grant Likely

    Mingkai Hu
     
  • Refactor the common code in file spi_fsl_spi.c to spi_fsl_lib.c used
    by SPI/eSPI controller driver as a library, and leave the QE/CPM SPI
    controller code in the SPI controller driver spi_fsl_spi.c.

    Because the register map of the SPI controller and eSPI controller
    is so different, also leave the code operated the register to the
    driver code, not the common code.

    Signed-off-by: Mingkai Hu
    Signed-off-by: Grant Likely

    Mingkai Hu
     
  • This will pave the way to refactor out the common code which can be used
    by the eSPI controller driver, and rename the SPI controller dirver to the
    file spi_fsl_spi.c.

    Signed-off-by: Mingkai Hu
    Signed-off-by: Grant Likely

    Mingkai Hu
     
  • Replace EXTRA_CFLAGS with ccflags-y.

    Signed-off-by: matt mooney
    Signed-off-by: Grant Likely

    matt mooney
     

09 Oct, 2010

1 commit


25 May, 2010

2 commits


21 Jan, 2010

3 commits

  • Adds a memory-mapped I/O dw_spi platform device.

    Signed-off-by: Jean-Hugues Deschenes
    Signed-off-by: Grant Likely

    Jean-Hugues Deschenes
     
  • Add support for the QSPI controller found some on Freescale/Motorola
    Coldfire MCUs.

    Full duplex, active high cs, spi modes 0-3 and word sizes 8-16 bits are
    supported. The hardware drives the MISO, MOSI and SCLK lines, but the chip
    selects are managed via GPIO and must be configured by the board code.

    The QSPI controller has an 80 byte buffer which allows us to transfer up to 16
    words at a time. For transfers longer than 16 words, we split the buffer in
    half so we can update in one half while the controller is operating on the
    other half. Interrupt latencies then ultimately limits our sustained thru-put
    to something less than half the maximum speed supported by the part.

    Signed-off-by: Steven King
    Signed-off-by: Grant Likely

    Steven King
     
  • This patch adds support for a SPI master driver for the
    DaVinci series of SOCs

    Signed-off-by: Sandeep Paulraj
    Signed-off-by: Mark A. Greer
    Signed-off-by: Philby John
    Signed-off-by: Sudhakar Rajashekhara
    Signed-off-by: Kevin Hilman
    Signed-off-by: Grant Likely

    Sandeep Paulraj
     

17 Dec, 2009

3 commits

  • Each SPI controller has exactly one CS line and as such doesn't
    provide for multi-cs. We implement a workaround to support
    multi-cs by _not_ configuring the mux'ed CS pin for each SPI
    controller. The CS mechanism is assumed to be fully machine
    specific - the driver doesn't even assume some GPIO pin is used
    to control the CS.

    The driver selects between DMA and POLLING mode depending upon
    the xfer size - DMA mode for xfers bigger than FIFO size, POLLING
    mode otherwise.

    The driver has been designed to be capable of running SoCs since
    s3c64xx and till date, for that reason some of the register fields
    have been passed via, SoC specific, platform data.

    Signed-off-by: Jassi Brar
    Signed-off-by: Grant Likely

    Jassi Brar
     
  • Add pseudo-DMA by FIQ to the S3C24XX SPI driver. This allows the driver
    to get DMA-like performance where there are either no free DMA channels or
    when doing transfers that required both TX and RX data paths.

    Since this patch requires the addition of an assembly file to hold the FIQ
    code, we rename the module (instead of adding a rename of the .c file to
    this patch). We expect most users are loading this via udev and thus
    there should be no change to the userland configuration.

    Signed-off-by: Ben Dooks
    Signed-off-by: Simtec Linux Team
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Grant Likely

    Ben Dooks
     
  • Driver for the Designware SPI core, it supports multipul interfaces like
    PCI/APB etc. User can use "dw_apb_ssi_db.pdf" from Synopsys as HW
    datasheet.

    [randy.dunlap@oracle.com: fix build]
    [akpm@linux-foundation.org: build fix]
    Signed-off-by: Feng Tang
    Cc: David Brownell
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Grant Likely

    Feng Tang
     

13 Dec, 2009

3 commits

  • This change adds the OMAP SPI 100k driver created by
    Fabrice Crohas . This SPI bus is found on
    OMAP7xx-series smartphones, and for many, the touchscreen is
    attached to this bus.

    The lion's share of the work was done by Fabrice on this driver --
    I am merely porting it from the Linwizard project on his behalf.

    Signed-off-by: Cory Maccarrone
    Signed-off-by: Grant Likely

    Cory Maccarrone
     
  • Signed-off-by: Wan ZongShun
    Signed-off-by: Grant Likely

    Wan ZongShun
     
  • This patch is V2 of SPI Master support for the SuperH MSIOF.
    Full duplex, spi mode 0-3, active high cs, 3-wire and lsb
    first should all be supported, but the driver has so far
    only been tested with "mmc_spi".

    The MSIOF hardware comes with 32-bit FIFOs for receive and
    transmit, and this driver simply breaks the SPI messages
    into FIFO-sized chunks. The MSIOF hardware manages the pins
    for clock, receive and transmit (sck/miso/mosi), but the chip
    select pin is managed by software and must be configured as
    a regular GPIO pin by the board code.

    Performance wise there is still room for improvement, but
    on a Ecovec board with the built-in sh7724 MSIOF0 this driver
    gets Mini-sd read speeds of about half a megabyte per second.

    Future work include better clock setup and merging of 8-bit
    transfers into 32-bit words to reduce interrupt load and
    improve throughput.

    Signed-off-by: Magnus Damm
    Signed-off-by: Grant Likely

    Magnus Damm
     

09 Dec, 2009

2 commits


05 Nov, 2009

1 commit


02 Oct, 2009

1 commit


23 Sep, 2009

4 commits

  • Add SPI driver for Freescale STMP 3xxx-based boards

    [dbrownell@users.sourceforge.net: cleanup sequence, spi_unregister_master]
    Signed-off-by: dmitry pervushin
    Signed-off-by: David Brownell
    Cc: Kumar Gala
    Cc: Timur Tabi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    dmitry pervushin
     
  • This driver has been tested on i.MX1/i.MX27/i.MX35 with an AT25 type
    EEPROM and on i.MX27/i.MX31 with a Freescale MC13783 PMIC.

    Signed-off-by: Sascha Hauer
    Tested-by: Guennadi Liakhovetski
    Acked-by: David Brownell
    Cc: Andrea Paterniani
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sascha Hauer
     
  • This adds a SPI driver for the SPI controller found in the IBM/AMCC
    4xx PowerPC's.

    Signed-off-by: Stefan Roese
    Signed-off-by: Wolfgang Ocker
    Acked-by: Josh Boyer
    Signed-off-by: Steven A. Falco
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Steven A. Falco
     
  • This driver is in a non working state at the moment and will be replaced
    by a bitbang driver which can also handle the newer i.MX variants

    Signed-off-by: Sascha Hauer
    Cc: Guennadi Liakhovetski
    Acked-by: David Brownell
    Acked-by: Andrea Paterniani
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sascha Hauer
     

20 Jun, 2009

1 commit

  • Since we renamed the file, we might want to rename the file internals too.

    Though we don't bother with changing platform driver name and platform
    module alias. The stuff is legacy and hopefully we'll remove it soon.

    Suggested-by: Kumar Gala
    Signed-off-by: Anton Vorontsov
    Cc: David Brownell
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov