• Uwe Kleine-König's avatar
    siox: new driver framework for eckelmann SIOX · bbecb07f
    Uwe Kleine-König authored
    SIOX is a bus system invented at Eckelmann AG to control their building
    management and refrigeration systems. Traditionally the bus was
    implemented on custom microcontrollers, today Linux based machines are
    in use, too.
    
    The topology on a SIOX bus looks as follows:
    
          ,------->--DCLK-->---------------+----------------------.
          ^                                v                      v
     ,--------.                ,----------------------.       ,------
     |        |                |   ,--------------.   |       |
     |        |--->--DOUT-->---|->-|shift register|->-|--->---|
     |        |                |   `--------------'   |       |
     | master |                |        device        |       |  device
     |        |                |   ,--------------.   |       |
     |        |---<--DIN---<---|-<-|shift register|-<-|---<---|
     |        |                |   `--------------'   |       |
     `--------'                `----------------------'       `------
          v                                ^                      ^
          `----------DLD-------------------+----------------------'
    
    There are two control lines (DCLK and DLD) driven from the bus master to
    all devices in parallel and two daisy chained data lines, one for input
    and one for output. DCLK is the clock to shift both chains by a single
    bit. On an edge of DLD the devices latch both their input and output
    shift registers.
    
    This patch adds a framework for this bus type.
    Acked-by: 's avatarGavin Schenk <g.schenk@eckelmann.de>
    Signed-off-by: 's avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
    Signed-off-by: 's avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    bbecb07f
siox.h 1.28 KB