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 7title: ADC envelope detector using a DAC and a comparator 8 9maintainers: 10 - Peter Rosin <peda@axentia.se> 11 12description: | 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 30properties: 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 47required: 48 - compatible 49 - io-channels 50 - io-channel-names 51 - interrupts 52 - interrupt-names 53 54additionalProperties: false 55 56examples: 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 = <®_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... 87