mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 06:31:58 +02:00
dt-bindings: pinctrl: convert controller description to the json-schema
This helps validating DTS and writing YAML files. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/r/20211110165720.30242-1-zajec5@gmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
f3e3e63796
commit
896568e5b9
|
|
@ -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 ==
|
||||
|
||||
|
|
|
|||
45
Documentation/devicetree/bindings/pinctrl/pinctrl.yaml
Normal file
45
Documentation/devicetree/bindings/pinctrl/pinctrl.yaml
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
# 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
|
||||
Loading…
Reference in New Issue
Block a user