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