summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2011-06-21 19:58:22 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:47:07 -0800
commit7f6cb32de6c464248556020475df536c7e08541c (patch)
treed646058ef4366097142581cc656196bdeb2641f2 /arch
parent1194f470e09b1d274856c1fe5bfb4cec77176709 (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.c12
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;