Commit 896568e5 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by Linus Walleij

dt-bindings: pinctrl: convert controller description to the json-schema

This helps validating DTS and writing YAML files.
Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211110165720.30242-1-zajec5@gmail.comSigned-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent f3e3e637
......@@ -97,47 +97,8 @@ For example:
};
== Pin controller devices ==
Required properties: See the pin controller driver specific documentation
Optional properties:
#pinctrl-cells: Number of pin control cells in addition to the index within the
pin controller device instance
pinctrl-use-default: Boolean. 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.
Pin controller devices should contain the pin configuration nodes that client
devices reference.
For example:
pincontroller {
... /* Standard DT properties for the device itself elided */
state_0_node_a {
...
};
state_1_node_a {
...
};
state_1_node_b {
...
};
}
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.
See pinctrl.yaml
== Generic pin multiplexing node content ==
......
# 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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment