[PATCH v2 0/4] iio: adc: ade9000: add support for ADE9078

Antoniu Miclaus posted 4 patches 2 months ago
.../bindings/iio/adc/adi,ade9000.yaml         |  30 ++-
Documentation/iio/ade9000.rst                 |  28 +--
drivers/iio/adc/Kconfig                       |  16 +-
drivers/iio/adc/ade9000.c                     | 180 ++++++++++++------
4 files changed, 175 insertions(+), 79 deletions(-)
[PATCH v2 0/4] iio: adc: ade9000: add support for ADE9078
Posted by Antoniu Miclaus 2 months ago
The ADE9078 is a polyphase energy metering device from the same family as
the ADE9000 and is register compatible with it. The main differences
relevant to the driver are the absence of the on-chip dip/swell detection,
a lower maximum SPI clock (10 MHz), and slightly different full-scale ADC
codes.

This series adds support for the ADE9078 to the existing ade9000 driver.
It first refactors the driver to move the part-specific values (device
name, channel table, and full-scale codes) into a chip_info structure
retrieved via device match data, then adds the new device tree compatible
and the ADE9078 support itself, and finally updates the documentation.

Changes in v2:
- move the "respective datasheets" comment wording to avoid churn.
- use a generic Kconfig title and list the supported parts.
- duplicate the RMS voltage macro instead of a shared base macro.

v1: https://lore.kernel.org/linux-iio/<FILL-IN-v1-MESSAGE-ID>/

Antoniu Miclaus (4):
  iio: adc: ade9000: introduce chip_info structure
  dt-bindings: iio: adc: adi,ade9000: add adi,ade9078 compatible
  iio: adc: ade9000: add support for ADE9078
  docs: iio: ade9000: document ADE9078 support

 .../bindings/iio/adc/adi,ade9000.yaml         |  30 ++-
 Documentation/iio/ade9000.rst                 |  28 +--
 drivers/iio/adc/Kconfig                       |  16 +-
 drivers/iio/adc/ade9000.c                     | 180 ++++++++++++------
 4 files changed, 175 insertions(+), 79 deletions(-)


base-commit: 0b5e142ced4bcf20532da051934bd694d1bbd470
-- 
2.43.0
Re: [PATCH v2 0/4] iio: adc: ade9000: add support for ADE9078
Posted by Jonathan Cameron 2 months ago
On Fri, 31 Jul 2026 11:29:46 +0300
Antoniu Miclaus <antoniu.miclaus@analog.com> wrote:

> The ADE9078 is a polyphase energy metering device from the same family as
> the ADE9000 and is register compatible with it. The main differences
> relevant to the driver are the absence of the on-chip dip/swell detection,
> a lower maximum SPI clock (10 MHz), and slightly different full-scale ADC
> codes.

This looks fine to me, but will need to sit on list until the dt maintainers
have gotten to it.  Sashiko did call out some possible preexisting issues
in the driver.  I haven't looked at them, but if you have some time, it may
be worth a look the power vs interrupt registration one smells plausible.

https://sashiko.dev/#/patchset/20260731082951.1228-1-antoniu.miclaus%40analog.com
> 
> This series adds support for the ADE9078 to the existing ade9000 driver.
> It first refactors the driver to move the part-specific values (device
> name, channel table, and full-scale codes) into a chip_info structure
> retrieved via device match data, then adds the new device tree compatible
> and the ADE9078 support itself, and finally updates the documentation.
> 
> Changes in v2:
> - move the "respective datasheets" comment wording to avoid churn.
> - use a generic Kconfig title and list the supported parts.
> - duplicate the RMS voltage macro instead of a shared base macro.
> 
> v1: https://lore.kernel.org/linux-iio/<FILL-IN-v1-MESSAGE-ID>/
> 
> Antoniu Miclaus (4):
>   iio: adc: ade9000: introduce chip_info structure
>   dt-bindings: iio: adc: adi,ade9000: add adi,ade9078 compatible
>   iio: adc: ade9000: add support for ADE9078
>   docs: iio: ade9000: document ADE9078 support
> 
>  .../bindings/iio/adc/adi,ade9000.yaml         |  30 ++-
>  Documentation/iio/ade9000.rst                 |  28 +--
>  drivers/iio/adc/Kconfig                       |  16 +-
>  drivers/iio/adc/ade9000.c                     | 180 ++++++++++++------
>  4 files changed, 175 insertions(+), 79 deletions(-)
> 
> 
> base-commit: 0b5e142ced4bcf20532da051934bd694d1bbd470