On Thu, 23 Sep 2021 11:34:06 +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 <matt@xxxxxxxxxxxxxxxxxxxx> > --- > > Changes: > > v3->v4: > Formatting and YAML syntax fixes, rename .yaml file to match > > v2->v3: > Change the MCTP indicator to being a property on the I2C bus node. > > Thanks, > Matt > > Documentation/devicetree/bindings/i2c/i2c.txt | 4 + > .../bindings/net/mctp-i2c-controller.yaml | 92 +++++++++++++++++++ > 2 files changed, 96 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/mctp-i2c-controller.yaml > Reviewed-by: Rob Herring <robh@xxxxxxxxxx>