~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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   maxim,isolate-stuck-channel:
 75     type: boolean
 76     description: Allows to use non faulty channels while a stuck channel is
 77       isolated from the upstream bus. If not set all channels are isolated from
 78       the upstream bus until the fault is cleared.
 79 
 80   maxim,send-flush-out-sequence:
 81     type: boolean
 82     description: Send a flush-out sequence to stuck auxiliary buses
 83       automatically after a stuck channel is being detected.
 84 
 85   maxim,preconnection-wiggle-test-enable:
 86     type: boolean
 87     description: Send a STOP condition to the auxiliary buses when the switch
 88       register activates a channel to detect a stuck high fault. On fault the
 89       channel is isolated from the upstream bus.
 90 
 91 required:
 92   - compatible
 93   - reg
 94 
 95 allOf:
 96   - $ref: /schemas/i2c/i2c-mux.yaml#
 97   - if:
 98       not:
 99         properties:
100           compatible:
101             contains:
102               enum:
103                 - maxim,max7367
104                 - maxim,max7369
105                 - nxp,pca9542
106                 - nxp,pca9543
107                 - nxp,pca9544
108                 - nxp,pca9545
109     then:
110       properties:
111         interrupts: false
112         "#interrupt-cells": false
113         interrupt-controller: false
114 
115   - if:
116       not:
117         properties:
118           compatible:
119             contains:
120               enum:
121                 - maxim,max7357
122     then:
123       properties:
124         maxim,isolate-stuck-channel: false
125         maxim,send-flush-out-sequence: false
126         maxim,preconnection-wiggle-test-enable: false
127 
128 unevaluatedProperties: false
129 
130 examples:
131   - |
132     #include <dt-bindings/interrupt-controller/irq.h>
133 
134     i2c {
135         #address-cells = <1>;
136         #size-cells = <0>;
137 
138         i2c-mux@74 {
139             compatible = "nxp,pca9545";
140             #address-cells = <1>;
141             #size-cells = <0>;
142             reg = <0x74>;
143 
144             vdd-supply = <&p3v3>;
145 
146             interrupt-parent = <&ipic>;
147             interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
148             interrupt-controller;
149             #interrupt-cells = <2>;
150 
151             i2c@2 {
152                 #address-cells = <1>;
153                 #size-cells = <0>;
154                 reg = <2>;
155 
156                 eeprom@54 {
157                     compatible = "atmel,24c08";
158                     reg = <0x54>;
159                 };
160             };
161 
162             i2c@4 {
163                 #address-cells = <1>;
164                 #size-cells = <0>;
165                 reg = <4>;
166 
167                 rtc@51 {
168                     compatible = "nxp,pcf8563";
169                     reg = <0x51>;
170                 };
171             };
172         };
173     };
174 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php