Skip to content

Commit c871317

Browse files
gmarullgalak
authored andcommitted
dts: bindings: pinctrl: add pincfg-node-group
When using group based representation on pinctrl nodes, the pin configuration properties end up being at the grand-children level, so the `pincfg-node.yaml` file can't be used. Having a common file that can be used for both cases would require tooling changes, so for now a copy that operated at the grand-children level has been created. Signed-off-by: Gerard Marull-Paretas <[email protected]>
1 parent 329f245 commit c871317

File tree

1 file changed

+165
-0
lines changed

1 file changed

+165
-0
lines changed
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
# Copyright (c) 2020, Linaro Limited
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
description: |
5+
Generic pin configuration schema.
6+
7+
This file is equivalent to pincfg-node.yaml but inserts properties at a
8+
grandchildren level, useful for group based representation.
9+
10+
child-binding:
11+
child-binding:
12+
description: |
13+
Many data items that are represented in a pin configuration node are
14+
common and generic. Pin control bindings should use the properties
15+
defined below where they are applicable; not all of these properties are
16+
relevant or useful for all hardware or binding structures. Each
17+
individual binding document should state which of these generic
18+
properties, if any, are used, and the structure of the DT nodes that
19+
contain these properties.
20+
21+
This is based on Linux, documentation:
22+
https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml
23+
24+
properties:
25+
bias-disable:
26+
required: false
27+
type: boolean
28+
description: disable any pin bias
29+
30+
bias-high-impedance:
31+
required: false
32+
type: boolean
33+
description: high impedance mode ("third-state", "floating")
34+
35+
bias-bus-hold:
36+
required: false
37+
type: boolean
38+
description: latch weakly
39+
40+
bias-pull-up:
41+
required: false
42+
type: boolean
43+
description: enable pull-up resistor
44+
45+
bias-pull-down:
46+
required: false
47+
type: boolean
48+
description: enable pull-down resistor
49+
50+
bias-pull-pin-default:
51+
required: false
52+
type: boolean
53+
description: use pin's default pull state
54+
55+
drive-push-pull:
56+
required: false
57+
type: boolean
58+
description: drive actively high and low
59+
60+
drive-open-drain:
61+
required: false
62+
type: boolean
63+
description: drive with open drain (hardware AND)
64+
65+
drive-open-source:
66+
required: false
67+
type: boolean
68+
description: drive with open source (hardware OR)
69+
70+
drive-strength:
71+
required: false
72+
type: int
73+
description: maximum sink or source current in mA
74+
75+
drive-strength-microamp:
76+
required: false
77+
type: int
78+
description: maximum sink or source current in μA
79+
80+
input-enable:
81+
required: false
82+
type: boolean
83+
description: |
84+
enable input on pin (no effect on output, such as enabling an input
85+
buffer)
86+
87+
input-disable:
88+
required: false
89+
type: boolean
90+
description: |
91+
disable input on pin (no effect on output, such as disabling an input
92+
buffer)
93+
94+
input-schmitt-enable:
95+
required: false
96+
type: boolean
97+
description: enable schmitt-trigger mode
98+
99+
input-schmitt-disable:
100+
required: false
101+
type: boolean
102+
description: disable schmitt-trigger mode
103+
104+
input-debounce:
105+
required: false
106+
type: int
107+
description: |
108+
Takes the debounce time in μsec, as argument or 0 to disable debouncing
109+
110+
power-source:
111+
required: false
112+
type: int
113+
description: select between different power supplies
114+
115+
low-power-enable:
116+
required: false
117+
type: boolean
118+
description: enable low power mode
119+
120+
low-power-disable:
121+
required: false
122+
type: boolean
123+
description: disable low power mode
124+
125+
output-disable:
126+
required: false
127+
type: boolean
128+
description: disable output on a pin (such as disable an output buffer)
129+
130+
output-enable:
131+
required: false
132+
type: boolean
133+
description: |
134+
enable output on a pin without actively driving it (such as enabling
135+
an output buffer)
136+
137+
output-low:
138+
required: false
139+
type: boolean
140+
description: set the pin to output mode with low level
141+
142+
output-high:
143+
required: false
144+
type: boolean
145+
description: set the pin to output mode with high level
146+
147+
sleep-hardware-state:
148+
required: false
149+
type: boolean
150+
description: |
151+
indicate this is sleep related state which will be programmed into
152+
the registers for the sleep state
153+
154+
slew-rate:
155+
required: false
156+
type: int
157+
description: set the slew rate
158+
159+
skew-delay:
160+
required: false
161+
type: int
162+
description: |
163+
This affects the expected clock skew on input pins and the delay
164+
before latching a value to an output pin. Typically indicates how
165+
many double-inverters are used to delay the signal.

0 commit comments

Comments
 (0)