mirror of
https://github.com/torvalds/linux.git
synced 2026-06-10 07:32:29 +02:00
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:
parent
4b1622335d
commit
db23c5ae58
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user