dt-bindings: iio: io-channel-mux: document io-channel-mux bindings
authorPeter Rosin <peda@axentia.se>
Sun, 14 May 2017 19:51:09 +0000 (21:51 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 3 Jun 2017 10:29:26 +0000 (19:29 +0900)
Describe how a multiplexer can be used to select which signal is fed to
an io-channel.

Acked-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt [new file with mode: 0644]
MAINTAINERS

diff --git a/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt b/Documentation/devicetree/bindings/iio/multiplexer/io-channel-mux.txt
new file mode 100644 (file)
index 0000000..c827940
--- /dev/null
@@ -0,0 +1,39 @@
+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.txt
+
+Example:
+       mux: mux-controller {
+               compatible = "mux-gpio";
+               #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";
+       };
index a507bb4316ce96e010b27cff57d2458f15c84ab1..db2a9eb3d9e4d4c2a68c045afb41ac496db95939 100644 (file)
@@ -6481,6 +6481,12 @@ F:       Documentation/ABI/testing/sysfs-bus-iio-adc-envelope-detector
 F:     Documentation/devicetree/bindings/iio/adc/envelope-detector.txt
 F:     drivers/iio/adc/envelope-detector.c
 
+IIO MULTIPLEXER
+M:     Peter Rosin <peda@axentia.se>
+L:     linux-iio@vger.kernel.org
+S:     Maintained
+F:     Documentation/devicetree/bindings/iio/multiplexer/iio-mux.txt
+
 IIO SUBSYSTEM AND DRIVERS
 M:     Jonathan Cameron <jic23@kernel.org>
 R:     Hartmut Knaack <knaack.h@gmx.de>