mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 00:20:32 +00:00
8f2cade5da
In some cases, it is required to provide the state to which the mux controller has to be set to, from the consumer device tree node. Document the property mux-states that can be used for adding this support. Signed-off-by: Aswath Govindraju <a-govindraju@ti.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Peter Rosin <peda@axentia.se> Link: https://lore.kernel.org/r/f4d02ac8-23ee-d891-4056-75c672cc59c9@axentia.se Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
67 lines
2.6 KiB
YAML
67 lines
2.6 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mux/mux-consumer.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Common multiplexer controller consumer bindings
|
|
|
|
maintainers:
|
|
- Peter Rosin <peda@axentia.se>
|
|
|
|
description: |
|
|
Mux controller consumers should specify a list of mux controllers that they
|
|
want to use with a property containing a 'mux-ctrl-list':
|
|
|
|
mux-ctrl-list ::= <single-mux-ctrl> [mux-ctrl-list]
|
|
single-mux-ctrl ::= <mux-ctrl-phandle> [mux-ctrl-specifier]
|
|
mux-ctrl-phandle : phandle to mux controller node
|
|
mux-ctrl-specifier : array of #mux-control-cells specifying the
|
|
given mux controller (controller specific)
|
|
|
|
Mux controller properties should be named "mux-controls". The exact meaning of
|
|
each mux controller property must be documented in the device tree binding for
|
|
each consumer. An optional property "mux-control-names" may contain a list of
|
|
strings to label each of the mux controllers listed in the "mux-controls"
|
|
property.
|
|
|
|
If it is required to provide the state that the mux controller needs to
|
|
be set to, the property "mux-states" must be used. An optional property
|
|
"mux-state-names" can be used to provide a list of strings, to label
|
|
each of the multiplixer states listed in the "mux-states" property.
|
|
|
|
Properties "mux-controls" and "mux-states" can be used depending on how
|
|
the consumers want to control the mux controller. If the consumer needs
|
|
needs to set multiple states in a mux controller, then property
|
|
"mux-controls" can be used. If the consumer needs to set the mux
|
|
controller to a given state then property "mux-states" can be used.
|
|
|
|
mux-ctrl-specifier typically encodes the chip-relative mux controller number.
|
|
If the mux controller chip only provides a single mux controller, the
|
|
mux-ctrl-specifier can typically be left out.
|
|
|
|
select: true
|
|
|
|
properties:
|
|
mux-controls:
|
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
|
|
|
mux-states:
|
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
|
|
|
mux-control-names:
|
|
description:
|
|
Devices that use more than a single mux controller can use the
|
|
"mux-control-names" property to map the name of the requested mux
|
|
controller to an index into the list given by the "mux-controls" property.
|
|
|
|
mux-state-names:
|
|
description:
|
|
Devices that use more than a single multiplexer state can use the
|
|
"mux-state-names" property to map the name of the requested mux
|
|
controller to an index into the list given by the "mux-states"
|
|
property.
|
|
|
|
additionalProperties: true
|
|
|
|
...
|