blob: 7f30ec2f1e54119076d77d91466a04e61652055b [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: Cypress CY8C95X0 I2C GPIO expander
8
9maintainers:
10 - Patrick Rudolph <patrick.rudolph@9elements.com>
11
12description: |
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
16properties:
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 maxItems: 1
49
50 vdd-supply:
51 description:
52 Optional power supply.
53
54 reset-gpios:
55 description: GPIO connected to the XRES pin
56 maxItems: 1
57
58patternProperties:
59 '-pins$':
60 type: object
61 description:
62 Pinctrl node's client devices use subnodes for desired pin configuration.
63 Client device subnodes use below standard properties.
64 $ref: pincfg-node.yaml#
65
66 properties:
67 pins:
68 description:
69 List of gpio pins affected by the properties specified in this
70 subnode.
71 items:
72 pattern: '^gp([0-7][0-7])$'
73 minItems: 1
74 maxItems: 60
75
76 function:
77 description:
78 Specify the alternative function to be configured for the specified
79 pins.
80 enum: [ gpio, pwm ]
81
82 bias-pull-down: true
83
84 bias-pull-up: true
85
86 bias-disable: true
87
88 output-high: true
89
90 output-low: true
91
92 drive-push-pull: true
93
94 drive-open-drain: true
95
96 drive-open-source: true
97
98 required:
99 - pins
100 - function
101
102 additionalProperties: false
103
104required:
105 - compatible
106 - reg
107 - interrupts
108 - interrupt-controller
109 - '#interrupt-cells'
110 - gpio-controller
111 - '#gpio-cells'
112
113additionalProperties: false
114
115allOf:
116 - $ref: pinctrl.yaml#
117
118examples:
119 - |
120 #include <dt-bindings/interrupt-controller/arm-gic.h>
121 #include <dt-bindings/interrupt-controller/irq.h>
122
123 i2c {
124 #address-cells = <1>;
125 #size-cells = <0>;
126
127 pinctrl@20 {
128 compatible = "cypress,cy8c9520";
129 reg = <0x20>;
130 gpio-controller;
131 #gpio-cells = <2>;
132 #interrupt-cells = <2>;
133 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
134 interrupt-controller;
135 vdd-supply = <&p3v3>;
136 gpio-reserved-ranges = <5 1>;
137 };
138 };