blob: 09ec77d307c13b425c5e9e028f51fc3577ab436f [file] [log] [blame]
# Copyright (c) 2020, Linaro Limited
# SPDX-License-Identifier: Apache-2.0
description: |
Generic pin configuration schema.
This file is equivalent to pincfg-node.yaml but inserts properties at a
grandchildren level, useful for group based representation.
child-binding:
child-binding:
description: |
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:
required: false
type: boolean
description: disable any pin bias
bias-high-impedance:
required: false
type: boolean
description: high impedance mode ("third-state", "floating")
bias-bus-hold:
required: false
type: boolean
description: latch weakly
bias-pull-up:
required: false
type: boolean
description: enable pull-up resistor
bias-pull-down:
required: false
type: boolean
description: enable pull-down resistor
bias-pull-pin-default:
required: false
type: boolean
description: use pin's default pull state
drive-push-pull:
required: false
type: boolean
description: drive actively high and low
drive-open-drain:
required: false
type: boolean
description: drive with open drain (hardware AND)
drive-open-source:
required: false
type: boolean
description: drive with open source (hardware OR)
drive-strength:
required: false
type: int
description: maximum sink or source current in mA
drive-strength-microamp:
required: false
type: int
description: maximum sink or source current in μA
input-enable:
required: false
type: boolean
description: |
enable input on pin (no effect on output, such as enabling an input
buffer)
input-disable:
required: false
type: boolean
description: |
disable input on pin (no effect on output, such as disabling an input
buffer)
input-schmitt-enable:
required: false
type: boolean
description: enable schmitt-trigger mode
input-schmitt-disable:
required: false
type: boolean
description: disable schmitt-trigger mode
input-debounce:
required: false
type: int
description: |
Takes the debounce time in μsec, as argument or 0 to disable debouncing
power-source:
required: false
type: int
description: select between different power supplies
low-power-enable:
required: false
type: boolean
description: enable low power mode
low-power-disable:
required: false
type: boolean
description: disable low power mode
output-disable:
required: false
type: boolean
description: disable output on a pin (such as disable an output buffer)
output-enable:
required: false
type: boolean
description: |
enable output on a pin without actively driving it (such as enabling
an output buffer)
output-low:
required: false
type: boolean
description: set the pin to output mode with low level
output-high:
required: false
type: boolean
description: set the pin to output mode with high level
sleep-hardware-state:
required: false
type: boolean
description: |
indicate this is sleep related state which will be programmed into
the registers for the sleep state
slew-rate:
required: false
type: int
description: set the slew rate
skew-delay:
required: false
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.