File Index
Files and directories
Sign in
FILE

nvidia,tegra-pinmux-common.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/pinctrl/nvidia,tegra-pinmux-common.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/pinctrl/nvidia,tegra-pinmux-common.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: NVIDIA Tegra Pinmux Controller
  8
  9maintainers:
 10  - Thierry Reding <thierry.reding@gmail.com>
 11  - Jonathan Hunter <jonathanh@nvidia.com>
 12
 13description: |
 14  Please refer to pinctrl-bindings.txt in this directory for details of the
 15  common pinctrl bindings used by client devices, including the meaning of
 16  the phrase "pin configuration node".
 17
 18  Tegra's pin configuration nodes act as a container for an arbitrary number
 19  of subnodes. Each of these subnodes represents some desired configuration
 20  for a pin, a group, or a list of pins or groups. This configuration can
 21  include the mux function to select on those pin(s)/ group(s), and various
 22  pin configuration parameters, such as pull-up, tristate, drive strength,
 23  etc.
 24
 25  The name of each subnode is not important; all subnodes should be
 26  enumerated and processed purely based on their content.
 27
 28  Each subnode only affects those parameters that are explicitly listed. In
 29  other words, a subnode that lists a mux function but no pin configuration
 30  parameters implies no information about any pin configuration parameters.
 31
 32  Similarly, a pin subnode that describes a pullup parameter implies no
 33  information about e.g.  the mux function or tristate parameter. For this
 34  reason, even seemingly boolean values are actually tristates in this
 35  binding: unspecified, off, or on. Unspecified is represented as an absent
 36  property, and off/on are represented as integer values 0 and 1.
 37
 38  Note that many of these properties are only valid for certain specific pins
 39  or groups. See the Tegra TRM and various pinmux spreadsheets for complete
 40  details regarding which groups support which functionality. The Linux
 41  pinctrl driver may also be a useful reference, since it consolidates,
 42  disambiguates, and corrects data from all those sources.
 43
 44properties:
 45  nvidia,pins:
 46    $ref: /schemas/types.yaml#/definitions/string-array
 47    description: An array of strings. Each string contains the name of a pin
 48      or group.  Valid values for these names are listed below.
 49
 50  nvidia,function:
 51    $ref: /schemas/types.yaml#/definitions/string
 52    description: A string containing the name of the function to mux to the
 53      pin or group. Valid values for function names are listed below. See the
 54      Tegra TRM to determine which are valid for each pin or group.
 55
 56  nvidia,pull:
 57    description: Pull-down/up setting to apply to the pin.
 58    $ref: /schemas/types.yaml#/definitions/uint32
 59    oneOf:
 60      - description: none
 61        const: 0
 62      - description: down
 63        const: 1
 64      - description: up
 65        const: 2
 66
 67  nvidia,tristate:
 68    description: Tristate setting to apply to the pin.
 69    $ref: /schemas/types.yaml#/definitions/uint32
 70    oneOf:
 71      - description: drive
 72        const: 0
 73      - description: tristate
 74        const: 1
 75
 76  nvidia,schmitt:
 77    description: Enable Schmitt trigger on the input.
 78    $ref: /schemas/types.yaml#/definitions/uint32
 79    oneOf:
 80      - description: disable Schmitt trigger on the input
 81        const: 0
 82      - description: enable Schmitt trigger on the input
 83        const: 1
 84
 85  nvidia,pull-down-strength:
 86    description: Controls drive strength. 0 is weakest. The range of valid
 87      values depends on the pingroup. See "CAL_DRVDN" in the Tegra TRM.
 88    $ref: /schemas/types.yaml#/definitions/uint32
 89
 90  nvidia,pull-up-strength:
 91    description: Controls drive strength. 0 is weakest. The range of valid
 92      values depends on the pingroup. See "CAL_DRVUP" in the Tegra TRM.
 93    $ref: /schemas/types.yaml#/definitions/uint32
 94
 95  nvidia,high-speed-mode:
 96    description: Enable high speed mode the pins.
 97    $ref: /schemas/types.yaml#/definitions/uint32
 98    oneOf:
 99      - description: normal speed mode
100        const: 0
101      - description: high speed mode
102        const: 1
103
104  nvidia,low-power-mode:
105    description: Controls the drive power or current. Valid values are from 0
106      through 3, where 0 specifies the least power and 3 specifies the most
107      power. See "Low Power Mode" or "LPMD1" and "LPMD0" in the Tegra TRM.
108    $ref: /schemas/types.yaml#/definitions/uint32
109    enum: [ 0, 1, 2, 3 ]
110
111  nvidia,enable-input:
112    description: Enable the pin's input path.
113    $ref: /schemas/types.yaml#/definitions/uint32
114    oneOf:
115      - description: disable input (i.e. output only)
116        const: 0
117      - description: enable input
118        const: 1
119
120  nvidia,open-drain:
121    description: Open-drain configuration for the pin.
122    $ref: /schemas/types.yaml#/definitions/uint32
123    oneOf:
124      - description: disable open-drain
125        const: 0
126      - description: enable open-drain
127        const: 1
128
129  nvidia,lock:
130    description: Lock the pin configuration against further changes until
131      reset.
132    $ref: /schemas/types.yaml#/definitions/uint32
133    oneOf:
134      - description: disable pin configuration lock
135        const: 0
136      - description: enable pin configuration lock
137        const: 1
138
139  nvidia,io-reset:
140    description: reset the I/O path
141    $ref: /schemas/types.yaml#/definitions/uint32
142    enum: [ 0, 1 ]
143
144  nvidia,rcv-sel:
145    description: select VIL/VIH receivers
146    $ref: /schemas/types.yaml#/definitions/uint32
147    oneOf:
148      - description: normal receivers
149        const: 0
150      - description: high-voltage receivers
151        const: 1
152
153  nvidia,drive-type:
154    description: Drive type to configure for the pin.
155    $ref: /schemas/types.yaml#/definitions/uint32
156    enum: [ 0, 1, 2, 3 ]
157
158  nvidia,io-hv:
159    description: Select high-voltage receivers.
160    $ref: /schemas/types.yaml#/definitions/uint32
161    oneOf:
162      - description: Use normal receivers.
163        const: 0
164      - description: Use high-voltage receivers.
165        const: 1
166
167  nvidia,slew-rate-rising:
168    description: Controls rising signal slew rate. 0 is fastest. The range of
169      valid values depends on the pingroup. See "DRVDN_SLWR" in the Tegra TRM.
170    $ref: /schemas/types.yaml#/definitions/uint32
171
172  nvidia,slew-rate-falling:
173    description: Controls falling signal slew rate. 0 is fastest. The range of
174      valid values depends on the pingroup. See "DRVUP_SLWF" in the Tegra TRM.
175    $ref: /schemas/types.yaml#/definitions/uint32
176
177additionalProperties: true
178...
~/ Read-only file preview.