diff options
author | Hiroshi Doyu <hdoyu@nvidia.com> | 2013-01-22 00:52:01 -0500 |
---|---|---|
committer | Stephen Warren <swarren@nvidia.com> | 2013-01-28 12:40:59 -0500 |
commit | e9d6b3358ac35901ccc6a4a5a317670fa469db25 (patch) | |
tree | 3908982a7950a72a10b61543c09be6d9adc0765b | |
parent | a8a6930157e0e4a2d57abefee487fc4ceba4d53e (diff) |
ARM: Add API to detect SCU base address from CP15
Add API to detect SCU base address from CP15.
Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
-rw-r--r-- | arch/arm/include/asm/smp_scu.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/include/asm/smp_scu.h b/arch/arm/include/asm/smp_scu.h index 4eb6d005ffaa..006f02681cd8 100644 --- a/arch/arm/include/asm/smp_scu.h +++ b/arch/arm/include/asm/smp_scu.h | |||
@@ -6,6 +6,23 @@ | |||
6 | #define SCU_PM_POWEROFF 3 | 6 | #define SCU_PM_POWEROFF 3 |
7 | 7 | ||
8 | #ifndef __ASSEMBLER__ | 8 | #ifndef __ASSEMBLER__ |
9 | |||
10 | #include <asm/cputype.h> | ||
11 | |||
12 | static inline bool scu_a9_has_base(void) | ||
13 | { | ||
14 | return read_cpuid_part_number() == ARM_CPU_PART_CORTEX_A9; | ||
15 | } | ||
16 | |||
17 | static inline unsigned long scu_a9_get_base(void) | ||
18 | { | ||
19 | unsigned long pa; | ||
20 | |||
21 | asm("mrc p15, 4, %0, c15, c0, 0" : "=r" (pa)); | ||
22 | |||
23 | return pa; | ||
24 | } | ||
25 | |||
9 | unsigned int scu_get_core_count(void __iomem *); | 26 | unsigned int scu_get_core_count(void __iomem *); |
10 | void scu_enable(void __iomem *); | 27 | void scu_enable(void __iomem *); |
11 | int scu_power_mode(void __iomem *, unsigned int); | 28 | int scu_power_mode(void __iomem *, unsigned int); |