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

title: Pin controller device

maintainers:
  - Linus Walleij <linus.walleij@linaro.org>
  - Rafał Miłecki <rafal@milecki.pl>

description: |
  Pin controller devices should contain the pin configuration nodes that client
  devices reference.

  The contents of each of those pin configuration child nodes is defined
  entirely by the binding for the individual pin controller device. There
  exists no common standard for this content. The pinctrl framework only
  provides generic helper bindings that the pin controller driver can use.

  The pin configuration nodes need not be direct children of the pin controller
  device; they may be grandchildren, for example. Whether this is legal, and
  whether there is any interaction between the child and intermediate parent
  nodes, is again defined entirely by the binding for the individual pin
  controller device.

properties:
  $nodename:
    pattern: "^(pinctrl|pinmux)(@[0-9a-f]+)?$"

  "#pinctrl-cells":
    description: >
      Number of pin control cells in addition to the index within the pin
      controller device instance.

  pinctrl-use-default:
    type: boolean
    description: >
      Indicates that the OS can use the boot default pin configuration. This
      allows using an OS that does not have a driver for the pin controller.
      This property can be set either globally for the pin controller or in
      child nodes for individual pin group control.

additionalProperties: true