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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/pinctrl/cypress,cy8c95x0.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-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/pinctrl/cypress,cy8c95x0.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Cypress CY8C95X0 I2C GPIO expander
  8 
  9 maintainers:
 10   - Patrick Rudolph <patrick.rudolph@9elements.com>
 11 
 12 description: |
 13   This supports the 20/40/60 pin Cypress CYC95x0 GPIO I2C expanders.
 14   Pin function configuration is performed on a per-pin basis.
 15 
 16 properties:
 17   compatible:
 18     enum:
 19       - cypress,cy8c9520
 20       - cypress,cy8c9540
 21       - cypress,cy8c9560
 22 
 23   reg:
 24     maxItems: 1
 25 
 26   gpio-controller: true
 27 
 28   '#gpio-cells':
 29     description:
 30       The first cell is the GPIO number and the second cell specifies GPIO
 31       flags, as defined in <dt-bindings/gpio/gpio.h>.
 32     const: 2
 33 
 34   interrupts:
 35     maxItems: 1
 36 
 37   interrupt-controller: true
 38 
 39   '#interrupt-cells':
 40     const: 2
 41 
 42   gpio-line-names: true
 43 
 44   gpio-ranges:
 45     maxItems: 1
 46 
 47   gpio-reserved-ranges:
 48     minItems: 1
 49     maxItems: 60
 50 
 51   vdd-supply:
 52     description:
 53       Optional power supply.
 54 
 55   reset-gpios:
 56     description: GPIO connected to the XRES pin
 57     maxItems: 1
 58 
 59 patternProperties:
 60   '-pins$':
 61     type: object
 62     description:
 63       Pinctrl node's client devices use subnodes for desired pin configuration.
 64       Client device subnodes use below standard properties.
 65     $ref: pincfg-node.yaml#
 66 
 67     properties:
 68       pins:
 69         description:
 70           List of gpio pins affected by the properties specified in this
 71           subnode.
 72         items:
 73           pattern: '^gp([0-7][0-7])$'
 74         minItems: 1
 75         maxItems: 60
 76 
 77       function:
 78         description:
 79           Specify the alternative function to be configured for the specified
 80           pins.
 81         enum: [ gpio, pwm ]
 82 
 83       bias-pull-down: true
 84 
 85       bias-pull-up: true
 86 
 87       bias-disable: true
 88 
 89       input-enable: true
 90 
 91       output-high: true
 92 
 93       output-low: true
 94 
 95       drive-push-pull: true
 96 
 97       drive-open-drain: true
 98 
 99       drive-open-source: true
100 
101     required:
102       - pins
103       - function
104 
105     additionalProperties: false
106 
107 required:
108   - compatible
109   - reg
110   - interrupts
111   - interrupt-controller
112   - '#interrupt-cells'
113   - gpio-controller
114   - '#gpio-cells'
115 
116 additionalProperties: false
117 
118 allOf:
119   - $ref: pinctrl.yaml#
120 
121 examples:
122   - |
123     #include <dt-bindings/interrupt-controller/arm-gic.h>
124     #include <dt-bindings/interrupt-controller/irq.h>
125 
126     i2c {
127       #address-cells = <1>;
128       #size-cells = <0>;
129 
130       pinctrl@20 {
131         compatible = "cypress,cy8c9520";
132         reg = <0x20>;
133         gpio-controller;
134         #gpio-cells = <2>;
135         #interrupt-cells = <2>;
136         interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
137         interrupt-controller;
138         vdd-supply = <&p3v3>;
139         gpio-reserved-ranges = <1 2>, <6 1>, <10 1>, <15 1>;
140 
141         pinctrl-0 = <&U62160_pins>, <&U62160_ipins>;
142         pinctrl-names = "default";
143 
144         U62160_pins: cfg-pins {
145           pins = "gp03", "gp16", "gp20", "gp50", "gp51";
146           function = "gpio";
147           input-enable;
148           bias-pull-up;
149         };
150 
151         U62160_ipins: icfg-pins {
152           pins = "gp04", "gp17", "gp21", "gp52", "gp53";
153           function = "gpio";
154           input-enable;
155           bias-pull-up;
156         };
157       };
158     };

~ [ 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