Skip to content

Commit 8d39e55

Browse files
PatrickRudolphLinus Walleij
authored andcommitted
dt-binding: pinctrl: Add cypress,cy8c95x0
Added device tree binding documentation for Cypress CY8C95x0 I2C pin-controller. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
1 parent 27586b8 commit 8d39e55

File tree

1 file changed

+134
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)