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