diff options
author | Raj Jayaraman <rjayaraman@nvidia.com> | 2010-07-19 17:45:21 -0700 |
---|---|---|
committer | Gary King <gking@nvidia.com> | 2010-07-20 09:41:15 -0700 |
commit | 05b8a0683f0ae76328f2d03c13c15b1b98059aba (patch) | |
tree | 091950a3884e4fe370ff4811cf339f78d6bfe71f | |
parent | 4e235779f28c2665576ac14739d0c048a0e4cafd (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.c | 12 |
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 |