*/
for (k = 0; k < 1000; k++) {
if (cpumask_test_cpu(cpu, &dead_cpus)) {
- pmu_set_power_domain(PD_A9_1, false);
+ pmu_set_power_domain(PD_A9_0 + cpu, false);
return 1;
}
if (first) {
unsigned long sz = 0x10;
+ unsigned int i, ncores = scu_get_core_count(RK30_SCU_BASE);
- pmu_set_power_domain(PD_A9_1, false);
+ for (i = 1; i < ncores; i++)
+ pmu_set_power_domain(PD_A9_0 + i, false);
memcpy(RK30_IMEM_BASE, rk30_sram_secondary_startup, sz);
flush_icache_range((unsigned long)RK30_IMEM_BASE, (unsigned long)RK30_IMEM_BASE + sz);
}
dsb_sev();
- pmu_set_power_domain(PD_A9_1, true);
+ pmu_set_power_domain(PD_A9_0 + cpu, true);
return 0;
}
obj-y += ../mach-rk30/devices.o
obj-y += io.o
obj-y += rk_timer.o
+obj-$(CONFIG_SMP) += ../mach-rk30/platsmp.o ../mach-rk30/headsmp.o
+obj-$(CONFIG_HOTPLUG_CPU) += ../mach-rk30/hotplug.o
+obj-$(CONFIG_CPU_IDLE) += ../mach-rk30/cpuidle.o
obj-$(CONFIG_MACH_RK3188_FPGA) += board-rk3188-fpga.o
obj-$(CONFIG_MACH_RK3188_TB) += ../mach-rk30/board-rk3168-tb.o