ARM: Add board-specific initialization hook for PSCI
authorJan Kiszka <jan.kiszka@siemens.com>
Tue, 21 Apr 2015 05:18:34 +0000 (07:18 +0200)
committerTom Warren <twarren@nvidia.com>
Wed, 13 May 2015 16:24:15 +0000 (09:24 -0700)
Tegra boards will have to initialize power management for the PSCI
support this way.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
arch/arm/cpu/armv7/virt-v7.c
arch/arm/include/asm/psci.h

index 4cb8806..db4f6ad 100644 (file)
@@ -75,6 +75,10 @@ void __weak smp_kick_all_cpus(void)
        kick_secondary_cpus_gic(gic_dist_addr);
 }
 
+__weak void psci_board_init(void)
+{
+}
+
 int armv7_init_nonsec(void)
 {
        unsigned int reg;
@@ -112,6 +116,8 @@ int armv7_init_nonsec(void)
        for (i = 1; i <= itlinesnr; i++)
                writel((unsigned)-1, gic_dist_addr + GICD_IGROUPRn + 4 * i);
 
+       psci_board_init();
+
        /*
         * Relocate secure section before any cpu runs in secure ram.
         * smp_kick_all_cpus may enable other cores and runs into secure
index 50a3ca4..128a606 100644 (file)
@@ -34,6 +34,7 @@
 
 #ifndef __ASSEMBLY__
 int psci_update_dt(void *fdt);
+void psci_board_init(void);
 #endif /* ! __ASSEMBLY__ */
 
 #endif /* __ARM_PSCI_H__ */