brintos

brintos / linux-shallow public Read only

0
0
Text · 5.5 KiB · 7b1eb08 Raw
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