Documentation/devicetree/bindings/mux/mux-consumer.yaml
Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/mux/mux-consumer.yaml
File Facts
- System
- Linux kernel
- Corpus path
Documentation/devicetree/bindings/mux/mux-consumer.yaml- Extension
.yaml- Size
- 2626 bytes
- Lines
- 68
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: configuration, schema, or hardware description
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
# 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
...
Annotation
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.