392998a803
This is needed since an empty channel label is used to indicate an unused channel, and there can be more that one of those. Fixes the following problem reported by dtbs_check: envelope-detector-mux: channels: ['', '', 'sync-1', 'in', 'out', 'sync-2', 'sys-reg', 'ana-reg'] has non-unique elements arch/arm/boot/dts/at91-tse850-3.dt.yaml Suggested-by: Rob Herring <robh@kernel.org> Signed-off-by: Peter Rosin <peda@axentia.se> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
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";
|
|
};
|
|
...
|