GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / pinctrl / pincfg-node.yaml
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
7 title: Generic pin configuration node schema
8
9 maintainers:
10   - Linus Walleij <linus.walleij@linaro.org>
11
12 description:
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
20 properties:
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:
100     $ref: /schemas/types.yaml#/definitions/uint32
101     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
153 additionalProperties: true