Documentation/devicetree/bindings/pinctrl/nvidia,tegra-pinmux-common.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/pinctrl/nvidia,tegra-pinmux-common.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/pinctrl/nvidia,tegra-pinmux-common.yaml
Extension
.yaml
Size
6407 bytes
Lines
179
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/nvidia,tegra-pinmux-common.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NVIDIA Tegra Pinmux Controller

maintainers:
  - Thierry Reding <thierry.reding@gmail.com>
  - Jonathan Hunter <jonathanh@nvidia.com>

description: |
  Please refer to pinctrl-bindings.txt in this directory for details of the
  common pinctrl bindings used by client devices, including the meaning of
  the phrase "pin configuration node".

  Tegra's pin configuration nodes act as a container for an arbitrary number
  of subnodes. Each of these subnodes represents some desired configuration
  for a pin, a group, or a list of pins or groups. This configuration can
  include the mux function to select on those pin(s)/ group(s), and various
  pin configuration parameters, such as pull-up, tristate, drive strength,
  etc.

  The name of each subnode is not important; all subnodes should be
  enumerated and processed purely based on their content.

  Each subnode only affects those parameters that are explicitly listed. In
  other words, a subnode that lists a mux function but no pin configuration
  parameters implies no information about any pin configuration parameters.

  Similarly, a pin subnode that describes a pullup parameter implies no
  information about e.g.  the mux function or tristate parameter. For this
  reason, even seemingly boolean values are actually tristates in this
  binding: unspecified, off, or on. Unspecified is represented as an absent
  property, and off/on are represented as integer values 0 and 1.

  Note that many of these properties are only valid for certain specific pins
  or groups. See the Tegra TRM and various pinmux spreadsheets for complete
  details regarding which groups support which functionality. The Linux
  pinctrl driver may also be a useful reference, since it consolidates,
  disambiguates, and corrects data from all those sources.

properties:
  nvidia,pins:
    $ref: /schemas/types.yaml#/definitions/string-array
    description: An array of strings. Each string contains the name of a pin
      or group.  Valid values for these names are listed below.

  nvidia,function:
    $ref: /schemas/types.yaml#/definitions/string
    description: A string containing the name of the function to mux to the
      pin or group. Valid values for function names are listed below. See the
      Tegra TRM to determine which are valid for each pin or group.

  nvidia,pull:
    description: Pull-down/up setting to apply to the pin.
    $ref: /schemas/types.yaml#/definitions/uint32
    oneOf:
      - description: none
        const: 0
      - description: down
        const: 1
      - description: up
        const: 2

  nvidia,tristate:
    description: Tristate setting to apply to the pin.
    $ref: /schemas/types.yaml#/definitions/uint32
    oneOf:

Annotation

Implementation Notes