Files
linux/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml
Jonathan Cameron e9ab77a4f2 dt-bindings: iio: multiplexer: Convert io-channel-mux bindings to DT schema
Straight conversion of the txt file using the mux-consumer.yaml
binding now that is available.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Peter Rosin <peda@axentia.se>
[robh: Drop quotes and $ref for mux-controls]
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210522112908.1611389-3-jic23@kernel.org
2021-06-02 16:05:22 -05:00

71 lines
1.7 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/string-array
description:
List of strings, labeling the mux controller states.
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";
};
...