Rob Herring | 3af50e5 | 2019-11-07 16:42:54 -0600 | [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 schema |
| 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 | 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. |
Rob Herring | 6a0e321 | 2020-10-05 13:38:30 -0500 | [diff] [blame] | 141 | |
| 142 | additionalProperties: true |