• Matt Johnston's avatar
    dt-bindings: net: New binding mctp-i2c-controller · 0b6141eb
    Matt Johnston authored
    Used to define a local endpoint to communicate with MCTP peripherals
    attached to an I2C bus. This I2C endpoint can communicate with remote
    MCTP devices on the I2C bus.
    
    In the example I2C topology below (matching the second yaml example) we
    have MCTP devices on busses i2c1 and i2c6. MCTP-supporting busses are
    indicated by the 'mctp-controller' DT property on an I2C bus node.
    
    A mctp-i2c-controller I2C client DT node is placed at the top of the
    mux topology, since only the root I2C adapter will support I2C slave
    functionality.
                                                   .-------.
                                                   |eeprom |
        .------------.     .------.               /'-------'
        | adapter    |     | mux  --@0,i2c5------'
        | i2c1       ----.*|      --@1,i2c6--.--.
        |............|    \'------'           \  \  .........
        | mctp-i2c-  |     \                   \  \ .mctpB  .
        | controller |      \                   \  '.0x30   .
        |            |       \  .........        \  '.......'
        | 0x50       |        \ .mctpA  .         \ .........
        '------------'         '.0x1d   .          '.mctpC  .
                                '.......'          '.0x31   .
                                                    '.......'
    (mctpX boxes above are remote MCTP devices not included in the DT at
    present, they can be hotplugged/probed at runtime. A DT binding for
    specific fixed MCTP devices could be added later if required)
    Signed-off-by: default avatarMatt Johnston <matt@codeconstruct.com.au>
    Reviewed-by: default avatarRob Herring <robh@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0b6141eb
mctp-i2c-controller.yaml 2.14 KB