smb: client: Fix minor whitespace errors and warnings
[linux-modified.git] / Documentation / devicetree / bindings / i2c / i2c-mux-pca954x.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/i2c/i2c-mux-pca954x.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: NXP PCA954x I2C and compatible bus switches
8
9 maintainers:
10   - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
11
12 description:
13   The NXP PCA954x and compatible devices are I2C bus
14   multiplexer/switches that share the same functionality
15   and register layout.
16   The devices usually have 4 or 8 child buses, which are
17   attached to the parent bus by using the SMBus "Send Byte"
18   command.
19
20 properties:
21   compatible:
22     oneOf:
23       - enum:
24           - maxim,max7356
25           - maxim,max7357
26           - maxim,max7358
27           - maxim,max7367
28           - maxim,max7368
29           - maxim,max7369
30           - nxp,pca9540
31           - nxp,pca9542
32           - nxp,pca9543
33           - nxp,pca9544
34           - nxp,pca9545
35           - nxp,pca9546
36           - nxp,pca9547
37           - nxp,pca9548
38           - nxp,pca9846
39           - nxp,pca9847
40           - nxp,pca9848
41           - nxp,pca9849
42       - items:
43           - const: nxp,pca9646
44           - const: nxp,pca9546
45
46   reg:
47     maxItems: 1
48
49   interrupts:
50     maxItems: 1
51
52   "#interrupt-cells":
53     const: 2
54
55   interrupt-controller: true
56
57   reset-gpios:
58     maxItems: 1
59
60   i2c-mux-idle-disconnect:
61     type: boolean
62     description: Forces mux to disconnect all children in idle state. This is
63       necessary for example, if there are several multiplexers on the bus and
64       the devices behind them use same I2C addresses.
65
66   idle-state:
67     description: if present, overrides i2c-mux-idle-disconnect
68     $ref: /schemas/mux/mux-controller.yaml#/properties/idle-state
69
70   vdd-supply:
71     description: A voltage regulator supplying power to the chip. On PCA9846
72       the regulator supplies power to VDD2 (core logic) and optionally to VDD1.
73
74 required:
75   - compatible
76   - reg
77
78 allOf:
79   - $ref: /schemas/i2c/i2c-mux.yaml#
80   - if:
81       not:
82         properties:
83           compatible:
84             contains:
85               enum:
86                 - maxim,max7367
87                 - maxim,max7369
88                 - nxp,pca9542
89                 - nxp,pca9543
90                 - nxp,pca9544
91                 - nxp,pca9545
92     then:
93       properties:
94         interrupts: false
95         "#interrupt-cells": false
96         interrupt-controller: false
97
98 unevaluatedProperties: false
99
100 examples:
101   - |
102     #include <dt-bindings/interrupt-controller/irq.h>
103
104     i2c {
105         #address-cells = <1>;
106         #size-cells = <0>;
107
108         i2c-mux@74 {
109             compatible = "nxp,pca9545";
110             #address-cells = <1>;
111             #size-cells = <0>;
112             reg = <0x74>;
113
114             vdd-supply = <&p3v3>;
115
116             interrupt-parent = <&ipic>;
117             interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
118             interrupt-controller;
119             #interrupt-cells = <2>;
120
121             i2c@2 {
122                 #address-cells = <1>;
123                 #size-cells = <0>;
124                 reg = <2>;
125
126                 eeprom@54 {
127                     compatible = "atmel,24c08";
128                     reg = <0x54>;
129                 };
130             };
131
132             i2c@4 {
133                 #address-cells = <1>;
134                 #size-cells = <0>;
135                 reg = <4>;
136
137                 rtc@51 {
138                     compatible = "nxp,pcf8563";
139                     reg = <0x51>;
140                 };
141             };
142         };
143     };
144 ...