80 lines
1.9 KiB
YAML
80 lines
1.9 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/iio/multiplexer/io-channel-mux.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: I/O channel multiplexer bindings
|
|
|
|
maintainers:
|
|
- Peter Rosin <peda@axentia.se>
|
|
|
|
description: |
|
|
If a multiplexer is used to select which hardware signal is fed to
|
|
e.g. an ADC channel, these bindings describe that situation.
|
|
|
|
For each non-empty string in the channels property, an io-channel will be
|
|
created. The number of this io-channel is the same as the index into the list
|
|
of strings in the channels property, and also matches the mux controller
|
|
state. The mux controller state is described in
|
|
Documentation/devicetree/bindings/mux/mux-controller.yaml
|
|
|
|
properties:
|
|
|
|
compatible:
|
|
const: io-channel-mux
|
|
|
|
io-channels:
|
|
maxItems: 1
|
|
description: Channel node of the parent channel that has multiplexed input.
|
|
|
|
io-channel-names:
|
|
const: parent
|
|
|
|
mux-controls: true
|
|
mux-control-names: true
|
|
|
|
channels:
|
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
|
description:
|
|
List of strings, labeling the mux controller states. An empty
|
|
string for a state means that the channel is not available.
|
|
|
|
settle-time-us:
|
|
default: 0
|
|
description:
|
|
Time required for analog signals to settle after muxing.
|
|
|
|
"#io-channel-cells":
|
|
const: 1
|
|
|
|
required:
|
|
- compatible
|
|
- io-channels
|
|
- io-channel-names
|
|
- mux-controls
|
|
- channels
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
mux: mux-controller {
|
|
compatible = "gpio-mux";
|
|
#mux-control-cells = <0>;
|
|
|
|
mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,
|
|
<&pioA 1 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
adc-mux {
|
|
compatible = "io-channel-mux";
|
|
io-channels = <&adc 0>;
|
|
io-channel-names = "parent";
|
|
|
|
mux-controls = <&mux>;
|
|
channels = "sync", "in", "system-regulator";
|
|
};
|
|
...
|