aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/pmc.h
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2013-08-20 15:17:35 -0600
committerStephen Warren <swarren@nvidia.com>2013-09-17 13:42:17 -0600
commitd2207071b3c74b144a860cbe6a46496a44963972 (patch)
tree957a2815fe853c85d16e4722c655ce148f16c373 /arch/arm/mach-tegra/pmc.h
parent272b98c6455f00884f0350f775c5342358ebb73f (diff)
ARM: tegra: split tegra_pmc_init() in two
Tegra's board file currently initializes clocks much earlier than those for most other ARM SoCs. The reason is: * The PMC HW block is involved in the path of some interrupts (i.e. it inverts, or not, the IRQ input pin dedicated to the PMIC). * So, that part of the PMC must be initialized early so that the IRQ polarity is correct. * The PMC initialization is currently monolithic, and the PMC has some clock inputs, so the init routine ends up calling of_clk_get_by_name(), and hence clocks must be set up early too. In order to defer clock initialization to the more typical location, split out the portions of tegra_pmc_init() that are truly IRQ-related into a separate tegra_pmc_init_irq(), which can be called from the machine descriptor's .init_irq() function, and defer the rest until the machine descriptor's .init_machine() function. This allows the clock initiliazation to happen from the machine descriptor's .init_time() function, as is typical. Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/pmc.h')
-rw-r--r--arch/arm/mach-tegra/pmc.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/pmc.h b/arch/arm/mach-tegra/pmc.h
index 549f8c7b762c..4d5f8f32225c 100644
--- a/arch/arm/mach-tegra/pmc.h
+++ b/arch/arm/mach-tegra/pmc.h
@@ -39,6 +39,7 @@ bool tegra_pmc_cpu_is_powered(int cpuid);
int tegra_pmc_cpu_power_on(int cpuid);
int tegra_pmc_cpu_remove_clamping(int cpuid);
+void tegra_pmc_init_irq(void);
void tegra_pmc_init(void);
#endif