diff options
author | Varun Wadekar <vwadekar@nvidia.com> | 2015-07-16 10:35:12 +0530 |
---|---|---|
committer | Varun Wadekar <vwadekar@nvidia.com> | 2015-07-17 19:06:47 +0530 |
commit | 2e7aea3d485821b8c78dbf092489f8a20a4e5e1d (patch) | |
tree | 641dbb7e6b1fc7dd1b66b9f62e6cc54bdcfacba3 /plat/nvidia/tegra/common/drivers/pmc/pmc.c | |
parent | 03cd23a10aac675773a90ef238c33dba73cdae7c (diff) | |
download | trusted-firmware-a-2e7aea3d485821b8c78dbf092489f8a20a4e5e1d.tar.gz |
Tegra: PMC: check if a CPU is already online
This patch checks if the target CPU is already online before
proceeding with it's power ON sequence.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'plat/nvidia/tegra/common/drivers/pmc/pmc.c')
-rw-r--r-- | plat/nvidia/tegra/common/drivers/pmc/pmc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/plat/nvidia/tegra/common/drivers/pmc/pmc.c b/plat/nvidia/tegra/common/drivers/pmc/pmc.c index 5796ac79e4..6e7f23c6cf 100644 --- a/plat/nvidia/tegra/common/drivers/pmc/pmc.c +++ b/plat/nvidia/tegra/common/drivers/pmc/pmc.c @@ -52,6 +52,13 @@ void tegra_pmc_cpu_on(int cpu) uint32_t val; /* + * Check if CPU is already power ungated + */ + val = tegra_pmc_read_32(PMC_PWRGATE_STATUS); + if (val & (1 << pmc_cpu_powergate_id[cpu])) + return; + + /* * The PMC deasserts the START bit when it starts the power * ungate process. Loop till no power toggle is in progress. */ |