mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-15 23:25:07 +00:00
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:
parent
f22107b91a
commit
e9ab77a4f2
3 changed files with 71 additions and 40 deletions
|
@ -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";
|
|
||||||
};
|
|
|
@ -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";
|
||||||
|
};
|
||||||
|
...
|
|
@ -8858,7 +8858,7 @@ IIO MULTIPLEXER
|
||||||
M: Peter Rosin <peda@axentia.se>
|
M: Peter Rosin <peda@axentia.se>
|
||||||
L: linux-iio@vger.kernel.org
|
L: linux-iio@vger.kernel.org
|
||||||
S: Maintained
|
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
|
F: drivers/iio/multiplexer/iio-mux.c
|
||||||
|
|
||||||
IIO SCMI BASED DRIVER
|
IIO SCMI BASED DRIVER
|
||||||
|
|
Loading…
Reference in a new issue