Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / iio / adc / envelope-detector.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/iio/adc/envelope-detector.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: ADC envelope detector using a DAC and a comparator
8
9 maintainers:
10   - Peter Rosin <peda@axentia.se>
11
12 description: |
13   The DAC is used to find the peak level of an alternating voltage input
14   signal by a binary search using the output of a comparator wired to
15   an interrupt pin. Like so:
16                           _
17                          | \
18     input +------>-------|+ \
19                          |   \
20            .-------.     |    }---.
21            |       |     |   /    |
22            |    dac|-->--|- /     |
23            |       |     |_/      |
24            |       |              |
25            |       |              |
26            |    irq|------<-------'
27            |       |
28            '-------'
29
30 properties:
31   compatible:
32     const: axentia,tse850-envelope-detector
33
34   io-channels:
35     maxItems: 1
36     description: Channel node of the dac to be used for comparator input.
37
38   io-channel-names:
39     const: dac
40
41   interrupts:
42     maxItems: 1
43
44   interrupt-names:
45     const: comp
46
47 required:
48   - compatible
49   - io-channels
50   - io-channel-names
51   - interrupts
52   - interrupt-names
53
54 additionalProperties: false
55
56 examples:
57   - |
58     #include <dt-bindings/interrupt-controller/irq.h>
59     i2c {
60         #address-cells = <1>;
61         #size-cells = <0>;
62         dpot: dpot@28 {
63             compatible = "microchip,mcp4651-104";
64             reg = <0x28>;
65             #io-channel-cells = <1>;
66         };
67     };
68
69     dac: dac {
70         compatible = "dpot-dac";
71         vref-supply = <&reg_3v3>;
72         io-channels = <&dpot 0>;
73         io-channel-names = "dpot";
74         #io-channel-cells = <1>;
75     };
76
77     envelope-detector {
78         compatible = "axentia,tse850-envelope-detector";
79         io-channels = <&dac 0>;
80         io-channel-names = "dac";
81
82         interrupt-parent = <&gpio>;
83         interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
84         interrupt-names = "comp";
85     };
86 ...