Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 374f8436 authored by Peter Rosin's avatar Peter Rosin
Browse files

dt-bindings: i2c: add support for 'i2c-mux' subnode



Similar to the new optional 'i2c-bus' subnode from Jon Hunter, this
adds an optional 'i2c-mux' subnode, for similar reasons. I.e. it is
bad of the i2c mux core to assume that any subnode of an i2c mux device
is a potential (when the 'reg' property matches) i2c-mux child bus,
given that i2c mux devices might do more than mux i2c traffic.

So, if an 'i2c-mux' subnode is present, dictate that all i2c-mux child
buses exist beneath that subnode.

Acked-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarWolfram Sang <wsa@the-dreams.de>
Signed-off-by: default avatarPeter Rosin <peda@axentia.se>
parent fa8410b3
Loading
Loading
Loading
Loading
+18 −5
Original line number Diff line number Diff line
@@ -2,19 +2,32 @@ Common i2c bus multiplexer/switch properties.

An i2c bus multiplexer/switch will have several child busses that are
numbered uniquely in a device dependent manner.  The nodes for an i2c bus
multiplexer/switch will have one child node for each child
bus.
multiplexer/switch will have one child node for each child bus.

Required properties:
Optional properties:
- #address-cells = <1>;
   This property is required is the i2c-mux child node does not exist.

- #size-cells = <0>;
   This property is required is the i2c-mux child node does not exist.

- i2c-mux
   For i2c multiplexers/switches that have child nodes that are a mixture
   of both i2c child busses and other child nodes, the 'i2c-mux' subnode
   can be used for populating the i2c child busses.  If an 'i2c-mux'
   subnode is present, only subnodes of this will be considered as i2c
   child busses.

Required properties for the i2c-mux child node:
- #address-cells = <1>;
- #size-cells = <0>;

Required properties for child nodes:
Required properties for i2c child bus nodes:
- #address-cells = <1>;
- #size-cells = <0>;
- reg : The sub-bus number.

Optional properties for child nodes:
Optional properties for i2c child bus nodes:
- Other properties specific to the multiplexer/switch hardware.
- Child nodes conforming to i2c bus binding