1# SPDX-License-Identifier: GPL-2.0-only 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/pinctrl/pincfg-node.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Generic pin configuration node schema 8 9maintainers: 10 - Linus Walleij <linus.walleij@linaro.org> 11 12description: 13 Many data items that are represented in a pin configuration node are common 14 and generic. Pin control bindings should use the properties defined below 15 where they are applicable; not all of these properties are relevant or useful 16 for all hardware or binding structures. Each individual binding document 17 should state which of these generic properties, if any, are used, and the 18 structure of the DT nodes that contain these properties. 19 20properties: 21 bias-disable: 22 type: boolean 23 description: disable any pin bias 24 25 bias-high-impedance: 26 type: boolean 27 description: high impedance mode ("third-state", "floating") 28 29 bias-bus-hold: 30 type: boolean 31 description: latch weakly 32 33 bias-pull-up: 34 oneOf: 35 - type: boolean 36 - $ref: /schemas/types.yaml#/definitions/uint32 37 description: pull up the pin. Takes as optional argument on hardware 38 supporting it the pull strength in Ohm. 39 40 bias-pull-down: 41 oneOf: 42 - type: boolean 43 - $ref: /schemas/types.yaml#/definitions/uint32 44 description: pull down the pin. Takes as optional argument on hardware 45 supporting it the pull strength in Ohm. 46 47 bias-pull-pin-default: 48 oneOf: 49 - type: boolean 50 - $ref: /schemas/types.yaml#/definitions/uint32 51 description: use pin-default pull state. Takes as optional argument on 52 hardware supporting it the pull strength in Ohm. 53 54 drive-push-pull: 55 type: boolean 56 description: drive actively high and low 57 58 drive-open-drain: 59 type: boolean 60 description: drive with open drain 61 62 drive-open-source: 63 type: boolean 64 description: drive with open source 65 66 drive-strength: 67 $ref: /schemas/types.yaml#/definitions/uint32 68 description: sink or source at most X mA 69 70 drive-strength-microamp: 71 description: sink or source at most X uA 72 73 input-enable: 74 type: boolean 75 description: enable input on pin (no effect on output, such as 76 enabling an input buffer) 77 78 input-disable: 79 type: boolean 80 description: disable input on pin (no effect on output, such as 81 disabling an input buffer) 82 83 input-schmitt-enable: 84 type: boolean 85 description: enable schmitt-trigger mode 86 87 input-schmitt-disable: 88 type: boolean 89 description: disable schmitt-trigger mode 90 91 input-debounce: 92 $ref: /schemas/types.yaml#/definitions/uint32 93 description: Takes the debounce time in usec as argument or 0 to disable 94 debouncing 95 96 power-source: 97 $ref: /schemas/types.yaml#/definitions/uint32 98 description: select between different power supplies 99 100 low-power-enable: 101 type: boolean 102 description: enable low power mode 103 104 low-power-disable: 105 type: boolean 106 description: disable low power mode 107 108 output-disable: 109 type: boolean 110 description: disable output on a pin (such as disable an output buffer) 111 112 output-enable: 113 type: boolean 114 description: enable output on a pin without actively driving it 115 (such as enabling an output buffer) 116 117 output-low: 118 type: boolean 119 description: set the pin to output mode with low level 120 121 output-high: 122 type: boolean 123 description: set the pin to output mode with high level 124 125 sleep-hardware-state: 126 type: boolean 127 description: indicate this is sleep related state which will be 128 programmed into the registers for the sleep state. 129 130 slew-rate: 131 $ref: /schemas/types.yaml#/definitions/uint32 132 description: set the slew rate 133 134 skew-delay: 135 $ref: /schemas/types.yaml#/definitions/uint32 136 description: 137 this affects the expected clock skew on input pins 138 and the delay before latching a value to an output 139 pin. Typically indicates how many double-inverters are 140 used to delay the signal. 141 142additionalProperties: true 143