• David Brownell's avatar
    spi: new spi->mode bits · b55f627f
    David Brownell authored
    Add two new spi_device.mode bits to accomodate more protocol options, and
    pass them through to usermode drivers:
    
     * SPI_NO_CS ... a second 3-wire variant, where the chipselect
       line is removed instead of a data line; transfers are still
       full duplex.
    
       This obviously has STRONG protocol implications since the
       chipselect transitions can't be used to synchronize state
       transitions with the SPI master.
    
     * SPI_READY ... defines open drain signal that's pulled low
       to pause the clock.  This defines a 5-wire variant (normal
       4-wire SPI plus READY) and two 4-wire variants (READY plus
       each of the 3-wire flavors).
    
       Such hardware flow control can be a big win.  There are ADC
       converters and flash chips that expose READY signals, but not
       many host controllers support it today.
    
    The spi_bitbang code should be changed to use SPI_NO_CS instead of its
    current nonportable hack.  That's a mode most hardware can easily support
    (unlike SPI_READY).
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Cc: "Paulraj, Sandeep" <s-paulraj@ti.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b55f627f
spidev.c 17 KB