[PATCH 1/4] iio: adc: ade9000: fix ADE9000 full-scale RMS and PCF codes

From: Antoniu Miclaus

Date: Mon Sep 07 2026 - 06:27:52 EST


The ADE9000 chip_info uses full-scale codes that do not match the
datasheet. The RMS full-scale code was set to 52866837, which is the
ADE9078 value; per the ADE9000 datasheet the xRMS/xFRMS full-scale
reading is 52702092. The PCF full-scale code was set to 74770000, a
value that appears in no datasheet; the ADE9000 xI_PCF/xV_PCF full-scale
reading is 74532013.

Because the IIO scale of the RMS and PCF channels is reported as
1 / full_scale_codes, these wrong values make the affected current and
voltage channels read about 0.3% low on real hardware. The active power
(WATT) full-scale code was already correct and is left unchanged. These
are the same family-A values already used by the ADE9430.

Fixes: 81de7b4619fc ("iio: adc: add ade9000 support")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@xxxxxxxxxx>
---
drivers/iio/adc/ade9000.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/adc/ade9000.c b/drivers/iio/adc/ade9000.c
index fd1362a98052..0f64bfb221da 100644
--- a/drivers/iio/adc/ade9000.c
+++ b/drivers/iio/adc/ade9000.c
@@ -677,9 +677,9 @@ static const struct ade9000_chip_info ade9000_chip_info = {
.name = "ade9000",
.channels = ade9000_channels,
.num_channels = ARRAY_SIZE(ade9000_channels),
- .rms_full_scale_codes = 52866837,
+ .rms_full_scale_codes = 52702092,
.watt_full_scale_codes = 20694066,
- .pcf_full_scale_codes = 74770000,
+ .pcf_full_scale_codes = 74532013,
};

static const struct ade9000_chip_info ade9078_chip_info = {
--
2.43.0