Documentation / devicetree / bindings / mux / mux-consumer.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
# 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

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
 
...