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 schema
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    type: boolean
56    description: drive actively high and low
57
58  drive-open-drain:
59    type: boolean
60    description: drive with open drain
61
62  drive-open-source:
63    type: boolean
64    description: drive with open source
65
66  drive-strength:
67    $ref: /schemas/types.yaml#/definitions/uint32
68    description: sink or source at most X mA
69
70  drive-strength-microamp:
71    description: sink or source at most X uA
72
73  input-enable:
74    type: boolean
75    description: enable input on pin (no effect on output, such as
76      enabling an input buffer)
77
78  input-disable:
79    type: boolean
80    description: disable input on pin (no effect on output, such as
81      disabling an input buffer)
82
83  input-schmitt-enable:
84    type: boolean
85    description: enable schmitt-trigger mode
86
87  input-schmitt-disable:
88    type: boolean
89    description: disable schmitt-trigger mode
90
91  input-debounce:
92    $ref: /schemas/types.yaml#/definitions/uint32
93    description: Takes the debounce time in usec as argument or 0 to disable
94      debouncing
95
96  power-source:
97    $ref: /schemas/types.yaml#/definitions/uint32
98    description: select between different power supplies
99
100  low-power-enable:
101    type: boolean
102    description: enable low power mode
103
104  low-power-disable:
105    type: boolean
106    description: disable low power mode
107
108  output-disable:
109    type: boolean
110    description: disable output on a pin (such as disable an output buffer)
111
112  output-enable:
113    type: boolean
114    description: enable output on a pin without actively driving it
115      (such as enabling an output buffer)
116
117  output-low:
118    type: boolean
119    description: set the pin to output mode with low level
120
121  output-high:
122    type: boolean
123    description: set the pin to output mode with high level
124
125  sleep-hardware-state:
126    type: boolean
127    description: indicate this is sleep related state which will be
128      programmed into the registers for the sleep state.
129
130  slew-rate:
131    $ref: /schemas/types.yaml#/definitions/uint32
132    description: set the slew rate
133
134  skew-delay:
135    $ref: /schemas/types.yaml#/definitions/uint32
136    description:
137      this affects the expected clock skew on input pins
138      and the delay before latching a value to an output
139      pin. Typically indicates how many double-inverters are
140      used to delay the signal.
141
142additionalProperties: true
143