Commit | Line | Data |
---|---|---|
c970d4ef MD |
1 | /* |
2 | * SMP support for SoCs with SCU covered by mach-shmobile | |
3 | * | |
4 | * Copyright (C) 2013 Magnus Damm | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License version 2 as | |
8 | * published by the Free Software Foundation. | |
9 | */ | |
10 | #include <linux/init.h> | |
11 | #include <linux/io.h> | |
12 | #include <linux/smp.h> | |
13 | #include <asm/smp_plat.h> | |
14 | #include <asm/smp_scu.h> | |
15 | #include <mach/common.h> | |
16 | ||
17 | void __init shmobile_smp_scu_prepare_cpus(unsigned int max_cpus) | |
18 | { | |
19 | shmobile_boot_fn = virt_to_phys(shmobile_boot_scu); | |
20 | shmobile_boot_arg = (unsigned long)shmobile_scu_base; | |
21 | ||
22 | /* enable SCU and cache coherency on booting CPU */ | |
23 | scu_enable(shmobile_scu_base); | |
24 | scu_power_mode(shmobile_scu_base, SCU_PM_NORMAL); | |
25 | } | |
26 | ||
27 | int shmobile_smp_scu_boot_secondary(unsigned int cpu, struct task_struct *idle) | |
28 | { | |
29 | /* do nothing for now */ | |
30 | return 0; | |
31 | } |