xref: /linux/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
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
157