[PATCH 3/4] hwmon: ina238: add ina237 support

From: Richard Leitner
Date: Wed Oct 25 2023 - 06:35:52 EST


The INA237 "85-V, 16-Bit, Precision Power Monitor With I2C Interface" is
basically the same as INA328. Therefore add a corresponding compatible
to the driver.

According to the datasheet the main difference is the current and power
monitoring accuracy:

+------------------------+---------------+---------------+
| | INA238 | INA237 |
+------------------------+---------------+---------------+
| Offset voltage | +/- 5µV | +/- 50µV |
| Offset drift | +/- 0.02µV/°C | +/- 0.02µV/°C |
| Gain error | +/- 0.1% | +/- 0.3% |
| Gain error drift | +/- 25ppm/°C | +/- 50ppm/°C |
| Common mode rejection | 140dB | 120dB |
| Power accuracy | 0.7% | 1.6% |
+------------------------+---------------+---------------+

As well as the missing DEVICE_ID register at 0x3F, which is currently
not in use by the driver.

Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxx>
---
drivers/hwmon/ina238.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/hwmon/ina238.c b/drivers/hwmon/ina238.c
index f519c22d3907..ca9f5d2c811b 100644
--- a/drivers/hwmon/ina238.c
+++ b/drivers/hwmon/ina238.c
@@ -33,7 +33,7 @@
#define INA238_BUS_UNDER_VOLTAGE 0xf
#define INA238_TEMP_LIMIT 0x10
#define INA238_POWER_LIMIT 0x11
-#define INA238_DEVICE_ID 0x3f
+#define INA238_DEVICE_ID 0x3f /* not available on INA237 */

#define INA238_CONFIG_ADCRANGE BIT(4)

@@ -622,6 +622,7 @@ static const struct i2c_device_id ina238_id[] = {
MODULE_DEVICE_TABLE(i2c, ina238_id);

static const struct of_device_id __maybe_unused ina238_of_match[] = {
+ { .compatible = "ti,ina237" },
{ .compatible = "ti,ina238" },
{ },
};

--
2.40.1