summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaj Jayaraman <rjayaraman@nvidia.com>2010-07-19 17:45:21 -0700
committerGary King <gking@nvidia.com>2010-07-20 09:41:15 -0700
commit05b8a0683f0ae76328f2d03c13c15b1b98059aba (patch)
tree091950a3884e4fe370ff4811cf339f78d6bfe71f
parent4e235779f28c2665576ac14739d0c048a0e4cafd (diff)
[arm/tegra] power : Fixing pinmux save/restore order
To avoid spurious signal transitions on exit from deepsleep pinmux restoration should be done in an order. Change-Id: Ie7fc48c964aef83d7f6c5e150d9b0f387bd26998 Reviewed-on: http://git-master/r/4116 Reviewed-by: Venkata (Muni) Anda <vanda@nvidia.com> Tested-by: Venkata (Muni) Anda <vanda@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/pinmux-t2-tables.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm/mach-tegra/pinmux-t2-tables.c b/arch/arm/mach-tegra/pinmux-t2-tables.c
index 9a8d5ee9c5e7..5d9f65bacdbc 100644
--- a/arch/arm/mach-tegra/pinmux-t2-tables.c
+++ b/arch/arm/mach-tegra/pinmux-t2-tables.c
@@ -986,14 +986,14 @@ void tegra_pinmux_suspend(void)
unsigned int i;
u32 *ctx = pinmux_reg;
- for (i=0; i<TRISTATE_REG_NUM; i++)
- *ctx++ = pg_readl(TRISTATE_REG_A + i*4);
-
for (i=0; i<PIN_MUX_CTL_REG_NUM; i++)
*ctx++ = pg_readl(PIN_MUX_CTL_REG_A + i*4);
for (i=0; i<PULLUPDOWN_REG_NUM; i++)
*ctx++ = pg_readl(PULLUPDOWN_REG_A + i*4);
+
+ for (i=0; i<TRISTATE_REG_NUM; i++)
+ *ctx++ = pg_readl(TRISTATE_REG_A + i*4);
}
void tegra_pinmux_resume(void)
@@ -1001,13 +1001,13 @@ void tegra_pinmux_resume(void)
unsigned int i;
u32 *ctx = pinmux_reg;
- for (i=0; i<TRISTATE_REG_NUM; i++)
- pg_writel(*ctx++, TRISTATE_REG_A + i*4);
-
for (i=0; i<PIN_MUX_CTL_REG_NUM; i++)
pg_writel(*ctx++, PIN_MUX_CTL_REG_A + i*4);
for (i=0; i<PULLUPDOWN_REG_NUM; i++)
pg_writel(*ctx++, PULLUPDOWN_REG_A + i*4);
+
+ for (i=0; i<TRISTATE_REG_NUM; i++)
+ pg_writel(*ctx++, TRISTATE_REG_A + i*4);
}
#endif