162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pinctrl/pincfg-node.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Generic Pin Configuration Node
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Linus Walleij <linus.walleij@linaro.org>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription:
1362306a36Sopenharmony_ci  Many data items that are represented in a pin configuration node are common
1462306a36Sopenharmony_ci  and generic. Pin control bindings should use the properties defined below
1562306a36Sopenharmony_ci  where they are applicable; not all of these properties are relevant or useful
1662306a36Sopenharmony_ci  for all hardware or binding structures. Each individual binding document
1762306a36Sopenharmony_ci  should state which of these generic properties, if any, are used, and the
1862306a36Sopenharmony_ci  structure of the DT nodes that contain these properties.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  bias-disable:
2262306a36Sopenharmony_ci    type: boolean
2362306a36Sopenharmony_ci    description: disable any pin bias
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci  bias-high-impedance:
2662306a36Sopenharmony_ci    type: boolean
2762306a36Sopenharmony_ci    description: high impedance mode ("third-state", "floating")
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  bias-bus-hold:
3062306a36Sopenharmony_ci    type: boolean
3162306a36Sopenharmony_ci    description: latch weakly
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  bias-pull-up:
3462306a36Sopenharmony_ci    oneOf:
3562306a36Sopenharmony_ci      - type: boolean
3662306a36Sopenharmony_ci      - $ref: /schemas/types.yaml#/definitions/uint32
3762306a36Sopenharmony_ci    description: pull up the pin. Takes as optional argument on hardware
3862306a36Sopenharmony_ci      supporting it the pull strength in Ohm.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  bias-pull-down:
4162306a36Sopenharmony_ci    oneOf:
4262306a36Sopenharmony_ci      - type: boolean
4362306a36Sopenharmony_ci      - $ref: /schemas/types.yaml#/definitions/uint32
4462306a36Sopenharmony_ci    description: pull down the pin. Takes as optional argument on hardware
4562306a36Sopenharmony_ci      supporting it the pull strength in Ohm.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci  bias-pull-pin-default:
4862306a36Sopenharmony_ci    oneOf:
4962306a36Sopenharmony_ci      - type: boolean
5062306a36Sopenharmony_ci      - $ref: /schemas/types.yaml#/definitions/uint32
5162306a36Sopenharmony_ci    description: use pin-default pull state. Takes as optional argument on
5262306a36Sopenharmony_ci      hardware supporting it the pull strength in Ohm.
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci  drive-push-pull:
5562306a36Sopenharmony_ci    oneOf:
5662306a36Sopenharmony_ci      - type: boolean
5762306a36Sopenharmony_ci      - $ref: /schemas/types.yaml#/definitions/uint32
5862306a36Sopenharmony_ci        enum: [ 0, 1 ]
5962306a36Sopenharmony_ci        deprecated: true
6062306a36Sopenharmony_ci    description: drive actively high and low
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci  drive-open-drain:
6362306a36Sopenharmony_ci    oneOf:
6462306a36Sopenharmony_ci      - type: boolean
6562306a36Sopenharmony_ci      - $ref: /schemas/types.yaml#/definitions/uint32
6662306a36Sopenharmony_ci        const: 1    # No known cases of 0
6762306a36Sopenharmony_ci        deprecated: true
6862306a36Sopenharmony_ci    description: drive with open drain
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci  drive-open-source:
7162306a36Sopenharmony_ci    type: boolean
7262306a36Sopenharmony_ci    description: drive with open source
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci  drive-strength:
7562306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
7662306a36Sopenharmony_ci    description: sink or source at most X mA
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci  drive-strength-microamp:
7962306a36Sopenharmony_ci    description: sink or source at most X uA
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci  input-enable:
8262306a36Sopenharmony_ci    type: boolean
8362306a36Sopenharmony_ci    description: enable input on pin (no effect on output, such as
8462306a36Sopenharmony_ci      enabling an input buffer)
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci  input-disable:
8762306a36Sopenharmony_ci    type: boolean
8862306a36Sopenharmony_ci    description: disable input on pin (no effect on output, such as
8962306a36Sopenharmony_ci      disabling an input buffer)
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci  input-schmitt-enable:
9262306a36Sopenharmony_ci    type: boolean
9362306a36Sopenharmony_ci    description: enable schmitt-trigger mode
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci  input-schmitt-disable:
9662306a36Sopenharmony_ci    type: boolean
9762306a36Sopenharmony_ci    description: disable schmitt-trigger mode
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ci  input-debounce:
10062306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
10162306a36Sopenharmony_ci    description: Takes the debounce time in usec as argument or 0 to disable
10262306a36Sopenharmony_ci      debouncing
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci  power-source:
10562306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
10662306a36Sopenharmony_ci    description: select between different power supplies
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci  low-power-enable:
10962306a36Sopenharmony_ci    type: boolean
11062306a36Sopenharmony_ci    description: enable low power mode
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci  low-power-disable:
11362306a36Sopenharmony_ci    type: boolean
11462306a36Sopenharmony_ci    description: disable low power mode
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci  output-disable:
11762306a36Sopenharmony_ci    type: boolean
11862306a36Sopenharmony_ci    description: disable output on a pin (such as disable an output buffer)
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci  output-enable:
12162306a36Sopenharmony_ci    type: boolean
12262306a36Sopenharmony_ci    description: enable output on a pin without actively driving it
12362306a36Sopenharmony_ci      (such as enabling an output buffer)
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci  output-impedance-ohms:
12662306a36Sopenharmony_ci    description: set the output impedance of a pin to at most X ohms
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci  output-low:
12962306a36Sopenharmony_ci    type: boolean
13062306a36Sopenharmony_ci    description: set the pin to output mode with low level
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci  output-high:
13362306a36Sopenharmony_ci    type: boolean
13462306a36Sopenharmony_ci    description: set the pin to output mode with high level
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci  sleep-hardware-state:
13762306a36Sopenharmony_ci    type: boolean
13862306a36Sopenharmony_ci    description: indicate this is sleep related state which will be
13962306a36Sopenharmony_ci      programmed into the registers for the sleep state.
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci  slew-rate:
14262306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
14362306a36Sopenharmony_ci    description: set the slew rate
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci  skew-delay:
14662306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
14762306a36Sopenharmony_ci    description:
14862306a36Sopenharmony_ci      this affects the expected clock skew on input pins
14962306a36Sopenharmony_ci      and the delay before latching a value to an output
15062306a36Sopenharmony_ci      pin. Typically indicates how many double-inverters are
15162306a36Sopenharmony_ci      used to delay the signal.
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ciadditionalProperties: true
154