Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 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 | |
| 7 | title: Generic Pin Configuration Node |
| 8 | |
| 9 | maintainers: |
| 10 | - Linus Walleij <linus.walleij@linaro.org> |
| 11 | |
| 12 | description: |
| 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 | |
| 20 | properties: |
| 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-debounce: |
| 100 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 101 | description: Takes the debounce time in usec as argument or 0 to disable |
| 102 | debouncing |
| 103 | |
| 104 | power-source: |
| 105 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 106 | description: select between different power supplies |
| 107 | |
| 108 | low-power-enable: |
| 109 | type: boolean |
| 110 | description: enable low power mode |
| 111 | |
| 112 | low-power-disable: |
| 113 | type: boolean |
| 114 | description: disable low power mode |
| 115 | |
| 116 | output-disable: |
| 117 | type: boolean |
| 118 | description: disable output on a pin (such as disable an output buffer) |
| 119 | |
| 120 | output-enable: |
| 121 | type: boolean |
| 122 | description: enable output on a pin without actively driving it |
| 123 | (such as enabling an output buffer) |
| 124 | |
| 125 | output-impedance-ohms: |
| 126 | description: set the output impedance of a pin to at most X ohms |
| 127 | |
| 128 | output-low: |
| 129 | type: boolean |
| 130 | description: set the pin to output mode with low level |
| 131 | |
| 132 | output-high: |
| 133 | type: boolean |
| 134 | description: set the pin to output mode with high level |
| 135 | |
| 136 | sleep-hardware-state: |
| 137 | type: boolean |
| 138 | description: indicate this is sleep related state which will be |
| 139 | programmed into the registers for the sleep state. |
| 140 | |
| 141 | slew-rate: |
| 142 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 143 | description: set the slew rate |
| 144 | |
| 145 | skew-delay: |
| 146 | $ref: /schemas/types.yaml#/definitions/uint32 |
| 147 | description: |
| 148 | this affects the expected clock skew on input pins |
| 149 | and the delay before latching a value to an output |
| 150 | pin. Typically indicates how many double-inverters are |
| 151 | used to delay the signal. |
| 152 | |
| 153 | additionalProperties: true |