xref: /openbmc/linux/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
13af50e54SRob Herring# SPDX-License-Identifier: GPL-2.0-only
23af50e54SRob Herring%YAML 1.2
33af50e54SRob Herring---
43af50e54SRob Herring$id: http://devicetree.org/schemas/pinctrl/pincfg-node.yaml#
53af50e54SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
63af50e54SRob Herring
7*3367934dSKrzysztof Kozlowskititle: Generic Pin Configuration Node
83af50e54SRob Herring
93af50e54SRob Herringmaintainers:
103af50e54SRob Herring  - Linus Walleij <linus.walleij@linaro.org>
113af50e54SRob Herring
123af50e54SRob Herringdescription:
133af50e54SRob Herring  Many data items that are represented in a pin configuration node are common
143af50e54SRob Herring  and generic. Pin control bindings should use the properties defined below
153af50e54SRob Herring  where they are applicable; not all of these properties are relevant or useful
163af50e54SRob Herring  for all hardware or binding structures. Each individual binding document
173af50e54SRob Herring  should state which of these generic properties, if any, are used, and the
183af50e54SRob Herring  structure of the DT nodes that contain these properties.
193af50e54SRob Herring
203af50e54SRob Herringproperties:
213af50e54SRob Herring  bias-disable:
223af50e54SRob Herring    type: boolean
233af50e54SRob Herring    description: disable any pin bias
243af50e54SRob Herring
253af50e54SRob Herring  bias-high-impedance:
263af50e54SRob Herring    type: boolean
273af50e54SRob Herring    description: high impedance mode ("third-state", "floating")
283af50e54SRob Herring
293af50e54SRob Herring  bias-bus-hold:
303af50e54SRob Herring    type: boolean
313af50e54SRob Herring    description: latch weakly
323af50e54SRob Herring
333af50e54SRob Herring  bias-pull-up:
343af50e54SRob Herring    oneOf:
353af50e54SRob Herring      - type: boolean
363af50e54SRob Herring      - $ref: /schemas/types.yaml#/definitions/uint32
373af50e54SRob Herring    description: pull up the pin. Takes as optional argument on hardware
383af50e54SRob Herring      supporting it the pull strength in Ohm.
393af50e54SRob Herring
403af50e54SRob Herring  bias-pull-down:
413af50e54SRob Herring    oneOf:
423af50e54SRob Herring      - type: boolean
433af50e54SRob Herring      - $ref: /schemas/types.yaml#/definitions/uint32
443af50e54SRob Herring    description: pull down the pin. Takes as optional argument on hardware
453af50e54SRob Herring      supporting it the pull strength in Ohm.
463af50e54SRob Herring
473af50e54SRob Herring  bias-pull-pin-default:
483af50e54SRob Herring    oneOf:
493af50e54SRob Herring      - type: boolean
503af50e54SRob Herring      - $ref: /schemas/types.yaml#/definitions/uint32
513af50e54SRob Herring    description: use pin-default pull state. Takes as optional argument on
523af50e54SRob Herring      hardware supporting it the pull strength in Ohm.
533af50e54SRob Herring
543af50e54SRob Herring  drive-push-pull:
55b2b701b3SRob Herring    oneOf:
56b2b701b3SRob Herring      - type: boolean
57b2b701b3SRob Herring      - $ref: /schemas/types.yaml#/definitions/uint32
58b2b701b3SRob Herring        enum: [ 0, 1 ]
59b2b701b3SRob Herring        deprecated: true
603af50e54SRob Herring    description: drive actively high and low
613af50e54SRob Herring
623af50e54SRob Herring  drive-open-drain:
63b2b701b3SRob Herring    oneOf:
64b2b701b3SRob Herring      - type: boolean
65b2b701b3SRob Herring      - $ref: /schemas/types.yaml#/definitions/uint32
66b2b701b3SRob Herring        const: 1    # No known cases of 0
67b2b701b3SRob Herring        deprecated: true
683af50e54SRob Herring    description: drive with open drain
693af50e54SRob Herring
703af50e54SRob Herring  drive-open-source:
713af50e54SRob Herring    type: boolean
723af50e54SRob Herring    description: drive with open source
733af50e54SRob Herring
743af50e54SRob Herring  drive-strength:
753af50e54SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
763af50e54SRob Herring    description: sink or source at most X mA
773af50e54SRob Herring
783af50e54SRob Herring  drive-strength-microamp:
793af50e54SRob Herring    description: sink or source at most X uA
803af50e54SRob Herring
813af50e54SRob Herring  input-enable:
823af50e54SRob Herring    type: boolean
833af50e54SRob Herring    description: enable input on pin (no effect on output, such as
843af50e54SRob Herring      enabling an input buffer)
853af50e54SRob Herring
863af50e54SRob Herring  input-disable:
873af50e54SRob Herring    type: boolean
883af50e54SRob Herring    description: disable input on pin (no effect on output, such as
893af50e54SRob Herring      disabling an input buffer)
903af50e54SRob Herring
913af50e54SRob Herring  input-schmitt-enable:
923af50e54SRob Herring    type: boolean
933af50e54SRob Herring    description: enable schmitt-trigger mode
943af50e54SRob Herring
953af50e54SRob Herring  input-schmitt-disable:
963af50e54SRob Herring    type: boolean
973af50e54SRob Herring    description: disable schmitt-trigger mode
983af50e54SRob Herring
993af50e54SRob Herring  input-debounce:
1003af50e54SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
1013af50e54SRob Herring    description: Takes the debounce time in usec as argument or 0 to disable
1023af50e54SRob Herring      debouncing
1033af50e54SRob Herring
1043af50e54SRob Herring  power-source:
1053af50e54SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
1063af50e54SRob Herring    description: select between different power supplies
1073af50e54SRob Herring
1083af50e54SRob Herring  low-power-enable:
1093af50e54SRob Herring    type: boolean
1103af50e54SRob Herring    description: enable low power mode
1113af50e54SRob Herring
1123af50e54SRob Herring  low-power-disable:
1133af50e54SRob Herring    type: boolean
1143af50e54SRob Herring    description: disable low power mode
1153af50e54SRob Herring
1163af50e54SRob Herring  output-disable:
1173af50e54SRob Herring    type: boolean
1183af50e54SRob Herring    description: disable output on a pin (such as disable an output buffer)
1193af50e54SRob Herring
1203af50e54SRob Herring  output-enable:
1213af50e54SRob Herring    type: boolean
1223af50e54SRob Herring    description: enable output on a pin without actively driving it
1233af50e54SRob Herring      (such as enabling an output buffer)
1243af50e54SRob Herring
1257388fa8aSLad Prabhakar  output-impedance-ohms:
1267388fa8aSLad Prabhakar    description: set the output impedance of a pin to at most X ohms
1277388fa8aSLad Prabhakar
1283af50e54SRob Herring  output-low:
1293af50e54SRob Herring    type: boolean
1303af50e54SRob Herring    description: set the pin to output mode with low level
1313af50e54SRob Herring
1323af50e54SRob Herring  output-high:
1333af50e54SRob Herring    type: boolean
1343af50e54SRob Herring    description: set the pin to output mode with high level
1353af50e54SRob Herring
1363af50e54SRob Herring  sleep-hardware-state:
1373af50e54SRob Herring    type: boolean
1383af50e54SRob Herring    description: indicate this is sleep related state which will be
1393af50e54SRob Herring      programmed into the registers for the sleep state.
1403af50e54SRob Herring
1413af50e54SRob Herring  slew-rate:
1423af50e54SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
1433af50e54SRob Herring    description: set the slew rate
1443af50e54SRob Herring
1453af50e54SRob Herring  skew-delay:
1463af50e54SRob Herring    $ref: /schemas/types.yaml#/definitions/uint32
1473af50e54SRob Herring    description:
1483af50e54SRob Herring      this affects the expected clock skew on input pins
1493af50e54SRob Herring      and the delay before latching a value to an output
1503af50e54SRob Herring      pin. Typically indicates how many double-inverters are
1513af50e54SRob Herring      used to delay the signal.
1526a0e321eSRob Herring
1536a0e321eSRob HerringadditionalProperties: true
154