227 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/gpio/gpio-pca95xx.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: NXP PCA95xx I2C GPIO multiplexer8 9maintainers:10 - Krzysztof Kozlowski <krzk@kernel.org>11 12description: |+13 Bindings for the family of I2C GPIO multiplexers/expanders: NXP PCA95xx,14 Maxim MAX73xx15 16properties:17 compatible:18 oneOf:19 - items:20 - const: diodes,pi4ioe5v6534q21 - const: nxp,pcal653422 - items:23 - enum:24 - exar,xra120225 - maxim,max731026 - maxim,max731227 - maxim,max731328 - maxim,max731529 - maxim,max731930 - maxim,max732031 - maxim,max732132 - maxim,max732233 - maxim,max732334 - maxim,max732435 - maxim,max732536 - maxim,max732637 - maxim,max732738 - nxp,pca640839 - nxp,pca641640 - nxp,pca950541 - nxp,pca950642 - nxp,pca953443 - nxp,pca953544 - nxp,pca953645 - nxp,pca953746 - nxp,pca953847 - nxp,pca953948 - nxp,pca955449 - nxp,pca955550 - nxp,pca955651 - nxp,pca955752 - nxp,pca957453 - nxp,pca957554 - nxp,pca969855 - nxp,pcal640856 - nxp,pcal641657 - nxp,pcal652458 - nxp,pcal653459 - nxp,pcal953560 - nxp,pcal9554b61 - nxp,pcal9555a62 - onnn,cat955463 - onnn,pca965464 - ti,pca610765 - ti,pca953666 - ti,tca640867 - ti,tca641668 - ti,tca642469 - ti,tca953570 - ti,tca953871 - ti,tca953972 - ti,tca955473 74 reg:75 maxItems: 176 77 gpio-controller: true78 79 '#gpio-cells':80 const: 281 82 gpio-line-names:83 minItems: 184 maxItems: 4085 86 interrupts:87 maxItems: 188 89 interrupt-controller: true90 91 '#interrupt-cells':92 const: 293 94 reset-gpios:95 maxItems: 196 description:97 GPIO specification for the RESET input. This is an active low signal to98 the PCA953x. Not valid for Maxim MAX732x devices.99 100 vcc-supply:101 description:102 Optional power supply. Not valid for Maxim MAX732x devices.103 104 wakeup-source:105 $ref: /schemas/types.yaml#/definitions/flag106 107patternProperties:108 "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":109 type: object110 required:111 - gpio-hog112 113required:114 - compatible115 - reg116 - gpio-controller117 - "#gpio-cells"118 119additionalProperties: false120 121allOf:122 - if:123 properties:124 compatible:125 contains:126 enum:127 - maxim,max7320128 - maxim,max7321129 - maxim,max7322130 - maxim,max7323131 - maxim,max7324132 - maxim,max7325133 - maxim,max7326134 - maxim,max7327135 then:136 properties:137 reset-gpios: false138 vcc-supply: false139 140examples:141 - |142 #include <dt-bindings/gpio/gpio.h>143 #include <dt-bindings/interrupt-controller/irq.h>144 145 i2c {146 #address-cells = <1>;147 #size-cells = <0>;148 149 gpio@20 {150 compatible = "nxp,pca9505";151 reg = <0x20>;152 pinctrl-names = "default";153 pinctrl-0 = <&pinctrl_pca9505>;154 gpio-controller;155 #gpio-cells = <2>;156 interrupt-parent = <&gpio3>;157 interrupts = <23 IRQ_TYPE_LEVEL_LOW>;158 159 usb3-sata-sel-hog {160 gpio-hog;161 gpios = <4 GPIO_ACTIVE_HIGH>;162 output-low;163 line-name = "usb3_sata_sel";164 };165 };166 };167 168 - |169 #include <dt-bindings/interrupt-controller/irq.h>170 171 i2c {172 #address-cells = <1>;173 #size-cells = <0>;174 175 gpio99: gpio@22 {176 compatible = "nxp,pcal6524";177 reg = <0x22>;178 interrupt-parent = <&gpio6>;179 interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */180 interrupt-controller;181 #interrupt-cells = <2>;182 vcc-supply = <&vdds_1v8_main>;183 gpio-controller;184 #gpio-cells = <2>;185 gpio-line-names = "hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03",186 "vibra", "fault2", "p06", "p07", "en-usb",187 "en-host1", "en-host2", "chg-int", "p14", "p15",188 "mic-int", "en-modem", "shdn-hs-amp",189 "chg-status+red", "green", "blue", "en-esata",190 "fault1", "p26", "p27";191 };192 };193 194 - |195 #include <dt-bindings/interrupt-controller/irq.h>196 197 i2c {198 #address-cells = <1>;199 #size-cells = <0>;200 201 /* MAX7325 with interrupt support enabled */202 gpio@6d {203 compatible = "maxim,max7325";204 reg = <0x6d>;205 gpio-controller;206 #gpio-cells = <2>;207 interrupt-controller;208 #interrupt-cells = <2>;209 interrupt-parent = <&gpio4>;210 interrupts = <29 IRQ_TYPE_EDGE_FALLING>;211 };212 };213 214 - |215 i2c {216 #address-cells = <1>;217 #size-cells = <0>;218 219 /* MAX7325 with interrupt support disabled */220 gpio@6e {221 compatible = "maxim,max7325";222 reg = <0x6e>;223 gpio-controller;224 #gpio-cells = <2>;225 };226 };227