]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/mux/mux-consumer.yaml
Import device-tree files from Linux 6.2
[FreeBSD/FreeBSD.git] / Bindings / mux / mux-consumer.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/mux/mux-consumer.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Common multiplexer controller consumer
8
9 maintainers:
10   - Peter Rosin <peda@axentia.se>
11
12 description: |
13   Mux controller consumers should specify a list of mux controllers that they
14   want to use with a property containing a 'mux-ctrl-list':
15
16     mux-ctrl-list ::= <single-mux-ctrl> [mux-ctrl-list]
17     single-mux-ctrl ::= <mux-ctrl-phandle> [mux-ctrl-specifier]
18     mux-ctrl-phandle : phandle to mux controller node
19     mux-ctrl-specifier : array of #mux-control-cells specifying the
20                          given mux controller (controller specific)
21
22   Mux controller properties should be named "mux-controls". The exact meaning of
23   each mux controller property must be documented in the device tree binding for
24   each consumer. An optional property "mux-control-names" may contain a list of
25   strings to label each of the mux controllers listed in the "mux-controls"
26   property.
27
28   If it is required to provide the state that the mux controller needs to
29   be set to, the property "mux-states" must be used. An optional property
30   "mux-state-names" can be used to provide a list of strings, to label
31   each of the multiplixer states listed in the "mux-states" property.
32
33   Properties "mux-controls" and "mux-states" can be used depending on how
34   the consumers want to control the mux controller. If the consumer needs
35   needs to set multiple states in a mux controller, then property
36   "mux-controls" can be used. If the consumer needs to set the mux
37   controller to a given state then property "mux-states" can be used.
38
39   mux-ctrl-specifier typically encodes the chip-relative mux controller number.
40   If the mux controller chip only provides a single mux controller, the
41   mux-ctrl-specifier can typically be left out.
42
43 select: true
44
45 properties:
46   mux-controls:
47     $ref: /schemas/types.yaml#/definitions/phandle-array
48
49   mux-states:
50     $ref: /schemas/types.yaml#/definitions/phandle-array
51
52   mux-control-names:
53     description:
54       Devices that use more than a single mux controller can use the
55       "mux-control-names" property to map the name of the requested mux
56       controller to an index into the list given by the "mux-controls" property.
57
58   mux-state-names:
59     description:
60       Devices that use more than a single multiplexer state can use the
61       "mux-state-names" property to map the name of the requested mux
62       controller to an index into the list given by the "mux-states"
63       property.
64
65 additionalProperties: true
66
67 ...