summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/board-laguna-power.c
diff options
context:
space:
mode:
authorBibek Basu <bbasu@nvidia.com>2013-12-17 11:42:31 +0530
committerBibek Basu <bbasu@nvidia.com>2013-12-18 23:10:17 -0800
commiteb9cb05c85664502898ff26032c2b1307f1742e1 (patch)
treeb4b4800bb4641ae701e9ed33d7923cc1f685c4b0 /arch/arm/mach-tegra/board-laguna-power.c
parentb714c5e402c1261c1860e4bda3db3da2c4919b45 (diff)
ARM: tegra124: support new AMS PMIC
Add platforma support for detection of new AMS PMIC for SD0 reg for PM374 FAB B board & PM359C board Bug 1425474 Change-Id: Id6b92f3d5f48648973736350177478374da2a7da Signed-off-by: Bibek Basu <bbasu@nvidia.com> Reviewed-on: http://git-master/r/346287 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/board-laguna-power.c')
-rw-r--r--arch/arm/mach-tegra/board-laguna-power.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-laguna-power.c b/arch/arm/mach-tegra/board-laguna-power.c
index c38deca9a95c..594b076a4398 100644
--- a/arch/arm/mach-tegra/board-laguna-power.c
+++ b/arch/arm/mach-tegra/board-laguna-power.c
@@ -246,6 +246,8 @@ static struct as3722_platform_data as3722_pdata = {
.enable_clk32k_out = true,
.use_power_off = true,
.extcon_pdata = &as3722_adc_extcon_pdata,
+ .major_rev = 1,
+ .minor_rev = 1,
};
static struct pca953x_platform_data tca6416_pdata = {
@@ -319,6 +321,10 @@ int __init laguna_as3722_regulator_init(void)
as3722_ldo3_reg_pdata.enable_tracking = true;
as3722_ldo3_reg_pdata.disable_tracking_suspend = true;
+ if ((board_info.board_id == BOARD_PM359) &&
+ (board_info.major_revision == 'C'))
+ as3722_pdata.minor_rev = 2;
+
printk(KERN_INFO "%s: i2c_register_board_info\n",
__func__);
if (board_info.board_id == BOARD_PM358) {
@@ -385,8 +391,16 @@ static struct voltage_reg_map pmu_cpu_vdd_map[PMU_CPU_VDD_MAP_SIZE];
static inline void fill_reg_map(void)
{
int i;
+ u32 reg_init_value = 0x0a;
+ struct board_info board_info;
+
+ tegra_get_board_info(&board_info);
+ if ((board_info.board_id == BOARD_PM359) &&
+ (board_info.major_revision == 'C'))
+ reg_init_value = 0x1e;
+
for (i = 0; i < PMU_CPU_VDD_MAP_SIZE; i++) {
- pmu_cpu_vdd_map[i].reg_value = i + 0xa;
+ pmu_cpu_vdd_map[i].reg_value = i + reg_init_value;
pmu_cpu_vdd_map[i].reg_uV = 700000 + 10000 * i;
}
}