hwmon: (ina238) add ina237 support
authorRichard Leitner <richard.leitner@linux.dev>
Thu, 26 Oct 2023 07:08:49 +0000 (09:08 +0200)
committerGuenter Roeck <linux@roeck-us.net>
Sat, 28 Oct 2023 16:21:59 +0000 (09:21 -0700)
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@linux.dev>
Link: https://lore.kernel.org/r/20231026-ina237-v2-1-dec44811a3c9@linux.dev
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/ina238.c

index f519c22d3907cdf0df95d0b3c2925191bc3dea29..ca9f5d2c811bb6ed0eb53f3ee1a3563c5c1d3b0f 100644 (file)
@@ -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" },
        { },
 };