mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
hwmon: (ina2xx) Add support for INA234
[ Upstream commit88a928eebc] INA234 is register compatible to INA226 (excepting manufacturer and die or device id registers) but has different scaling. Signed-off-by: Ian Ray <ian.ray@gehealthcare.com> Reviewed-by: Bence Csókás <bence98@sch.bme.hu> # v2 Tested-by: Jens Almer <bagawk@gmail.com> Tested-by: Jonas Rebmann <jre@pengutronix.de> Link: https://lore.kernel.org/r/20260220112024.97446-4-ian.ray@gehealthcare.com Signed-off-by: Guenter Roeck <linux@roeck-us.net> Stable-dep-of:e6c80061ca("hwmon: (ina2xx) Fix various overflow issues") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8da94361f9
commit
fdfde077e0
@@ -74,6 +74,16 @@ Supported chips:
|
||||
https://us1.silergy.com/
|
||||
|
||||
|
||||
* Texas Instruments INA234
|
||||
|
||||
Prefix: 'ina234'
|
||||
|
||||
Addresses: I2C 0x40 - 0x43
|
||||
|
||||
Datasheet: Publicly available at the Texas Instruments website
|
||||
|
||||
https://www.ti.com/
|
||||
|
||||
Author: Lothar Felten <lothar.felten@gmail.com>
|
||||
|
||||
Description
|
||||
@@ -89,7 +99,7 @@ interface. The INA220 monitors both shunt drop and supply voltage.
|
||||
The INA226 is a current shunt and power monitor with an I2C interface.
|
||||
The INA226 monitors both a shunt voltage drop and bus supply voltage.
|
||||
|
||||
INA230 and INA231 are high or low side current shunt and power monitors
|
||||
INA230, INA231, and INA234 are high or low side current shunt and power monitors
|
||||
with an I2C interface. The chips monitor both a shunt voltage drop and
|
||||
bus supply voltage.
|
||||
|
||||
@@ -132,6 +142,7 @@ Additional entries are available for the following chips:
|
||||
* ina226
|
||||
* ina230
|
||||
* ina231
|
||||
* ina234
|
||||
* ina260
|
||||
* sy24655
|
||||
|
||||
|
||||
@@ -2275,7 +2275,7 @@ config SENSORS_INA2XX
|
||||
select REGMAP_I2C
|
||||
help
|
||||
If you say yes here you get support for INA219, INA220, INA226,
|
||||
INA230, INA231, INA260, and SY24655 power monitor chips.
|
||||
INA230, INA231, INA234, INA260, and SY24655 power monitor chips.
|
||||
|
||||
The INA2xx driver is configured for the default configuration of
|
||||
the part as described in the datasheet.
|
||||
|
||||
@@ -138,6 +138,7 @@ static const struct regmap_config ina2xx_regmap_config = {
|
||||
enum ina2xx_ids {
|
||||
ina219,
|
||||
ina226,
|
||||
ina234,
|
||||
ina260,
|
||||
sy24655
|
||||
};
|
||||
@@ -192,6 +193,18 @@ static const struct ina2xx_config ina2xx_config[] = {
|
||||
.has_power_average = false,
|
||||
.has_update_interval = true,
|
||||
},
|
||||
[ina234] = {
|
||||
.config_default = INA226_CONFIG_DEFAULT,
|
||||
.calibration_value = 2048,
|
||||
.shunt_div = 400, /* 2.5 µV/LSB raw ADC reading from INA2XX_SHUNT_VOLTAGE */
|
||||
.bus_voltage_shift = 4,
|
||||
.bus_voltage_lsb = 25600,
|
||||
.power_lsb_factor = 32,
|
||||
.has_alerts = true,
|
||||
.has_ishunt = false,
|
||||
.has_power_average = false,
|
||||
.has_update_interval = true,
|
||||
},
|
||||
[ina260] = {
|
||||
.config_default = INA260_CONFIG_DEFAULT,
|
||||
.shunt_div = 400,
|
||||
@@ -1000,6 +1013,7 @@ static const struct i2c_device_id ina2xx_id[] = {
|
||||
{ "ina226", ina226 },
|
||||
{ "ina230", ina226 },
|
||||
{ "ina231", ina226 },
|
||||
{ "ina234", ina234 },
|
||||
{ "ina260", ina260 },
|
||||
{ "sy24655", sy24655 },
|
||||
{ }
|
||||
@@ -1031,6 +1045,10 @@ static const struct of_device_id __maybe_unused ina2xx_of_match[] = {
|
||||
.compatible = "ti,ina231",
|
||||
.data = (void *)ina226
|
||||
},
|
||||
{
|
||||
.compatible = "ti,ina234",
|
||||
.data = (void *)ina234
|
||||
},
|
||||
{
|
||||
.compatible = "ti,ina260",
|
||||
.data = (void *)ina260
|
||||
|
||||
Reference in New Issue
Block a user