Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# 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-schmitt-microvolt:
100 description: threshold strength for schmitt-trigger
101
102 input-debounce:
103 $ref: /schemas/types.yaml#/definitions/uint32-array
104 description: Takes the debounce time in usec as argument or 0 to disable
105 debouncing
106
107 power-source:
108 $ref: /schemas/types.yaml#/definitions/uint32
109 description: select between different power supplies
110
111 low-power-enable:
112 type: boolean
113 description: enable low power mode
114
115 low-power-disable:
116 type: boolean
117 description: disable low power mode
118
119 output-disable:
120 type: boolean
121 description: disable output on a pin (such as disable an output buffer)
122
123 output-enable:
124 type: boolean
125 description: enable output on a pin without actively driving it
126 (such as enabling an output buffer)
127
128 output-impedance-ohms:
129 description: set the output impedance of a pin to at most X ohms
130
131 output-low:
132 type: boolean
133 description: set the pin to output mode with low level
134
135 output-high:
136 type: boolean
137 description: set the pin to output mode with high level
138
139 sleep-hardware-state:
140 type: boolean
141 description: indicate this is sleep related state which will be
142 programmed into the registers for the sleep state.
143
144 slew-rate:
145 $ref: /schemas/types.yaml#/definitions/uint32
146 description: set the slew rate
147
148 skew-delay:
149 $ref: /schemas/types.yaml#/definitions/uint32
150 description:
151 this affects the expected clock skew on input pins
152 and the delay before latching a value to an output
153 pin. Typically indicates how many double-inverters are
154 used to delay the signal.
155
156additionalProperties: true