summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJun Yan <juyan@nvidia.com>2013-10-08 15:35:46 -0700
committerBharat Nihalani <bnihalani@nvidia.com>2013-10-29 21:38:27 -0700
commitd1349f76214e9b5087dd26e4b91cd650d2a17bb7 (patch)
tree6d2917447bb4e6812ee7434d7d53563c9f50f0e0 /arch
parent5a77155b2777dcef85979e293e28c3844b5150bb (diff)
arm: tegra: loki: Add ina3221 support for E2549
Add platform data for ina3221 on E2549 board Bug 1317330 Change-Id: Ie5a1a354024a496c385de4690a6daff538055245 Signed-off-by: Jun Yan <juyan@nvidia.com> Reviewed-on: http://git-master/r/301340 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Anshul Jain (SW) <anshulj@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-tegra/board-loki-powermon.c34
1 files changed, 29 insertions, 5 deletions
diff --git a/arch/arm/mach-tegra/board-loki-powermon.c b/arch/arm/mach-tegra/board-loki-powermon.c
index 52f125971f57..980169e6bb27 100644
--- a/arch/arm/mach-tegra/board-loki-powermon.c
+++ b/arch/arm/mach-tegra/board-loki-powermon.c
@@ -23,11 +23,13 @@
#include "board.h"
#include "board-loki.h"
+#include "tegra-board-id.h"
enum {
VDD_CPU_BAT_VBUS,
VDD_DDR_SOC_GPU,
VDD_3V3_EMMC_MDM,
+ VDD_BAT_VBUS_MODEM,
};
static struct ina3221_platform_data power_mon_info[] = {
@@ -52,6 +54,13 @@ static struct ina3221_platform_data power_mon_info[] = {
.cont_conf_data = INA3221_CONT_CONFIG_DATA,
.trig_conf_data = INA3221_TRIG_CONFIG_DATA,
},
+ [VDD_BAT_VBUS_MODEM] = {
+ .rail_name = {"VDD_BATT", "VDD_VBUS",
+ "VDD_MODEM"},
+ .shunt_resistor = {10, 10, 10},
+ .cont_conf_data = INA3221_CONT_CONFIG_DATA,
+ .trig_conf_data = INA3221_TRIG_CONFIG_DATA,
+ },
};
enum {
@@ -60,7 +69,7 @@ enum {
INA_I2C_ADDR_42,
};
-static struct i2c_board_info loki_i2c1_ina3221_board_info[] = {
+static struct i2c_board_info loki_i2c1_ina3221_board_e2548_info[] = {
[INA_I2C_ADDR_40] = {
I2C_BOARD_INFO("ina3221", 0x40),
.platform_data = &power_mon_info[VDD_CPU_BAT_VBUS],
@@ -78,11 +87,26 @@ static struct i2c_board_info loki_i2c1_ina3221_board_info[] = {
},
};
+static struct i2c_board_info loki_i2c1_ina3221_board_e2549_info[] = {
+ [INA_I2C_ADDR_40] = {
+ I2C_BOARD_INFO("ina3221", 0x40),
+ .platform_data = &power_mon_info[VDD_BAT_VBUS_MODEM],
+ .irq = -1,
+ },
+};
+
int __init loki_pmon_init(void)
{
- pr_info("INA3221: registering device\n");
- i2c_register_board_info(1, loki_i2c1_ina3221_board_info,
- ARRAY_SIZE(loki_i2c1_ina3221_board_info));
-
+ struct board_info info;
+ tegra_get_board_info(&info);
+ if (info.board_id == BOARD_E2548) {
+ pr_info("INA3221: registering for E2548\n");
+ i2c_register_board_info(1, loki_i2c1_ina3221_board_e2548_info,
+ ARRAY_SIZE(loki_i2c1_ina3221_board_e2548_info));
+ } else {
+ pr_info("INA3221: registering for E2549/P2530\n");
+ i2c_register_board_info(1, loki_i2c1_ina3221_board_e2549_info,
+ ARRAY_SIZE(loki_i2c1_ina3221_board_e2549_info));
+ }
return 0;
}