Documentation/devicetree/bindings/mux/reg-mux.yaml
Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/mux/reg-mux.yaml
File Facts
- System
- Linux kernel
- Corpus path
Documentation/devicetree/bindings/mux/reg-mux.yaml- Extension
.yaml- Size
- 3341 bytes
- Lines
- 147
- 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
dt-bindings/mux/mux.h
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/reg-mux.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Generic register bitfield-based multiplexer controller
maintainers:
- Peter Rosin <peda@axentia.se>
description: |+
Define register bitfields to be used to control multiplexers. The parent
device tree node must be a device node to provide register r/w access.
properties:
compatible:
enum:
- reg-mux # parent device of mux controller is not syscon device
- mmio-mux # parent device of mux controller is syscon device
reg: true
'#mux-control-cells':
const: 1
mux-reg-masks:
$ref: /schemas/types.yaml#/definitions/uint32-matrix
items:
items:
- description: register offset
- description: pre-shifted bitfield mask
description: Each entry pair describes a single mux control.
idle-states: true
required:
- compatible
- mux-reg-masks
- '#mux-control-cells'
additionalProperties: false
examples:
- |
/* The parent device of mux controller is not a syscon device. */
#include <dt-bindings/mux/mux.h>
mux-controller {
compatible = "reg-mux";
#mux-control-cells = <1>;
mux-reg-masks =
<0x54 0xf8>, /* 0: reg 0x54, bits 7:3 */
<0x54 0x07>; /* 1: reg 0x54, bits 2:0 */
};
mdio-mux-1 {
compatible = "mdio-mux-multiplexer";
mux-controls = <&mux1 0>;
mdio-parent-bus = <&emdio1>;
#address-cells = <1>;
#size-cells = <0>;
mdio@0 {
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
};
Annotation
- Immediate include surface: `dt-bindings/mux/mux.h`.
- 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.