On Thu, Sep 23, 2021 at 11:34:06AM +0800, Matt Johnston wrote: > 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: Matt Johnston Acked-by: Wolfram Sang # for the I2C part