xref: /freebsd-src/sys/contrib/device-tree/Bindings/i2c/i2c-gate.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotAn i2c gate is useful to e.g. reduce the digital noise for RF tuners connected
2*c66ec88fSEmmanuel Vadotto the i2c bus. Gates are similar to arbitrators in that you need to perform
3*c66ec88fSEmmanuel Vadotsome kind of operation to access the i2c bus past the arbitrator/gate, but
4*c66ec88fSEmmanuel Vadotthere are no competing masters to consider for gates and therefore there is
5*c66ec88fSEmmanuel Vadotno arbitration happening for gates.
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel VadotCommon i2c gate properties.
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadot- i2c-gate child node
10*c66ec88fSEmmanuel Vadot
11*c66ec88fSEmmanuel VadotRequired properties for the i2c-gate child node:
12*c66ec88fSEmmanuel Vadot- #address-cells = <1>;
13*c66ec88fSEmmanuel Vadot- #size-cells = <0>;
14*c66ec88fSEmmanuel Vadot
15*c66ec88fSEmmanuel VadotOptional properties for i2c-gate child node:
16*c66ec88fSEmmanuel Vadot- Child nodes conforming to i2c bus binding
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel Vadot
19*c66ec88fSEmmanuel VadotExample :
20*c66ec88fSEmmanuel Vadot
21*c66ec88fSEmmanuel Vadot	/*
22*c66ec88fSEmmanuel Vadot	   An Invensense mpu9150 at address 0x68 featuring an on-chip Asahi
23*c66ec88fSEmmanuel Vadot	   Kasei ak8975 compass behind a gate.
24*c66ec88fSEmmanuel Vadot	 */
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadot	mpu9150@68 {
27*c66ec88fSEmmanuel Vadot		compatible = "invensense,mpu9150";
28*c66ec88fSEmmanuel Vadot		reg = <0x68>;
29*c66ec88fSEmmanuel Vadot		interrupt-parent = <&gpio1>;
30*c66ec88fSEmmanuel Vadot		interrupts = <18 1>;
31*c66ec88fSEmmanuel Vadot
32*c66ec88fSEmmanuel Vadot		i2c-gate {
33*c66ec88fSEmmanuel Vadot			#address-cells = <1>;
34*c66ec88fSEmmanuel Vadot			#size-cells = <0>;
35*c66ec88fSEmmanuel Vadot
36*c66ec88fSEmmanuel Vadot			ax8975@c {
37*c66ec88fSEmmanuel Vadot				compatible = "ak,ak8975";
38*c66ec88fSEmmanuel Vadot				reg = <0x0c>;
39*c66ec88fSEmmanuel Vadot			};
40*c66ec88fSEmmanuel Vadot		};
41*c66ec88fSEmmanuel Vadot	};
42