Commit e9ab77a4 authored by Jonathan Cameron's avatar Jonathan Cameron Committed by Rob Herring
Browse files

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: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Peter Rosin <peda@axentia.se>
[robh: Drop quotes and $ref for mux-controls]
Signed-off-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210522112908.1611389-3-jic23@kernel.org
parent f22107b9
Loading
Loading
Loading
Loading
+0 −39
Original line number Diff line number Diff line
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";
	};
+70 −0
Original line number Diff line number Diff line
# 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";
    };
...
+1 −1
Original line number Diff line number Diff line
@@ -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