# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/adc/envelope-detector.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: ADC envelope detector using a DAC and a comparator maintainers: - Peter Rosin <peda@axentia.se> description: | 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|------<-------' | | '-------' properties: compatible: const: axentia,tse850-envelope-detector io-channels: maxItems: 1 description: Channel node of the dac to be used for comparator input. io-channel-names: const: dac interrupts: maxItems: 1 interrupt-names: const: comp required: - compatible - io-channels - io-channel-names - interrupts - interrupt-names additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/irq.h> i2c { #address-cells = <1>; #size-cells = <0>; dpot: dpot@28 { compatible = "microchip,mcp4651-104"; reg = <0x28>; #io-channel-cells = <1>; }; }; dac: dac { compatible = "dpot-dac"; vref-supply = <®_3v3>; io-channels = <&dpot 0>; io-channel-names = "dpot"; #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"; }; ...