aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-highbank/hotplug.c
diff options
context:
space:
mode:
authorRob Herring <rob.herring@calxeda.com>2012-10-25 13:13:47 -0400
committerRob Herring <rob.herring@calxeda.com>2012-10-31 14:46:50 -0400
commit7a2848d369b2b9281400e6c9f08e21ec71cd1dcb (patch)
treeabb8983696264faee745f49a8132589134f0e791 /arch/arm/mach-highbank/hotplug.c
parent0336517b38c5fd643784eeee8f0d73efd48e3361 (diff)
ARM: highbank: abstract out SCU usage
In preparation for A15 support on ECX-2000, the direct calls to SCU registers must be conditional. The SCU power mode register is replaced by a custom register on ECX-2000. Rather than read the number of cores from the SCU, just hardcode it to 4. This removes one use of SCU and removes the need for the SCU to be statically mapped. The cpu initialization will ultimately come from DT. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Acked-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-highbank/hotplug.c')
-rw-r--r--arch/arm/mach-highbank/hotplug.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/arm/mach-highbank/hotplug.c b/arch/arm/mach-highbank/hotplug.c
index 2c1b8c3c8e45..7b60faccd551 100644
--- a/arch/arm/mach-highbank/hotplug.c
+++ b/arch/arm/mach-highbank/hotplug.c
@@ -14,13 +14,11 @@
14 * this program. If not, see <http://www.gnu.org/licenses/>. 14 * this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include <linux/kernel.h> 16#include <linux/kernel.h>
17#include <linux/errno.h>
18#include <linux/smp.h>
19 17
20#include <asm/smp_scu.h>
21#include <asm/cacheflush.h> 18#include <asm/cacheflush.h>
22 19
23#include "core.h" 20#include "core.h"
21#include "sysregs.h"
24 22
25extern void secondary_startup(void); 23extern void secondary_startup(void);
26 24
@@ -33,7 +31,7 @@ void __ref highbank_cpu_die(unsigned int cpu)
33 flush_cache_all(); 31 flush_cache_all();
34 32
35 highbank_set_cpu_jump(cpu, secondary_startup); 33 highbank_set_cpu_jump(cpu, secondary_startup);
36 scu_power_mode(scu_base_addr, SCU_PM_POWEROFF); 34 highbank_set_core_pwr();
37 35
38 cpu_do_idle(); 36 cpu_do_idle();
39 37