18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/pinctrl/pincfg-node.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Generic pin configuration node schema
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Linus Walleij <linus.walleij@linaro.org>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription:
138c2ecf20Sopenharmony_ci  Many data items that are represented in a pin configuration node are common
148c2ecf20Sopenharmony_ci  and generic. Pin control bindings should use the properties defined below
158c2ecf20Sopenharmony_ci  where they are applicable; not all of these properties are relevant or useful
168c2ecf20Sopenharmony_ci  for all hardware or binding structures. Each individual binding document
178c2ecf20Sopenharmony_ci  should state which of these generic properties, if any, are used, and the
188c2ecf20Sopenharmony_ci  structure of the DT nodes that contain these properties.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciproperties:
218c2ecf20Sopenharmony_ci  bias-disable:
228c2ecf20Sopenharmony_ci    type: boolean
238c2ecf20Sopenharmony_ci    description: disable any pin bias
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci  bias-high-impedance:
268c2ecf20Sopenharmony_ci    type: boolean
278c2ecf20Sopenharmony_ci    description: high impedance mode ("third-state", "floating")
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci  bias-bus-hold:
308c2ecf20Sopenharmony_ci    type: boolean
318c2ecf20Sopenharmony_ci    description: latch weakly
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  bias-pull-up:
348c2ecf20Sopenharmony_ci    oneOf:
358c2ecf20Sopenharmony_ci      - type: boolean
368c2ecf20Sopenharmony_ci      - $ref: /schemas/types.yaml#/definitions/uint32
378c2ecf20Sopenharmony_ci    description: pull up the pin. Takes as optional argument on hardware
388c2ecf20Sopenharmony_ci      supporting it the pull strength in Ohm.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci  bias-pull-down:
418c2ecf20Sopenharmony_ci    oneOf:
428c2ecf20Sopenharmony_ci      - type: boolean
438c2ecf20Sopenharmony_ci      - $ref: /schemas/types.yaml#/definitions/uint32
448c2ecf20Sopenharmony_ci    description: pull down the pin. Takes as optional argument on hardware
458c2ecf20Sopenharmony_ci      supporting it the pull strength in Ohm.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  bias-pull-pin-default:
488c2ecf20Sopenharmony_ci    oneOf:
498c2ecf20Sopenharmony_ci      - type: boolean
508c2ecf20Sopenharmony_ci      - $ref: /schemas/types.yaml#/definitions/uint32
518c2ecf20Sopenharmony_ci    description: use pin-default pull state. Takes as optional argument on
528c2ecf20Sopenharmony_ci      hardware supporting it the pull strength in Ohm.
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci  drive-push-pull:
558c2ecf20Sopenharmony_ci    type: boolean
568c2ecf20Sopenharmony_ci    description: drive actively high and low
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci  drive-open-drain:
598c2ecf20Sopenharmony_ci    type: boolean
608c2ecf20Sopenharmony_ci    description: drive with open drain
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci  drive-open-source:
638c2ecf20Sopenharmony_ci    type: boolean
648c2ecf20Sopenharmony_ci    description: drive with open source
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci  drive-strength:
678c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
688c2ecf20Sopenharmony_ci    description: sink or source at most X mA
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci  drive-strength-microamp:
718c2ecf20Sopenharmony_ci    description: sink or source at most X uA
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci  input-enable:
748c2ecf20Sopenharmony_ci    type: boolean
758c2ecf20Sopenharmony_ci    description: enable input on pin (no effect on output, such as
768c2ecf20Sopenharmony_ci      enabling an input buffer)
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci  input-disable:
798c2ecf20Sopenharmony_ci    type: boolean
808c2ecf20Sopenharmony_ci    description: disable input on pin (no effect on output, such as
818c2ecf20Sopenharmony_ci      disabling an input buffer)
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci  input-schmitt-enable:
848c2ecf20Sopenharmony_ci    type: boolean
858c2ecf20Sopenharmony_ci    description: enable schmitt-trigger mode
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci  input-schmitt-disable:
888c2ecf20Sopenharmony_ci    type: boolean
898c2ecf20Sopenharmony_ci    description: disable schmitt-trigger mode
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci  input-debounce:
928c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
938c2ecf20Sopenharmony_ci    description: Takes the debounce time in usec as argument or 0 to disable
948c2ecf20Sopenharmony_ci      debouncing
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci  power-source:
978c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
988c2ecf20Sopenharmony_ci    description: select between different power supplies
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci  low-power-enable:
1018c2ecf20Sopenharmony_ci    type: boolean
1028c2ecf20Sopenharmony_ci    description: enable low power mode
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci  low-power-disable:
1058c2ecf20Sopenharmony_ci    type: boolean
1068c2ecf20Sopenharmony_ci    description: disable low power mode
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci  output-disable:
1098c2ecf20Sopenharmony_ci    type: boolean
1108c2ecf20Sopenharmony_ci    description: disable output on a pin (such as disable an output buffer)
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci  output-enable:
1138c2ecf20Sopenharmony_ci    type: boolean
1148c2ecf20Sopenharmony_ci    description: enable output on a pin without actively driving it
1158c2ecf20Sopenharmony_ci      (such as enabling an output buffer)
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci  output-low:
1188c2ecf20Sopenharmony_ci    type: boolean
1198c2ecf20Sopenharmony_ci    description: set the pin to output mode with low level
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci  output-high:
1228c2ecf20Sopenharmony_ci    type: boolean
1238c2ecf20Sopenharmony_ci    description: set the pin to output mode with high level
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ci  sleep-hardware-state:
1268c2ecf20Sopenharmony_ci    type: boolean
1278c2ecf20Sopenharmony_ci    description: indicate this is sleep related state which will be
1288c2ecf20Sopenharmony_ci      programmed into the registers for the sleep state.
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ci  slew-rate:
1318c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
1328c2ecf20Sopenharmony_ci    description: set the slew rate
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ci  skew-delay:
1358c2ecf20Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
1368c2ecf20Sopenharmony_ci    description:
1378c2ecf20Sopenharmony_ci      this affects the expected clock skew on input pins
1388c2ecf20Sopenharmony_ci      and the delay before latching a value to an output
1398c2ecf20Sopenharmony_ci      pin. Typically indicates how many double-inverters are
1408c2ecf20Sopenharmony_ci      used to delay the signal.
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ciadditionalProperties: true
143