cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

gpio-pca95xx.yaml (5208B)


      1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
      2%YAML 1.2
      3---
      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 multiplexer
      8
      9maintainers:
     10  - Krzysztof Kozlowski <krzk@kernel.org>
     11
     12description: |+
     13  Bindings for the family of I2C GPIO multiplexers/expanders: NXP PCA95xx,
     14  Maxim MAX73xx
     15
     16properties:
     17  compatible:
     18    enum:
     19      - exar,xra1202
     20      - maxim,max7310
     21      - maxim,max7312
     22      - maxim,max7313
     23      - maxim,max7315
     24      - maxim,max7319
     25      - maxim,max7320
     26      - maxim,max7321
     27      - maxim,max7322
     28      - maxim,max7323
     29      - maxim,max7324
     30      - maxim,max7325
     31      - maxim,max7326
     32      - maxim,max7327
     33      - nxp,pca6408
     34      - nxp,pca6416
     35      - nxp,pca9505
     36      - nxp,pca9506
     37      - nxp,pca9534
     38      - nxp,pca9535
     39      - nxp,pca9536
     40      - nxp,pca9537
     41      - nxp,pca9538
     42      - nxp,pca9539
     43      - nxp,pca9554
     44      - nxp,pca9555
     45      - nxp,pca9556
     46      - nxp,pca9557
     47      - nxp,pca9574
     48      - nxp,pca9575
     49      - nxp,pca9698
     50      - nxp,pcal6416
     51      - nxp,pcal6524
     52      - nxp,pcal9535
     53      - nxp,pcal9554b
     54      - nxp,pcal9555a
     55      - onnn,cat9554
     56      - onnn,pca9654
     57      - ti,pca6107
     58      - ti,pca9536
     59      - ti,tca6408
     60      - ti,tca6416
     61      - ti,tca6424
     62      - ti,tca9539
     63      - ti,tca9554
     64
     65  reg:
     66    maxItems: 1
     67
     68  gpio-controller: true
     69
     70  '#gpio-cells':
     71    const: 2
     72
     73  gpio-line-names:
     74    minItems: 1
     75    maxItems: 40
     76
     77  interrupts:
     78    maxItems: 1
     79
     80  interrupt-controller: true
     81
     82  '#interrupt-cells':
     83    const: 2
     84
     85  reset-gpios:
     86    maxItems: 1
     87    description:
     88      GPIO specification for the RESET input. This is an active low signal to
     89      the PCA953x.  Not valid for Maxim MAX732x devices.
     90
     91  vcc-supply:
     92    description:
     93      Optional power supply.  Not valid for Maxim MAX732x devices.
     94
     95  wakeup-source:
     96    $ref: /schemas/types.yaml#/definitions/flag
     97
     98patternProperties:
     99  "^(hog-[0-9]+|.+-hog(-[0-9]+)?)$":
    100    type: object
    101    properties:
    102      gpio-hog: true
    103      gpios: true
    104      input: true
    105      output-high: true
    106      output-low: true
    107      line-name: true
    108
    109    required:
    110      - gpio-hog
    111      - gpios
    112
    113    additionalProperties: false
    114
    115required:
    116  - compatible
    117  - reg
    118  - gpio-controller
    119  - "#gpio-cells"
    120
    121additionalProperties: false
    122
    123allOf:
    124  - if:
    125      properties:
    126        compatible:
    127          contains:
    128            enum:
    129              - maxim,max7320
    130              - maxim,max7321
    131              - maxim,max7322
    132              - maxim,max7323
    133              - maxim,max7324
    134              - maxim,max7325
    135              - maxim,max7326
    136              - maxim,max7327
    137    then:
    138      properties:
    139        reset-gpios: false
    140        vcc-supply: false
    141
    142examples:
    143  - |
    144    #include <dt-bindings/gpio/gpio.h>
    145    #include <dt-bindings/interrupt-controller/irq.h>
    146
    147    i2c0 {
    148        #address-cells = <1>;
    149        #size-cells = <0>;
    150
    151        gpio@20 {
    152            compatible = "nxp,pca9505";
    153            reg = <0x20>;
    154            pinctrl-names = "default";
    155            pinctrl-0 = <&pinctrl_pca9505>;
    156            gpio-controller;
    157            #gpio-cells = <2>;
    158            interrupt-parent = <&gpio3>;
    159            interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
    160
    161            usb3-sata-sel-hog {
    162                gpio-hog;
    163                gpios = <4 GPIO_ACTIVE_HIGH>;
    164                output-low;
    165                line-name = "usb3_sata_sel";
    166            };
    167        };
    168    };
    169
    170  - |
    171    #include <dt-bindings/interrupt-controller/irq.h>
    172
    173    i2c1 {
    174        #address-cells = <1>;
    175        #size-cells = <0>;
    176
    177        gpio99: gpio@22 {
    178            compatible = "nxp,pcal6524";
    179            reg = <0x22>;
    180            interrupt-parent = <&gpio6>;
    181            interrupts = <1 IRQ_TYPE_EDGE_FALLING>; /* gpio6_161 */
    182            interrupt-controller;
    183            #interrupt-cells = <2>;
    184            vcc-supply = <&vdds_1v8_main>;
    185            gpio-controller;
    186            #gpio-cells = <2>;
    187            gpio-line-names = "hdmi-ct-hpd", "hdmi.ls-oe", "p02", "p03",
    188                              "vibra", "fault2", "p06", "p07", "en-usb",
    189                              "en-host1", "en-host2", "chg-int", "p14", "p15",
    190                              "mic-int", "en-modem", "shdn-hs-amp",
    191                              "chg-status+red", "green", "blue", "en-esata",
    192                              "fault1", "p26", "p27";
    193        };
    194    };
    195
    196  - |
    197    #include <dt-bindings/interrupt-controller/irq.h>
    198
    199    i2c2 {
    200        #address-cells = <1>;
    201        #size-cells = <0>;
    202
    203        /* MAX7325 with interrupt support enabled */
    204        gpio@6d {
    205            compatible = "maxim,max7325";
    206            reg = <0x6d>;
    207            gpio-controller;
    208            #gpio-cells = <2>;
    209            interrupt-controller;
    210            #interrupt-cells = <2>;
    211            interrupt-parent = <&gpio4>;
    212            interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
    213        };
    214    };
    215
    216  - |
    217    i2c3 {
    218        #address-cells = <1>;
    219        #size-cells = <0>;
    220
    221        /* MAX7325 with interrupt support disabled */
    222        gpio@6e {
    223            compatible = "maxim,max7325";
    224            reg = <0x6e>;
    225            gpio-controller;
    226            #gpio-cells = <2>;
    227        };
    228    };