diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2011-06-21 19:58:22 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:47:07 -0800 |
commit | 7f6cb32de6c464248556020475df536c7e08541c (patch) | |
tree | d646058ef4366097142581cc656196bdeb2641f2 /arch | |
parent | 1194f470e09b1d274856c1fe5bfb4cec77176709 (diff) |
arm: tegra: enterprise: Configure pmu int on active low
The PMU generates interrupt as active low. So configuring the
Power management unit to have the active low interrupt from PMU_INT
pin.
bug 839238
Original-Change-Id: I69e5cfb756d3b9e39fe7515cf8126753800cda03
Reviewed-on: http://git-master/r/37670
Tested-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Tested-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Rebase-Id: R4e0d333cc9dc2186ecc8b651c127912964769ff9
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-tegra/board-enterprise-power.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/board-enterprise-power.c b/arch/arm/mach-tegra/board-enterprise-power.c index 8283d3c584b5..b42940e6090e 100644 --- a/arch/arm/mach-tegra/board-enterprise-power.c +++ b/arch/arm/mach-tegra/board-enterprise-power.c @@ -37,6 +37,9 @@ #include "pm.h" #include "wakeups-t3.h" +#define PMC_CTRL 0x0 +#define PMC_CTRL_INTR_LOW (1 << 17) + /************************ TPS80031 based regulator ****************/ static struct regulator_consumer_supply tps80031_vio_supply[] = { REGULATOR_SUPPLY("vio_1v8", NULL), @@ -339,6 +342,15 @@ static int __init enterprise_gpio_switch_regulator_init(void) int __init enterprise_regulator_init(void) { + void __iomem *pmc = IO_ADDRESS(TEGRA_PMC_BASE); + u32 pmc_ctrl; + + /* configure the power management controller to trigger PMU + * interrupts when low */ + + pmc_ctrl = readl(pmc + PMC_CTRL); + writel(pmc_ctrl | PMC_CTRL_INTR_LOW, pmc + PMC_CTRL); + i2c_register_board_info(4, enterprise_regulators, 1); enterprise_gpio_switch_regulator_init(); return 0; |