diff options
author | Peter Rosin <peda@axentia.se> | 2016-07-08 12:12:17 +0200 |
---|---|---|
committer | Peter Rosin <peda@axentia.se> | 2016-08-25 22:11:00 +0200 |
commit | e8813c15be0a9e7f2c79c58d3329d92bcf056ecc (patch) | |
tree | 4d8f0b29bcd34446ddf619edd4b089040428e4d6 /Documentation/devicetree/bindings/i2c | |
parent | 374f8436ff3a450a2f95a0c1910a0b17212cede1 (diff) | |
download | blackbird-op-linux-e8813c15be0a9e7f2c79c58d3329d92bcf056ecc.tar.gz blackbird-op-linux-e8813c15be0a9e7f2c79c58d3329d92bcf056ecc.zip |
dt-bindings: i2c: add support for 'i2c-arb' subnode
This gets rid of the need for a pointless 'reg' property for i2c
arbitrators.
I.e. this new and more compact style
some-arbitrator {
i2c-arb {
#address-cells = <1>;
#size-cells = <0>;
some-i2c-device@50 {
reg = <0x50>;
};
};
};
instead of the old
some-arbitrator {
#address-cells = <1>;
#size-cells = <0>;
i2c@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
some-i2c-device@50 {
reg = <0x50>;
};
};
};
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Wolfram Sang <wsa@the-dreams.de>
Signed-off-by: Peter Rosin <peda@axentia.se>
Diffstat (limited to 'Documentation/devicetree/bindings/i2c')
-rw-r--r-- | Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt | 8 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/i2c/i2c-arb.txt | 35 |
2 files changed, 37 insertions, 6 deletions
diff --git a/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt b/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt index 71191ff0e781..248a155414c2 100644 --- a/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt +++ b/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt @@ -44,8 +44,7 @@ Required properties: - our-claim-gpio: The GPIO that we use to claim the bus. - their-claim-gpios: The GPIOs that the other sides use to claim the bus. Note that some implementations may only support a single other master. -- Standard I2C mux properties. See i2c-mux.txt in this directory. -- Single I2C child bus node at reg 0. See i2c-mux.txt in this directory. +- I2C arbitration bus node. See i2c-arb.txt in this directory. Optional properties: - slew-delay-us: microseconds to wait for a GPIO to go high. Default is 10 us. @@ -63,8 +62,6 @@ Example: i2c-arbitrator { compatible = "i2c-arb-gpio-challenge"; - #address-cells = <1>; - #size-cells = <0>; i2c-parent = <&{/i2c@12CA0000}>; @@ -74,8 +71,7 @@ Example: wait-retry-us = <3000>; wait-free-us = <50000>; - i2c@0 { - reg = <0>; + i2c-arb { #address-cells = <1>; #size-cells = <0>; diff --git a/Documentation/devicetree/bindings/i2c/i2c-arb.txt b/Documentation/devicetree/bindings/i2c/i2c-arb.txt new file mode 100644 index 000000000000..59abf9277bdc --- /dev/null +++ b/Documentation/devicetree/bindings/i2c/i2c-arb.txt @@ -0,0 +1,35 @@ +Common i2c arbitration bus properties. + +- i2c-arb child node + +Required properties for the i2c-arb child node: +- #address-cells = <1>; +- #size-cells = <0>; + +Optional properties for i2c-arb child node: +- Child nodes conforming to i2c bus binding + + +Example : + + /* + An NXP pca9541 I2C bus master selector at address 0x74 + with a NXP pca8574 GPIO expander attached. + */ + + arb@74 { + compatible = "nxp,pca9541"; + reg = <0x74>; + + i2c-arb { + #address-cells = <1>; + #size-cells = <0>; + + gpio@38 { + compatible = "nxp,pca8574"; + reg = <0x38>; + #gpio-cells = <2>; + gpio-controller; + }; + }; + }; |