# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) # Copyright 2025 Analog Devices Inc. %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/adc/adi,ade9000.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Analog Devices ADE9000 High Performance, Polyphase Energy Metering maintainers: - Antoniu Miclaus description: | The ADE9000 is a highly accurate, fully integrated, multiphase energy and power quality monitoring device. Superior analog performance and a digital signal processing (DSP) core enable accurate energy monitoring over a wide dynamic range. An integrated high end reference ensures low drift over temperature with a combined drift of less than ±25 ppm/°C maximum for the entire channel including a programmable gain amplifier (PGA) and an analog-to-digital converter (ADC). https://www.analog.com/media/en/technical-documentation/data-sheets/ADE9000.pdf $ref: /schemas/spi/spi-peripheral-props.yaml# properties: compatible: enum: - adi,ade9000 reg: maxItems: 1 spi-max-frequency: maximum: 20000000 interrupts: maxItems: 3 interrupt-names: items: enum: [irq0, irq1, dready] minItems: 1 maxItems: 3 reset-gpios: description: Must be the device tree identifier of the RESET pin. As the line is active low, it should be marked GPIO_ACTIVE_LOW. maxItems: 1 vdd-supply: true vref-supply: true clocks: description: External clock source when not using crystal maxItems: 1 "#clock-cells": description: ADE9000 can provide clock output via CLKOUT pin with external buffer. const: 0 required: - compatible - reg - vdd-supply unevaluatedProperties: false examples: - | #include #include spi { #address-cells = <1>; #size-cells = <0>; adc@0 { compatible = "adi,ade9000"; reg = <0>; spi-max-frequency = <7000000>; #clock-cells = <0>; reset-gpios = <&gpio 4 GPIO_ACTIVE_LOW>; interrupts = <2 IRQ_TYPE_EDGE_FALLING>, <3 IRQ_TYPE_EDGE_FALLING>, <4 IRQ_TYPE_EDGE_FALLING>; interrupt-names = "irq0", "irq1", "dready"; interrupt-parent = <&gpio>; clocks = <&ext_clock_24576khz>; vdd-supply = <&vdd_reg>; }; };