On Sat, 22 May 2021 12:29:08 +0100 Jonathan Cameron <jic23@xxxxxxxxxx> wrote: > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > Straight conversion of the txt file using the mux-consumer.yaml > binding now that is available. > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > Cc: Peter Rosin <peda@xxxxxxxxxx> > Cc: Rob Herring <robh@xxxxxxxxxx> oops, accidental earlier version included here. Look at the other patch 1/1! J > --- > .../iio/multiplexer/io-channel-mux.txt | 39 ---------- > .../iio/multiplexer/io-channel-mux.yaml | 71 +++++++++++++++++++ > MAINTAINERS | 2 +- > 3 files changed, 72 insertions(+), 40 deletions(-) > > diff --git a/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt b/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt > deleted file mode 100644 > index d2b3105dba67..000000000000 > --- a/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt > +++ /dev/null > @@ -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"; > - }; > diff --git a/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml b/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml > new file mode 100644 > index 000000000000..37382b85f2b8 > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.yaml > @@ -0,0 +1,71 @@ > +# 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@xxxxxxxxxx> > + > +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/device-tree/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: > + $ref: "../../mux/mux-consumer.yaml" > + 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"; > + }; > +... > diff --git a/MAINTAINERS b/MAINTAINERS > index fc771d2aacef..eba1687688a5 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -8858,7 +8858,7 @@ IIO MULTIPLEXER > M: Peter Rosin <peda@xxxxxxxxxx> > L: linux-iio@xxxxxxxxxxxxxxx > 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