diff options
author | Richard Leitner <richard.leitner@linux.dev> | 2023-10-26 10:08:49 +0300 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2023-10-28 19:21:59 +0300 |
commit | 2358151bfb304aedda44348384557c161151bf57 (patch) | |
tree | 58c13b81d67e296d90156bc7cebb289544561624 /drivers/hwmon | |
parent | b1f05cb4b310a8b8a48a1fac50fd76aeed30aa54 (diff) | |
download | linux-2358151bfb304aedda44348384557c161151bf57.tar.xz |
hwmon: (ina238) add ina237 support
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>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r-- | drivers/hwmon/ina238.c | 3 |
1 files changed, 2 insertions, 1 deletions
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" }, { }, }; |