162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pinctrl/pinctrl.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Pin controller device
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Linus Walleij <linus.walleij@linaro.org>
1162306a36Sopenharmony_ci  - Rafał Miłecki <rafal@milecki.pl>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription: |
1462306a36Sopenharmony_ci  Pin controller devices should contain the pin configuration nodes that client
1562306a36Sopenharmony_ci  devices reference.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci  The contents of each of those pin configuration child nodes is defined
1862306a36Sopenharmony_ci  entirely by the binding for the individual pin controller device. There
1962306a36Sopenharmony_ci  exists no common standard for this content. The pinctrl framework only
2062306a36Sopenharmony_ci  provides generic helper bindings that the pin controller driver can use.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci  The pin configuration nodes need not be direct children of the pin controller
2362306a36Sopenharmony_ci  device; they may be grandchildren, for example. Whether this is legal, and
2462306a36Sopenharmony_ci  whether there is any interaction between the child and intermediate parent
2562306a36Sopenharmony_ci  nodes, is again defined entirely by the binding for the individual pin
2662306a36Sopenharmony_ci  controller device.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciproperties:
2962306a36Sopenharmony_ci  $nodename:
3062306a36Sopenharmony_ci    pattern: "^(pinctrl|pinmux)(@[0-9a-f]+)?$"
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci  "#pinctrl-cells":
3362306a36Sopenharmony_ci    description: >
3462306a36Sopenharmony_ci      Number of pin control cells in addition to the index within the pin
3562306a36Sopenharmony_ci      controller device instance.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  pinctrl-use-default:
3862306a36Sopenharmony_ci    type: boolean
3962306a36Sopenharmony_ci    description: >
4062306a36Sopenharmony_ci      Indicates that the OS can use the boot default pin configuration. This
4162306a36Sopenharmony_ci      allows using an OS that does not have a driver for the pin controller.
4262306a36Sopenharmony_ci      This property can be set either globally for the pin controller or in
4362306a36Sopenharmony_ci      child nodes for individual pin group control.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciadditionalProperties: true
46