2023-10-26 07:09:04

by Richard Leitner

[permalink] [raw]
Subject: [PATCH v2 0/2] hwmon: add ti,ina237 support to ina238 driver

This series adds support for the ina237 power monitor to the ina238
driver as those two are very similar.

Signed-off-by: Richard Leitner <[email protected]>
---
Changes in v2:
- Drop separate MAINTAINERS entry as it's covered by hwmon
- Drop separate dt-bindings for ina23{7,8} as discussed with Krzysztof
- Link to v1: https://lore.kernel.org/r/[email protected]

---
Richard Leitner (2):
hwmon: ina238: add ina237 support
dt-bindings: hwmon: ti,ina2xx: add ti,ina237

Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml | 1 +
drivers/hwmon/ina238.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
---
base-commit: 4f82870119a46b0d04d91ef4697ac4977a255a9d
change-id: 20231025-ina237-0f1a9c14fd5d

Best regards,
--
Richard Leitner <[email protected]>


2023-10-26 07:09:10

by Richard Leitner

[permalink] [raw]
Subject: [PATCH v2 2/2] dt-bindings: hwmon: ti,ina2xx: add ti,ina237

Add ti,ina237 binding to ti,ina2xx as they are very similar and may
share the same properties.

Signed-off-by: Richard Leitner <[email protected]>
---
Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml b/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml
index 8648877d2d01..378d1f6aeeb3 100644
--- a/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml
+++ b/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml
@@ -26,6 +26,7 @@ properties:
- ti,ina226
- ti,ina230
- ti,ina231
+ - ti,ina237
- ti,ina238

reg:

--
2.40.1

2023-10-26 07:09:31

by Richard Leitner

[permalink] [raw]
Subject: [PATCH v2 1/2] 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 <[email protected]>
---
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

2023-10-26 14:31:04

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: hwmon: ti,ina2xx: add ti,ina237

On Thu, Oct 26, 2023 at 09:08:50AM +0200, Richard Leitner wrote:
> Add ti,ina237 binding to ti,ina2xx as they are very similar and may
> share the same properties.
>
> Signed-off-by: Richard Leitner <[email protected]>

Acked-by: Conor Dooley <[email protected]>

Thanks,
Conor.

> ---
> Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml b/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml
> index 8648877d2d01..378d1f6aeeb3 100644
> --- a/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml
> +++ b/Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml
> @@ -26,6 +26,7 @@ properties:
> - ti,ina226
> - ti,ina230
> - ti,ina231
> + - ti,ina237
> - ti,ina238
>
> reg:
>
> --
> 2.40.1
>


Attachments:
(No filename) (903.00 B)
signature.asc (235.00 B)
Download all attachments

2023-10-26 14:47:51

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: hwmon: ti,ina2xx: add ti,ina237

On Thu, Oct 26, 2023 at 09:08:50AM +0200, Richard Leitner wrote:
> Add ti,ina237 binding to ti,ina2xx as they are very similar and may
> share the same properties.
>
> Signed-off-by: Richard Leitner <[email protected]>
> Acked-by: Conor Dooley <[email protected]>

Applied.

Thanks,
Guenter

2023-10-26 14:48:58

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] hwmon: ina238: add ina237 support

On Thu, Oct 26, 2023 at 09:08:49AM +0200, Richard Leitner wrote:
> 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 <[email protected]>

Applied.

Thanks,
Guenter

> ---
> 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" },
> { },
> };