ARM: tegra: powergate: Allow calling power up when already powered

Allow calling tegra_powergate_sequence_power_up on a partition
that is already powered.  Reset the partition, and return success
with the clock enabled.

Change-Id: I776c6a84091f0bb8faca22d87b3fabf0cfede564
Signed-off-by: Colin Cross <ccross@android.com>
This commit is contained in:
Colin Cross 2011-01-08 13:59:15 -08:00
parent 4b1622335d
commit db23c5ae58

View File

@ -123,11 +123,34 @@ int tegra_powergate_remove_clamping(int id)
return 0;
}
/* Must be called with clk disabled, and returns with clk enabled */
static int tegra_powergate_reset_module(struct clk *clk)
{
int ret;
tegra_periph_reset_assert(clk);
udelay(10);
ret = clk_enable(clk);
if (ret)
return ret;
udelay(10);
tegra_periph_reset_deassert(clk);
return 0;
}
/* Must be called with clk disabled, and returns with clk enabled */
int tegra_powergate_sequence_power_up(int id, struct clk *clk)
{
int ret;
if (tegra_powergate_is_powered(id))
return tegra_powergate_reset_module(clk);
tegra_periph_reset_assert(clk);
ret = tegra_powergate_power_on(id);