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
This commit is contained in:
Jonathan Cameron 2021-05-22 12:29:08 +01:00 committed by Rob Herring
parent f22107b91a
commit e9ab77a4f2
3 changed files with 71 additions and 40 deletions

View File

@ -1,39 +0,0 @@
I/O channel multiplexer bindings
If a multiplexer is used to select which hardware signal is fed to
e.g. an ADC channel, these bindings describe that situation.
Required properties:
- compatible : "io-channel-mux"
- io-channels : Channel node of the parent channel that has multiplexed
input.
- io-channel-names : Should be "parent".
- #address-cells = <1>;
- #size-cells = <0>;
- mux-controls : Mux controller node to use for operating the mux
- channels : List of strings, labeling the mux controller states.
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
../mux/mux-controller.yaml
Example:
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";
};

View File

@ -0,0 +1,70 @@
# 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";
};
...

View File

@ -8858,7 +8858,7 @@ IIO MULTIPLEXER
M: Peter Rosin <peda@axentia.se>
L: linux-iio@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt
F: Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml
F: drivers/iio/multiplexer/iio-mux.c
IIO SCMI BASED DRIVER