1# Copyright (c) 2020, Linaro Limited 2# SPDX-License-Identifier: Apache-2.0 3 4description: Generic pin configuration schema 5 6child-binding: 7 description: | 8 Many data items that are represented in a pin configuration node are 9 common and generic. Pin control bindings should use the properties 10 defined below where they are applicable; not all of these properties are 11 relevant or useful for all hardware or binding structures. Each 12 individual binding document should state which of these generic 13 properties, if any, are used, and the structure of the DT nodes that 14 contain these properties. 15 16 This is based on Linux, documentation: 17 https://www.kernel.org/doc/Documentation/devicetree/bindings/pinctrl/pincfg-node.yaml 18 19 properties: 20 bias-disable: 21 required: false 22 type: boolean 23 description: disable any pin bias 24 25 bias-high-impedance: 26 required: false 27 type: boolean 28 description: high impedance mode ("third-state", "floating") 29 30 bias-bus-hold: 31 required: false 32 type: boolean 33 description: latch weakly 34 35 bias-pull-up: 36 required: false 37 type: boolean 38 description: enable pull-up resistor 39 40 bias-pull-down: 41 required: false 42 type: boolean 43 description: enable pull-down resistor 44 45 bias-pull-pin-default: 46 required: false 47 type: boolean 48 description: use pin's default pull state 49 50 drive-push-pull: 51 required: false 52 type: boolean 53 description: drive actively high and low 54 55 drive-open-drain: 56 required: false 57 type: boolean 58 description: drive with open drain (hardware AND) 59 60 drive-open-source: 61 required: false 62 type: boolean 63 description: drive with open source (hardware OR) 64 65 drive-strength: 66 required: false 67 type: int 68 description: maximum sink or source current in mA 69 70 drive-strength-microamp: 71 required: false 72 type: int 73 description: maximum sink or source current in μA 74 75 input-enable: 76 required: false 77 type: boolean 78 description: | 79 enable input on pin (no effect on output, such as enabling an input 80 buffer) 81 82 input-disable: 83 required: false 84 type: boolean 85 description: | 86 disable input on pin (no effect on output, such as disabling an input 87 buffer) 88 89 input-schmitt-enable: 90 required: false 91 type: boolean 92 description: enable schmitt-trigger mode 93 94 input-schmitt-disable: 95 required: false 96 type: boolean 97 description: disable schmitt-trigger mode 98 99 input-debounce: 100 required: false 101 type: int 102 description: | 103 Takes the debounce time in μsec, as argument or 0 to disable debouncing 104 105 power-source: 106 required: false 107 type: int 108 description: select between different power supplies 109 110 low-power-enable: 111 required: false 112 type: boolean 113 description: enable low power mode 114 115 low-power-disable: 116 required: false 117 type: boolean 118 description: disable low power mode 119 120 output-disable: 121 required: false 122 type: boolean 123 description: disable output on a pin (such as disable an output buffer) 124 125 output-enable: 126 required: false 127 type: boolean 128 description: | 129 enable output on a pin without actively driving it (such as enabling 130 an output buffer) 131 132 output-low: 133 required: false 134 type: boolean 135 description: set the pin to output mode with low level 136 137 output-high: 138 required: false 139 type: boolean 140 description: set the pin to output mode with high level 141 142 sleep-hardware-state: 143 required: false 144 type: boolean 145 description: | 146 indicate this is sleep related state which will be programmed into 147 the registers for the sleep state 148 149 slew-rate: 150 required: false 151 type: int 152 description: set the slew rate 153 154 skew-delay: 155 required: false 156 type: int 157 description: | 158 This affects the expected clock skew on input pins and the delay 159 before latching a value to an output pin. Typically indicates how 160 many double-inverters are used to delay the signal. 161