blob: 1f66639dc8d5dbf9a3208d53a0c1e04d6d3c4c6e [file] [log] [blame]
# Copyright (c) 2020, Linaro Limited
# SPDX-License-Identifier: Apache-2.0
description: |
Generic pin configuration schema
Many data items that are represented in a pin configuration node are
common and generic. Pin control bindings should use the properties
defined below where they are applicable; not all of these properties are
relevant or useful for all hardware or binding structures. Each
individual binding document should state which of these generic
properties, if any, are used, and the structure of the DT nodes that
contain these properties.
This is based on Linux, documentation:
https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml
properties:
bias-disable:
type: boolean
description: disable any pin bias
bias-high-impedance:
type: boolean
description: high impedance mode ("third-state", "floating")
bias-bus-hold:
type: boolean
description: latch weakly
bias-pull-up:
type: boolean
description: enable pull-up resistor
bias-pull-down:
type: boolean
description: enable pull-down resistor
bias-pull-pin-default:
type: boolean
description: use pin's default pull state
drive-push-pull:
type: boolean
description: drive actively high and low
drive-open-drain:
type: boolean
description: drive with open drain (hardware AND)
drive-open-source:
type: boolean
description: drive with open source (hardware OR)
drive-strength:
type: int
description: maximum sink or source current in mA
drive-strength-microamp:
type: int
description: maximum sink or source current in μA
input-enable:
type: boolean
description: |
enable input on pin (no effect on output, such as enabling an input
buffer)
input-disable:
type: boolean
description: |
disable input on pin (no effect on output, such as disabling an input
buffer)
input-schmitt-enable:
type: boolean
description: enable schmitt-trigger mode
input-schmitt-disable:
type: boolean
description: disable schmitt-trigger mode
input-debounce:
type: int
description: |
Takes the debounce time in μsec, as argument or 0 to disable debouncing
power-source:
type: int
description: select between different power supplies
low-power-enable:
type: boolean
description: enable low power mode
low-power-disable:
type: boolean
description: disable low power mode
output-disable:
type: boolean
description: disable output on a pin (such as disable an output buffer)
output-enable:
type: boolean
description: |
enable output on a pin without actively driving it (such as enabling
an output buffer)
output-low:
type: boolean
description: set the pin to output mode with low level
output-high:
type: boolean
description: set the pin to output mode with high level
sleep-hardware-state:
type: boolean
description: |
indicate this is sleep related state which will be programmed into
the registers for the sleep state
slew-rate:
type: int
description: set the slew rate
skew-delay:
type: int
description: |
This affects the expected clock skew on input pins and the delay
before latching a value to an output pin. Typically indicates how
many double-inverters are used to delay the signal.