The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/gpio/gpio-pca95xx.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    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 
    7 title: NXP PCA95xx I2C GPIO multiplexer
    8 
    9 maintainers:
   10   - Krzysztof Kozlowski <krzk@kernel.org>
   11 
   12 description: |+
   13   Bindings for the family of I2C GPIO multiplexers/expanders: NXP PCA95xx,
   14   Maxim MAX73xx
   15 
   16 properties:
   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 
   98 patternProperties:
   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 
  115 required:
  116   - compatible
  117   - reg
  118   - gpio-controller
  119   - "#gpio-cells"
  120 
  121 additionalProperties: false
  122 
  123 allOf:
  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 
  142 examples:
  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     };

Cache object: 0bd1c746d30763c89b8658907df27005


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.