hwmon: (ina2xx) Add device tree support to pass the shunt resistor
Adding another way that is device tree to pass the shunt resistor value to driver except for platform data. Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com> [Guenter Roeck: Added missing of.h include] Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
87438c2c54
commit
31e7ad74f6
|
@ -0,0 +1,22 @@
|
|||
ina2xx properties
|
||||
|
||||
Required properties:
|
||||
- compatible: Must be one of the following:
|
||||
- "ti,ina219" for ina219
|
||||
- "ti,ina220" for ina220
|
||||
- "ti,ina226" for ina226
|
||||
- "ti,ina230" for ina230
|
||||
- reg: I2C address
|
||||
|
||||
Optional properties:
|
||||
|
||||
- shunt-resistor
|
||||
Shunt resistor value in micro-Ohm
|
||||
|
||||
Example:
|
||||
|
||||
ina220@44 {
|
||||
compatible = "ti,ina220";
|
||||
reg = <0x44>;
|
||||
shunt-resistor = <1000>;
|
||||
};
|
|
@ -44,4 +44,6 @@ The INA226 monitors both a shunt voltage drop and bus supply voltage.
|
|||
The INA230 is a high or low side current shunt and power monitor with an I2C
|
||||
interface. The INA230 monitors both a shunt voltage drop and bus supply voltage.
|
||||
|
||||
The shunt value in micro-ohms can be set via platform data.
|
||||
The shunt value in micro-ohms can be set via platform data or device tree.
|
||||
Please refer to the Documentation/devicetree/bindings/i2c/ina2xx.txt for bindings
|
||||
if the device tree is used.
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#include <linux/hwmon.h>
|
||||
#include <linux/hwmon-sysfs.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/of.h>
|
||||
|
||||
#include <linux/platform_data/ina2xx.h>
|
||||
|
||||
|
@ -221,6 +222,7 @@ static int ina2xx_probe(struct i2c_client *client,
|
|||
struct ina2xx_data *data;
|
||||
struct ina2xx_platform_data *pdata;
|
||||
int ret;
|
||||
u32 val;
|
||||
long shunt = 10000; /* default shunt value 10mOhms */
|
||||
|
||||
if (!i2c_check_functionality(adapter, I2C_FUNC_SMBUS_WORD_DATA))
|
||||
|
@ -234,6 +236,9 @@ static int ina2xx_probe(struct i2c_client *client,
|
|||
pdata =
|
||||
(struct ina2xx_platform_data *)client->dev.platform_data;
|
||||
shunt = pdata->shunt_uohms;
|
||||
} else if (!of_property_read_u32(client->dev.of_node,
|
||||
"shunt-resistor", &val)) {
|
||||
shunt = val;
|
||||
}
|
||||
|
||||
if (shunt <= 0)
|
||||
|
|
Loading…
Reference in New Issue