Loading Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt +2 −6 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -63,8 +62,6 @@ Example: i2c-arbitrator { compatible = "i2c-arb-gpio-challenge"; #address-cells = <1>; #size-cells = <0>; i2c-parent = <&{/i2c@12CA0000}>; Loading @@ -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>; Loading Documentation/devicetree/bindings/i2c/i2c-arb.txt 0 → 100644 +35 −0 Original line number Diff line number Diff line 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; }; }; }; Documentation/devicetree/bindings/i2c/i2c-gate.txt 0 → 100644 +41 −0 Original line number Diff line number Diff line 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>; }; }; }; Documentation/devicetree/bindings/i2c/i2c-mux.txt +18 −5 Original line number Diff line number Diff line Loading @@ -2,19 +2,32 @@ Common i2c bus multiplexer/switch properties. An i2c bus multiplexer/switch will have several child busses that are numbered uniquely in a device dependent manner. The nodes for an i2c bus multiplexer/switch will have one child node for each child bus. multiplexer/switch will have one child node for each child bus. Required properties: Optional properties: - #address-cells = <1>; This property is required is the i2c-mux child node does not exist. - #size-cells = <0>; This property is required is the i2c-mux child node does not exist. - i2c-mux For i2c multiplexers/switches that have child nodes that are a mixture of both i2c child busses and other child nodes, the 'i2c-mux' subnode can be used for populating the i2c child busses. If an 'i2c-mux' subnode is present, only subnodes of this will be considered as i2c child busses. Required properties for the i2c-mux child node: - #address-cells = <1>; - #size-cells = <0>; Required properties for child nodes: Required properties for i2c child bus nodes: - #address-cells = <1>; - #size-cells = <0>; - reg : The sub-bus number. Optional properties for child nodes: Optional properties for i2c child bus nodes: - Other properties specific to the multiplexer/switch hardware. - Child nodes conforming to i2c bus binding Loading Documentation/devicetree/bindings/i2c/nxp,pca9541.txt 0 → 100644 +29 −0 Original line number Diff line number Diff line * NXP PCA9541 I2C bus master selector Required Properties: - compatible: Must be "nxp,pca9541" - reg: The I2C address of the device. The following required properties are defined externally: - I2C arbitration bus node. See i2c-arb.txt in this directory. Example: i2c-arbitrator@74 { compatible = "nxp,pca9541"; reg = <0x74>; i2c-arb { #address-cells = <1>; #size-cells = <0>; eeprom@54 { compatible = "at,24c08"; reg = <0x54>; }; }; }; Loading
Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt +2 −6 Original line number Diff line number Diff line Loading @@ -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. Loading @@ -63,8 +62,6 @@ Example: i2c-arbitrator { compatible = "i2c-arb-gpio-challenge"; #address-cells = <1>; #size-cells = <0>; i2c-parent = <&{/i2c@12CA0000}>; Loading @@ -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>; Loading
Documentation/devicetree/bindings/i2c/i2c-arb.txt 0 → 100644 +35 −0 Original line number Diff line number Diff line 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; }; }; };
Documentation/devicetree/bindings/i2c/i2c-gate.txt 0 → 100644 +41 −0 Original line number Diff line number Diff line 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>; }; }; };
Documentation/devicetree/bindings/i2c/i2c-mux.txt +18 −5 Original line number Diff line number Diff line Loading @@ -2,19 +2,32 @@ Common i2c bus multiplexer/switch properties. An i2c bus multiplexer/switch will have several child busses that are numbered uniquely in a device dependent manner. The nodes for an i2c bus multiplexer/switch will have one child node for each child bus. multiplexer/switch will have one child node for each child bus. Required properties: Optional properties: - #address-cells = <1>; This property is required is the i2c-mux child node does not exist. - #size-cells = <0>; This property is required is the i2c-mux child node does not exist. - i2c-mux For i2c multiplexers/switches that have child nodes that are a mixture of both i2c child busses and other child nodes, the 'i2c-mux' subnode can be used for populating the i2c child busses. If an 'i2c-mux' subnode is present, only subnodes of this will be considered as i2c child busses. Required properties for the i2c-mux child node: - #address-cells = <1>; - #size-cells = <0>; Required properties for child nodes: Required properties for i2c child bus nodes: - #address-cells = <1>; - #size-cells = <0>; - reg : The sub-bus number. Optional properties for child nodes: Optional properties for i2c child bus nodes: - Other properties specific to the multiplexer/switch hardware. - Child nodes conforming to i2c bus binding Loading
Documentation/devicetree/bindings/i2c/nxp,pca9541.txt 0 → 100644 +29 −0 Original line number Diff line number Diff line * NXP PCA9541 I2C bus master selector Required Properties: - compatible: Must be "nxp,pca9541" - reg: The I2C address of the device. The following required properties are defined externally: - I2C arbitration bus node. See i2c-arb.txt in this directory. Example: i2c-arbitrator@74 { compatible = "nxp,pca9541"; reg = <0x74>; i2c-arb { #address-cells = <1>; #size-cells = <0>; eeprom@54 { compatible = "at,24c08"; reg = <0x54>; }; }; };