diff options
author | Jun Yan <juyan@nvidia.com> | 2013-10-08 15:35:46 -0700 |
---|---|---|
committer | Bharat Nihalani <bnihalani@nvidia.com> | 2013-10-29 21:38:27 -0700 |
commit | d1349f76214e9b5087dd26e4b91cd650d2a17bb7 (patch) | |
tree | 6d2917447bb4e6812ee7434d7d53563c9f50f0e0 /arch/arm | |
parent | 5a77155b2777dcef85979e293e28c3844b5150bb (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/arm')
-rw-r--r-- | arch/arm/mach-tegra/board-loki-powermon.c | 34 |
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; } |