Signed-off-by: Peter Rosin <p...@axentia.se>
---
 .../bindings/iio/adc/envelope-detector.txt         | 55 ++++++++++++++++++++++
 MAINTAINERS                                        |  6 +++
 2 files changed, 61 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/iio/adc/envelope-detector.txt

diff --git a/Documentation/devicetree/bindings/iio/adc/envelope-detector.txt 
b/Documentation/devicetree/bindings/iio/adc/envelope-detector.txt
new file mode 100644
index 000000000000..9099531cffff
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/envelope-detector.txt
@@ -0,0 +1,55 @@
+Bindings for ADC envelope detector using a DAC and a comparator
+
+The DAC is used to find the peak level of an alternating voltage input
+signal by a binary search using the output of a comparator wired to
+an interrupt pin. Like so:
+                          _
+                         | \
+    input +------>-------|+ \
+                         |   \
+           .-------.     |    }---.
+           |       |     |   /    |
+           |    dac|-->--|- /     |
+           |       |     |_/      |
+           |       |              |
+           |       |              |
+           |    irq|------<-------'
+           |       |
+           '-------'
+
+Required properties:
+- compatible: Should be "axentia,tse850-envelope-detector"
+- io-channels: Channel node of the dac to be used for comparator input.
+- io-channel-names: Should be "dac".
+- interrupt specification for one client interrupt,
+  see ../../interrupt-controller/interrupts.txt for details.
+- interrupt-names: Should be "comp".
+
+Example:
+
+       &i2c {
+               dpot: mcp4651-104@28 {
+                       compatible = "microchip,mcp4651-104";
+                       reg = <0x28>;
+                       #io-channel-cells = <1>;
+               };
+       };
+
+       dac: dac {
+               compatible = "dpot-dac";
+               vref-supply = <&reg_3v3>;
+               io-channels = <&dpot 0>;
+               io-channel-names = "dpot";
+               dpot-dac,max-ohms = <100000>;
+               #io-channel-cells = <1>;
+       };
+
+       envelope-detector {
+               compatible = "axentia,tse850-envelope-detector";
+               io-channels = <&dac 0>;
+               io-channel-names = "dac";
+
+               interrupt-parent = <&gpio>;
+               interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+               interrupt-names = "comp";
+       };
diff --git a/MAINTAINERS b/MAINTAINERS
index 8c8aae24b96b..4b6f6ec1b703 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6118,6 +6118,12 @@ S:       Maintained
 F:     Documentation/devicetree/bindings/iio/dac/dpot-dac.txt
 F:     drivers/iio/dac/dpot-dac.c
 
+IIO ENVELOPE DETECTOR
+M:     Peter Rosin <p...@axentia.se>
+L:     linux-...@vger.kernel.org
+S:     Maintained
+F:     Documentation/devicetree/bindings/iio/adc/envelope-detector.txt
+
 IIO SUBSYSTEM AND DRIVERS
 M:     Jonathan Cameron <ji...@kernel.org>
 R:     Hartmut Knaack <knaac...@gmx.de>
-- 
2.1.4

Reply via email to