xref: /freebsd/sys/contrib/device-tree/Bindings/iio/adc/envelope-detector.txt (revision 5ca8e32633c4ffbbcd6762e5888b6a4ba0708c6c)
1Bindings for ADC envelope detector using a DAC and a comparator
2
3The DAC is used to find the peak level of an alternating voltage input
4signal by a binary search using the output of a comparator wired to
5an interrupt pin. Like so:
6                          _
7                         | \
8    input +------>-------|+ \
9                         |   \
10           .-------.     |    }---.
11           |       |     |   /    |
12           |    dac|-->--|- /     |
13           |       |     |_/      |
14           |       |              |
15           |       |              |
16           |    irq|------<-------'
17           |       |
18           '-------'
19
20Required properties:
21- compatible: Should be "axentia,tse850-envelope-detector"
22- io-channels: Channel node of the dac to be used for comparator input.
23- io-channel-names: Should be "dac".
24- interrupt specification for one client interrupt,
25  see ../../interrupt-controller/interrupts.txt for details.
26- interrupt-names: Should be "comp".
27
28Example:
29
30	&i2c {
31		dpot: mcp4651-104@28 {
32			compatible = "microchip,mcp4651-104";
33			reg = <0x28>;
34			#io-channel-cells = <1>;
35		};
36	};
37
38	dac: dac {
39		compatible = "dpot-dac";
40		vref-supply = <&reg_3v3>;
41		io-channels = <&dpot 0>;
42		io-channel-names = "dpot";
43		#io-channel-cells = <1>;
44	};
45
46	envelope-detector {
47		compatible = "axentia,tse850-envelope-detector";
48		io-channels = <&dac 0>;
49		io-channel-names = "dac";
50
51		interrupt-parent = <&gpio>;
52		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
53		interrupt-names = "comp";
54	};
55