mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
0ac8eb6452
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>
42 lines
972 B
Plaintext
42 lines
972 B
Plaintext
An i2c gate is useful to e.g. reduce the digital noise for RF tuners connected
|
|
to the i2c bus. Gates are similar to arbitrators in that you need to perform
|
|
some kind of operation to access the i2c bus past the arbitrator/gate, but
|
|
there are no competing masters to consider for gates and therefore there is
|
|
no arbitration happening for gates.
|
|
|
|
Common i2c gate properties.
|
|
|
|
- i2c-gate child node
|
|
|
|
Required properties for the i2c-gate child node:
|
|
- #address-cells = <1>;
|
|
- #size-cells = <0>;
|
|
|
|
Optional properties for i2c-gate child node:
|
|
- Child nodes conforming to i2c bus binding
|
|
|
|
|
|
Example :
|
|
|
|
/*
|
|
An Invensense mpu9150 at address 0x68 featuring an on-chip Asahi
|
|
Kasei ak8975 compass behind a gate.
|
|
*/
|
|
|
|
mpu9150@68 {
|
|
compatible = "invensense,mpu9150";
|
|
reg = <0x68>;
|
|
interrupt-parent = <&gpio1>;
|
|
interrupts = <18 1>;
|
|
|
|
i2c-gate {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
ax8975@c {
|
|
compatible = "ak,ak8975";
|
|
reg = <0x0c>;
|
|
};
|
|
};
|
|
};
|