xref: /freebsd/sys/contrib/device-tree/Bindings/mux/mux-consumer.yaml (revision 5956d97f4b3204318ceb6aa9c77bd0bc6ea87a41)
1*5956d97fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2*5956d97fSEmmanuel Vadot%YAML 1.2
3*5956d97fSEmmanuel Vadot---
4*5956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/mux/mux-consumer.yaml#
5*5956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5956d97fSEmmanuel Vadot
7*5956d97fSEmmanuel Vadottitle: Common multiplexer controller consumer bindings
8*5956d97fSEmmanuel Vadot
9*5956d97fSEmmanuel Vadotmaintainers:
10*5956d97fSEmmanuel Vadot  - Peter Rosin <peda@axentia.se>
11*5956d97fSEmmanuel Vadot
12*5956d97fSEmmanuel Vadotdescription: |
13*5956d97fSEmmanuel Vadot  Mux controller consumers should specify a list of mux controllers that they
14*5956d97fSEmmanuel Vadot  want to use with a property containing a 'mux-ctrl-list':
15*5956d97fSEmmanuel Vadot
16*5956d97fSEmmanuel Vadot    mux-ctrl-list ::= <single-mux-ctrl> [mux-ctrl-list]
17*5956d97fSEmmanuel Vadot    single-mux-ctrl ::= <mux-ctrl-phandle> [mux-ctrl-specifier]
18*5956d97fSEmmanuel Vadot    mux-ctrl-phandle : phandle to mux controller node
19*5956d97fSEmmanuel Vadot    mux-ctrl-specifier : array of #mux-control-cells specifying the
20*5956d97fSEmmanuel Vadot                         given mux controller (controller specific)
21*5956d97fSEmmanuel Vadot
22*5956d97fSEmmanuel Vadot  Mux controller properties should be named "mux-controls". The exact meaning of
23*5956d97fSEmmanuel Vadot  each mux controller property must be documented in the device tree binding for
24*5956d97fSEmmanuel Vadot  each consumer. An optional property "mux-control-names" may contain a list of
25*5956d97fSEmmanuel Vadot  strings to label each of the mux controllers listed in the "mux-controls"
26*5956d97fSEmmanuel Vadot  property.
27*5956d97fSEmmanuel Vadot
28*5956d97fSEmmanuel Vadot  mux-ctrl-specifier typically encodes the chip-relative mux controller number.
29*5956d97fSEmmanuel Vadot  If the mux controller chip only provides a single mux controller, the
30*5956d97fSEmmanuel Vadot  mux-ctrl-specifier can typically be left out.
31*5956d97fSEmmanuel Vadot
32*5956d97fSEmmanuel Vadotselect: true
33*5956d97fSEmmanuel Vadot
34*5956d97fSEmmanuel Vadotproperties:
35*5956d97fSEmmanuel Vadot  mux-controls:
36*5956d97fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
37*5956d97fSEmmanuel Vadot
38*5956d97fSEmmanuel Vadot  mux-control-names:
39*5956d97fSEmmanuel Vadot    description:
40*5956d97fSEmmanuel Vadot      Devices that use more than a single mux controller can use the
41*5956d97fSEmmanuel Vadot      "mux-control-names" property to map the name of the requested mux
42*5956d97fSEmmanuel Vadot      controller to an index into the list given by the "mux-controls" property.
43*5956d97fSEmmanuel Vadot
44*5956d97fSEmmanuel VadotadditionalProperties: true
45*5956d97fSEmmanuel Vadot
46*5956d97fSEmmanuel Vadot...
47