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 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 oneOf: 56 - type: boolean 57 - $ref: /schemas/types.yaml#/definitions/uint32 58 enum: [ 0, 1 ] 59 deprecated: true 60 description: drive actively high and low 61 62 drive-open-drain: 63 oneOf: 64 - type: boolean 65 - $ref: /schemas/types.yaml#/definitions/uint32 66 const: 1 # No known cases of 0 67 deprecated: true 68 description: drive with open drain 69 70 drive-open-source: 71 type: boolean 72 description: drive with open source 73 74 drive-strength: 75 $ref: /schemas/types.yaml#/definitions/uint32 76 description: sink or source at most X mA 77 78 drive-strength-microamp: 79 description: sink or source at most X uA 80 81 input-enable: 82 type: boolean 83 description: enable input on pin (no effect on output, such as 84 enabling an input buffer) 85 86 input-disable: 87 type: boolean 88 description: disable input on pin (no effect on output, such as 89 disabling an input buffer) 90 91 input-schmitt-enable: 92 type: boolean 93 description: enable schmitt-trigger mode 94 95 input-schmitt-disable: 96 type: boolean 97 description: disable schmitt-trigger mode 98 99 input-schmitt-microvolt: 100 description: threshold strength for schmitt-trigger 101 102 input-debounce: 103 $ref: /schemas/types.yaml#/definitions/uint32-array 104 description: Takes the debounce time in usec as argument or 0 to disable 105 debouncing 106 107 power-source: 108 $ref: /schemas/types.yaml#/definitions/uint32 109 description: select between different power supplies 110 111 low-power-enable: 112 type: boolean 113 description: enable low power mode 114 115 low-power-disable: 116 type: boolean 117 description: disable low power mode 118 119 output-disable: 120 type: boolean 121 description: disable output on a pin (such as disable an output buffer) 122 123 output-enable: 124 type: boolean 125 description: enable output on a pin without actively driving it 126 (such as enabling an output buffer) 127 128 output-impedance-ohms: 129 description: set the output impedance of a pin to at most X ohms 130 131 output-low: 132 type: boolean 133 description: set the pin to output mode with low level 134 135 output-high: 136 type: boolean 137 description: set the pin to output mode with high level 138 139 sleep-hardware-state: 140 type: boolean 141 description: indicate this is sleep related state which will be 142 programmed into the registers for the sleep state. 143 144 slew-rate: 145 $ref: /schemas/types.yaml#/definitions/uint32 146 description: set the slew rate 147 148 skew-delay: 149 $ref: /schemas/types.yaml#/definitions/uint32 150 description: 151 this affects the expected clock skew on input pins 152 and the delay before latching a value to an output 153 pin. Typically indicates how many double-inverters are 154 used to delay the signal. 155 156additionalProperties: true 157