| # 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 <antoniu.miclaus@analog.com> |
| |
| 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 <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| 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>; |
| }; |
| }; |