dt-bindings: mux: add adi,adgs1408
authorMircea Caprioru <mircea.caprioru@analog.com>
Wed, 1 Aug 2018 08:37:39 +0000 (10:37 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Aug 2018 08:23:01 +0000 (10:23 +0200)
Adding documentation for adgs1408/1409 multiplexer. The bindings
follow the standard SPI and mux bindings and do not require any
additional custom properties.

Signed-off-by: Mircea Caprioru <mircea.caprioru@analog.com>
Reviewed-by: Rob Herring <robh@kernel.org>
[peda: reword idle-state to non-array for singular mux controller]
Signed-off-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/devicetree/bindings/mux/adi,adgs1408.txt [new file with mode: 0644]
MAINTAINERS

diff --git a/Documentation/devicetree/bindings/mux/adi,adgs1408.txt b/Documentation/devicetree/bindings/mux/adi,adgs1408.txt
new file mode 100644 (file)
index 0000000..be6947f
--- /dev/null
@@ -0,0 +1,48 @@
+Bindings for Analog Devices ADGS1408/1409 8:1/Dual 4:1 Mux
+
+Required properties:
+- compatible : Should be one of
+       * "adi,adgs1408"
+       * "adi,adgs1409"
+* Standard mux-controller bindings as described in mux-controller.txt
+
+Optional properties for ADGS1408/1409:
+- gpio-controller : if present, #gpio-cells is required.
+- #gpio-cells : should be <2>
+                       - First cell is the GPO line number, i.e. 0 to 3
+                       for ADGS1408 and 0 to 4 for ADGS1409
+                       - Second cell is used to specify active high (0)
+                       or active low (1)
+
+Optional properties:
+- idle-state : if present, the state that the mux controller will have
+  when idle. The special state MUX_IDLE_AS_IS is the default and
+  MUX_IDLE_DISCONNECT is also supported.
+
+States 0 through 7 correspond to signals S1 through S8 in the datasheet.
+For ADGS1409 only states 0 to 3 are available.
+
+Example:
+
+       /*
+        * One mux controller.
+        * Mux state set to idle as is (no idle-state declared)
+        */
+       &spi0 {
+               mux: mux-controller@0 {
+                       compatible = "adi,adgs1408";
+                       reg = <0>;
+                       spi-max-frequency = <1000000>;
+                       #mux-control-cells = <0>;
+               };
+       }
+
+       adc-mux {
+               compatible = "io-channel-mux";
+               io-channels = <&adc 1>;
+               io-channel-names = "parent";
+               mux-controls = <&mux>;
+
+               channels = "out_a0", "out_a1", "test0", "test1",
+                       "out_b0", "out_b1", "testb0", "testb1";
+       };
index f53d58a..3464b94 100644 (file)
@@ -810,6 +810,12 @@ L: linux-media@vger.kernel.org
 S:     Maintained
 F:     drivers/media/i2c/ad9389b*
 
+ANALOG DEVICES INC ADGS1408 DRIVER
+M:     Mircea Caprioru <mircea.caprioru@analog.com>
+S:     Supported
+F:     drivers/mux/adgs1408.c
+F:     Documentation/devicetree/bindings/mux/adgs1408.txt
+
 ANALOG DEVICES INC ADV7180 DRIVER
 M:     Lars-Peter Clausen <lars@metafoo.de>
 L:     linux-media@vger.kernel.org