Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml
26309 views
1
# SPDX-License-Identifier: GPL-2.0
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/iio/multiplexer/io-channel-mux.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: I/O channel multiplexer
8
9
maintainers:
10
- Peter Rosin <peda@axentia.se>
11
12
description: |
13
If a multiplexer is used to select which hardware signal is fed to
14
e.g. an ADC channel, these bindings describe that situation.
15
16
For each non-empty string in the channels property, an io-channel will be
17
created. The number of this io-channel is the same as the index into the list
18
of strings in the channels property, and also matches the mux controller
19
state. The mux controller state is described in
20
Documentation/devicetree/bindings/mux/mux-controller.yaml
21
22
properties:
23
24
compatible:
25
const: io-channel-mux
26
27
io-channels:
28
maxItems: 1
29
description: Channel node of the parent channel that has multiplexed input.
30
31
io-channel-names:
32
const: parent
33
34
mux-controls: true
35
mux-control-names: true
36
37
channels:
38
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
39
description:
40
List of strings, labeling the mux controller states. An empty
41
string for a state means that the channel is not available.
42
43
settle-time-us:
44
default: 0
45
description:
46
Time required for analog signals to settle after muxing.
47
48
"#io-channel-cells":
49
const: 1
50
51
required:
52
- compatible
53
- io-channels
54
- io-channel-names
55
- mux-controls
56
- channels
57
58
additionalProperties: false
59
60
examples:
61
- |
62
#include <dt-bindings/gpio/gpio.h>
63
mux: mux-controller {
64
compatible = "gpio-mux";
65
#mux-control-cells = <0>;
66
67
mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,
68
<&pioA 1 GPIO_ACTIVE_HIGH>;
69
};
70
71
adc-mux {
72
compatible = "io-channel-mux";
73
io-channels = <&adc 0>;
74
io-channel-names = "parent";
75
76
mux-controls = <&mux>;
77
channels = "sync", "in", "system-regulator";
78
};
79
...
80
81