diff options
Diffstat (limited to 'arch/arm/mach-tegra/board-cardhu-power.c')
-rw-r--r-- | arch/arm/mach-tegra/board-cardhu-power.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-power.c b/arch/arm/mach-tegra/board-cardhu-power.c index b2fcb5814155..caaaa95cbca9 100644 --- a/arch/arm/mach-tegra/board-cardhu-power.c +++ b/arch/arm/mach-tegra/board-cardhu-power.c @@ -379,12 +379,15 @@ int __init cardhu_regulator_init(void) pmc_ctrl = readl(pmc + PMC_CTRL); writel(pmc_ctrl | PMC_CTRL_INTR_LOW, pmc + PMC_CTRL); - /* The regulator details have complete constraints */ - regulator_has_full_constraints(); - tegra_get_board_info(&board_info); tegra_get_pmu_board_info(&pmu_board_info); + if (pmu_board_info.board_id == BOARD_PMU_PM299) + return cardhu_pm299_regulator_init(); + + /* The regulator details have complete constraints */ + regulator_has_full_constraints(); + /* PMU-E1208-A03, the ldo2 should be set to 1200mV */ if ((pmu_board_info.board_id == BOARD_E1208) && (pmu_board_info.fab == BOARD_FAB_A03)) { @@ -904,7 +907,14 @@ int __init cardhu_gpio_switch_regulator_init(void) { int i; struct board_info board_info; + struct board_info pmu_board_info; + tegra_get_board_info(&board_info); + tegra_get_pmu_board_info(&pmu_board_info); + + if (pmu_board_info.board_id == BOARD_PMU_PM299) + return cardhu_pm299_gpio_switch_regulator_init(); + switch (board_info.board_id) { case BOARD_E1198: if (board_info.fab <= BOARD_FAB_A01) { |