| From: |
| chegbeli <ciprian.hegbeli-AT-analog.com> |
| To: |
| <jic23-AT-kernel.org>, <robh+dt-AT-kernel.org>, <linux-iio-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org> |
| Subject: |
| [PATCH 0/3] Add ADE9078 Driver |
| Date: |
| Thu, 17 Feb 2022 15:51:37 +0200 |
| Message-ID: |
| <20220217135140.5658-1-ciprian.hegbeli@analog.com> |
| Cc: |
| chegbeli <ciprian.hegbeli-AT-analog.com> |
| Archive-link: |
| Article |
The ADE9078 is a highly accurate, fully integrated energy metering
device. It allows the monitoring of three independent phases
simultaneously, by using seven high performances ADCs and a flexible
DSP core for a fixed fundamental signal frequency.
Datasheet:
www.analog.com/media/en/technical-documentation/data-sheets/ADE9078.pdf
NOTE:
Given the unique nature of this type of ADC a new sub-folder has been
created in the driver/iio/ section. This folder would serve as a
location for energy meters.
This series of patches provide an initial implementation of the
driver with access from the userspace to the:
- For each active phase from the device tree:
- Current (read raw, read scale, set hwgain)
- Voltage (read raw, read scale, set hwgain)
- Current RMS (read raw, read scale, set offset)
- Voltage RMS (read raw, read scale, set offset)
- Active Power (read raw, read scale, set hwgain, set offset)
- Reactive Power (read raw, read scale, set offset)
- Apparent Power (read raw, read scale)
- Fundamental Active Power (read raw, read scale, set offset)
- Apparent Power (read raw, read scale)
- Event control for zero-crossing events on Voltage and Current
- Buffer implementation for read out of the internal FIFO
chegbeli (3):
iio: add meter subdirectory
dt-bindings: iio: add ADE9078
iio: meter: add ADE9078 driver
.../bindings/iio/meter/adi,ade9078.yaml | 153 ++
MAINTAINERS | 8 +
drivers/iio/Kconfig | 1 +
drivers/iio/Makefile | 1 +
drivers/iio/meter/Kconfig | 22 +
drivers/iio/meter/Makefile | 7 +
drivers/iio/meter/ade9078.c | 1666 +++++++++++++++++
include/dt-bindings/iio/meter/adi,ade9078.h | 21 +
8 files changed, 1879 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/meter/adi,ade9078.yaml
create mode 100644 drivers/iio/meter/Kconfig
create mode 100644 drivers/iio/meter/Makefile
create mode 100644 drivers/iio/meter/ade9078.c
create mode 100644 include/dt-bindings/iio/meter/adi,ade9078.h
--
2.34.1