| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- # SPDX-License-Identifier: GPL-2.0
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/i2c/i2c-mux.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Common i2c bus multiplexer/switch properties.
- maintainers:
- - Peter Rosin <peda@axentia.se>
- description: |+
- 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.
- 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.
- properties:
- $nodename:
- pattern: '^(i2c-?)?mux'
- '#address-cells':
- const: 1
- '#size-cells':
- const: 0
- patternProperties:
- '^i2c@[0-9a-f]+$':
- $ref: /schemas/i2c/i2c-controller.yaml
- unevaluatedProperties: false
- properties:
- reg:
- description: The mux selector sub-bus number for the child I2C bus.
- maxItems: 1
- additionalProperties: true
- examples:
- - |
- /*
- * An NXP pca9548 8 channel I2C multiplexer at address 0x70
- * with two NXP pca8574 GPIO expanders attached, one each to
- * ports 3 and 4.
- */
- i2c {
- #address-cells = <1>;
- #size-cells = <0>;
- i2c-mux@70 {
- compatible = "nxp,pca9548";
- reg = <0x70>;
- #address-cells = <1>;
- #size-cells = <0>;
- i2c@3 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <3>;
- gpio@20 {
- compatible = "nxp,pca9555";
- gpio-controller;
- #gpio-cells = <2>;
- reg = <0x20>;
- };
- };
- i2c@4 {
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <4>;
- gpio@20 {
- compatible = "nxp,pca9555";
- gpio-controller;
- #gpio-cells = <2>;
- reg = <0x20>;
- };
- };
- };
- };
- ...
|