blob: d0af21a564b44fe18bad311e8299723c343b78e9 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/pincfg-node.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Generic Pin Configuration Node
8
9maintainers:
10 - Linus Walleij <linus.walleij@linaro.org>
11
12description:
13 Many data items that are represented in a pin configuration node are common
14 and generic. Pin control bindings should use the properties defined below
15 where they are applicable; not all of these properties are relevant or useful
16 for all hardware or binding structures. Each individual binding document
17 should state which of these generic properties, if any, are used, and the
18 structure of the DT nodes that contain these properties.
19
20properties:
21 bias-disable:
22 type: boolean
23 description: disable any pin bias
24
25 bias-high-impedance:
26 type: boolean
27 description: high impedance mode ("third-state", "floating")
28
29 bias-bus-hold:
30 type: boolean
31 description: latch weakly
32
33 bias-pull-up:
34 oneOf:
35 - type: boolean
36 - $ref: /schemas/types.yaml#/definitions/uint32
37 description: pull up the pin. Takes as optional argument on hardware
38 supporting it the pull strength in Ohm.
39
40 bias-pull-down:
41 oneOf:
42 - type: boolean
43 - $ref: /schemas/types.yaml#/definitions/uint32
44 description: pull down the pin. Takes as optional argument on hardware
45 supporting it the pull strength in Ohm.
46
47 bias-pull-pin-default:
48 oneOf:
49 - type: boolean
50 - $ref: /schemas/types.yaml#/definitions/uint32
51 description: use pin-default pull state. Takes as optional argument on
52 hardware supporting it the pull strength in Ohm.
53
54 drive-push-pull:
55 oneOf:
56 - type: boolean
57 - $ref: /schemas/types.yaml#/definitions/uint32
58 enum: [ 0, 1 ]
59 deprecated: true
60 description: drive actively high and low
61
62 drive-open-drain:
63 oneOf:
64 - type: boolean
65 - $ref: /schemas/types.yaml#/definitions/uint32
66 const: 1 # No known cases of 0
67 deprecated: true
68 description: drive with open drain
69
70 drive-open-source:
71 type: boolean
72 description: drive with open source
73
74 drive-strength:
75 $ref: /schemas/types.yaml#/definitions/uint32
76 description: sink or source at most X mA
77
78 drive-strength-microamp:
79 description: sink or source at most X uA
80
81 input-enable:
82 type: boolean
83 description: enable input on pin (no effect on output, such as
84 enabling an input buffer)
85
86 input-disable:
87 type: boolean
88 description: disable input on pin (no effect on output, such as
89 disabling an input buffer)
90
91 input-schmitt-enable:
92 type: boolean
93 description: enable schmitt-trigger mode
94
95 input-schmitt-disable:
96 type: boolean
97 description: disable schmitt-trigger mode
98
99 input-debounce:
Tom Rini6bb92fc2024-05-20 09:54:58 -0600100 $ref: /schemas/types.yaml#/definitions/uint32-array
Tom Rini53633a82024-02-29 12:33:36 -0500101 description: Takes the debounce time in usec as argument or 0 to disable
102 debouncing
103
104 power-source:
105 $ref: /schemas/types.yaml#/definitions/uint32
106 description: select between different power supplies
107
108 low-power-enable:
109 type: boolean
110 description: enable low power mode
111
112 low-power-disable:
113 type: boolean
114 description: disable low power mode
115
116 output-disable:
117 type: boolean
118 description: disable output on a pin (such as disable an output buffer)
119
120 output-enable:
121 type: boolean
122 description: enable output on a pin without actively driving it
123 (such as enabling an output buffer)
124
125 output-impedance-ohms:
126 description: set the output impedance of a pin to at most X ohms
127
128 output-low:
129 type: boolean
130 description: set the pin to output mode with low level
131
132 output-high:
133 type: boolean
134 description: set the pin to output mode with high level
135
136 sleep-hardware-state:
137 type: boolean
138 description: indicate this is sleep related state which will be
139 programmed into the registers for the sleep state.
140
141 slew-rate:
142 $ref: /schemas/types.yaml#/definitions/uint32
143 description: set the slew rate
144
145 skew-delay:
146 $ref: /schemas/types.yaml#/definitions/uint32
147 description:
148 this affects the expected clock skew on input pins
149 and the delay before latching a value to an output
150 pin. Typically indicates how many double-inverters are
151 used to delay the signal.
152
153additionalProperties: true