aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorPeter Rosin <peda@axentia.se>2016-07-08 06:13:49 -0400
committerPeter Rosin <peda@axentia.se>2016-08-25 16:11:01 -0400
commit0ac8eb6452e128abd7af08e5d4a38768833da0ca (patch)
tree7488c1c165fdc8fcd747280e8e706858b2af32fc /Documentation
parente8813c15be0a9e7f2c79c58d3329d92bcf056ecc (diff)
dt-bindings: i2c: add support for 'i2c-gate' subnode
Handle i2c gates similarly to how i2c arbitrators are handled. This gets rid of a pointless 'reg' property for i2c gates. I.e. this new and more compact style some-gate { i2c-gate { #address-cells = <1>; #size-cells = <0>; some-i2c-device@50 { reg = <0x50>; }; }; }; instead of the old some-gate { #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')
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-gate.txt41
1 files changed, 41 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/i2c/i2c-gate.txt b/Documentation/devicetree/bindings/i2c/i2c-gate.txt
new file mode 100644
index 000000000000..1846d236e656
--- /dev/null
+++ b/Documentation/devicetree/bindings/i2c/i2c-gate.txt
@@ -0,0 +1,41 @@
1An i2c gate is useful to e.g. reduce the digital noise for RF tuners connected
2to the i2c bus. Gates are similar to arbitrators in that you need to perform
3some kind of operation to access the i2c bus past the arbitrator/gate, but
4there are no competing masters to consider for gates and therefore there is
5no arbitration happening for gates.
6
7Common i2c gate properties.
8
9- i2c-gate child node
10
11Required properties for the i2c-gate child node:
12- #address-cells = <1>;
13- #size-cells = <0>;
14
15Optional properties for i2c-gate child node:
16- Child nodes conforming to i2c bus binding
17
18
19Example :
20
21 /*
22 An Invensense mpu9150 at address 0x68 featuring an on-chip Asahi
23 Kasei ak8975 compass behind a gate.
24 */
25
26 mpu9150@68 {
27 compatible = "invensense,mpu9150";
28 reg = <0x68>;
29 interrupt-parent = <&gpio1>;
30 interrupts = <18 1>;
31
32 i2c-gate {
33 #address-cells = <1>;
34 #size-cells = <0>;
35
36 ax8975@c {
37 compatible = "ak,ak8975";
38 reg = <0x0c>;
39 };
40 };
41 };