06 Oct, 2009

1 commit


02 Oct, 2009

8 commits


25 Sep, 2009

1 commit


23 Sep, 2009

17 commits

  • Support two new half-duplex SPI implementation restrictions, for links
    that talk to TX-only or RX-only devices. (Existing half-duplex flavors
    support both transfer directions, just not at the same time.)

    Move spi_async() into the spi.c core, and stop inlining it. Then make
    that function perform error checks and reject messages that demand more
    than the underlying controller can support.

    Based on a patch from Marek Szyprowski which did this only for the
    bitbanged GPIO driver.

    Cc: Marek Szyprowski
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • tAdd adds McSPI support for OMAP4430 SDP platform. All the base addresses
    are changed between OMAP1/2/3 and OMAP4. The fields of the resource
    structures are filled at runtime to have McSPI support on OMAP4.

    Signed-off-by: Syed Rafiuddin
    Acked-by: Kevin Hilman
    Acked-by: Tony Lindgren
    Acked-by: Santosh Shilimkar
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Syed Rafiuddin
     
  • Previous restore was lazy and only restored CHxCONF when it was needed by
    a specific chip select. This could cause occasional errors on an SPI bus
    where multiple chip selects are in use.

    Signed-off-by: Tero Kristo
    Signed-off-by: Kevin Hilman
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tero Kristo
     
  • Add context save/restore feature to McSPI driver.

    Signed-off-by: Hemanth V
    Reviewed-by: Aaro Koskinen
    Signed-off-by: Kevin Hilman
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hemanth V
     
  • 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
     
  • With the update to the spi_bitbang driver, the transfer setup code is
    being called more often, and thus is often re-doing calculations that have
    been done before. The SPI layer allows our driver to add its own data to
    each device so add a result cache to each device.

    This should also remove the problem where we where directly setting up
    registers in the setup call which meant we might overwrite the state of an
    extant transfer.,

    Signed-off-by: Ben Dooks
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Change the spi_s3c24xx driver to use dev_pm_ops to avoid the following
    warning during probe:

    Platform driver 's3c2410-spi' needs updating - please use dev_pm_ops

    Signed-off-by: Ben Dooks
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Change the use of (res->end - res->start) to use resource_size() to
    get the size of the resource.

    Signed-off-by; Ben Dooks
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • The driver includes where it should be including
    and also includes and without using anything
    from these.

    Signed-off-by: Ben Dooks
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Register pxa2xx_spi earlier so it can be used with cpufreq

    Signed-off-by: Daniel Ribeiro
    Acked-by: Mark Brown
    Cc: David Brownell
    Cc: Eric Miao
    Cc: Mark Brown
    Cc: Daniel Ribeiro
    Cc: Samuel Ortiz
    Cc: Liam Girdwood
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonio Ospite
     
  • This makes it consistent with other buses (platform, i2c, vio, ...). I'm
    not sure why we use the prefixes, but there must be a reason.

    This was easy enough to do it, and I did it.

    Signed-off-by: Anton Vorontsov
    Cc: David Brownell
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Jean Delvare
    Cc: Ben Dooks
    Cc: Benjamin Herrenschmidt
    Cc: Dmitry Torokhov
    Cc: Samuel Ortiz
    Cc: "John W. Linville"
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • With this patch spi drivers can use standard spi_driver.id_table and
    MODULE_DEVICE_TABLE() mechanisms to bind against the devices. Just like
    we do with I2C drivers.

    This is useful when a single driver supports several variants of devices
    but it is not possible to detect them in run-time (like non-JEDEC chips
    probing in drivers/mtd/devices/m25p80.c), and when platform_data usage is
    overkill.

    This patch also makes life a lot easier on OpenFirmware platforms, since
    with OF we extensively use proper device IDs in modaliases.

    Signed-off-by: Anton Vorontsov
    Cc: David Brownell
    Cc: David Woodhouse
    Cc: Grant Likely
    Cc: Jean Delvare
    Cc: Ben Dooks
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • 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 makes the PL022 driver a default choice for any RealView and
    Versatile boards plus the integrator IMPD1 which all contain the PL022
    PrimeCell. This will make it a default choice if and only if a user
    selects SPI support for their board.

    Signed-off-by: Linus Walleij
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    linus.walleij@stericsson.com
     
  • 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
     
  • Convert bit shifted values into BIT format

    Signed-off-by: Jouni Hogander
    Signed-off-by: Tony Lindgren
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jouni Hogander
     
  • 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
     

21 Sep, 2009

3 commits


19 Sep, 2009

1 commit

  • The definition of the SPI clock phase for the Motorola mode of
    the PL022 driver was incorrect: the spec had been interpreted as
    data being recieved on rising or falling edge of the clocks while
    the correct interpretation is that data can be recieved on the
    first or second edge transition, falling or rising depending on
    the polarity setting.

    Signed-off-by: Linus Walleij
    Signed-off-by: Russell King

    Linus Walleij
     

12 Sep, 2009

2 commits


10 Sep, 2009

1 commit


19 Aug, 2009

2 commits

  • Since the changes to the bitbang driver, there is the possibility we will
    be called with either the speed_hz or bpw values zero. We take these to
    mean that the default values (8 bits per word, or maximum bus speed).

    Signed-off-by: Ben Dooks
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Currently the clock rate calculation may round as pleased, which means
    that it is possible that we will round down and end up with a faster clock
    rate than intended.

    Change the calculation to use DIV_ROUND_UP() to ensure that we end up with
    a clock rate either the same as or lower than the user requested one.

    Signed-off-by: Ben Dooks
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     

30 Jul, 2009

2 commits

  • When data is read through DMA, the last element must be read separately
    through the RX register. It cannot be transferred by the DMA. For
    further details see e.g. OMAP35x TRM (table 19-16).

    Without the fix the driver causes extra clocks to be clocked to the bus
    after DMA RX operations. This can cause interesting behaviour with some
    devices.

    Signed-off-by: Juuso Oikarinen
    Signed-off-by: Eero Nurkkala
    [aaro.koskinen@nokia.com: Simplified the patch while keeping the idea.]
    Signed-off-by: Aaro Koskinen
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eero Nurkkala
     
  • Currently mcspi wake-ups are not enabled. This might cause cases where
    OMAP is not waking up on mcspi events.

    Signed-off-by: Jouni Hogander
    Signed-off-by: Tony Lindgren
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jouni Hogander
     

11 Jul, 2009

1 commit


01 Jul, 2009

1 commit

  • Bugfix to spi_bitbang infrastructure: make sure to always set transfer
    parameters on the first pass through the message's per-transfer loop.
    This can matter with drivers that replace the per-word or per-buffer
    transfer primitives, on busses with multiple SPI devices.

    Previously, this could have started messages using the settings left after
    previous messages. The problem was observed when a high speed chip
    (m25p80 type flash) was running very slowly because a low speed device
    (avr8 microcontroller) had previously used the bus. Similar faults could
    have driven the low speed device too fast, or used an unexpected word
    size.

    Acked-by: Steven A. Falco
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell