diff options
author | Peter Rosin <peda@axentia.se> | 2016-07-08 06:13:49 -0400 |
---|---|---|
committer | Peter Rosin <peda@axentia.se> | 2016-08-25 16:11:01 -0400 |
commit | 0ac8eb6452e128abd7af08e5d4a38768833da0ca (patch) | |
tree | 7488c1c165fdc8fcd747280e8e706858b2af32fc /Documentation | |
parent | e8813c15be0a9e7f2c79c58d3329d92bcf056ecc (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.txt | 41 |
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 @@ | |||
1 | An i2c gate is useful to e.g. reduce the digital noise for RF tuners connected | ||
2 | to the i2c bus. Gates are similar to arbitrators in that you need to perform | ||
3 | some kind of operation to access the i2c bus past the arbitrator/gate, but | ||
4 | there are no competing masters to consider for gates and therefore there is | ||
5 | no arbitration happening for gates. | ||
6 | |||
7 | Common i2c gate properties. | ||
8 | |||
9 | - i2c-gate child node | ||
10 | |||
11 | Required properties for the i2c-gate child node: | ||
12 | - #address-cells = <1>; | ||
13 | - #size-cells = <0>; | ||
14 | |||
15 | Optional properties for i2c-gate child node: | ||
16 | - Child nodes conforming to i2c bus binding | ||
17 | |||
18 | |||
19 | Example : | ||
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 | }; | ||