Lines Matching refs:cpu
37 #define SUN8I_R40_PWR_CLAMP(cpu) (0x120 + (cpu) * 0x4) argument
103 int cpu) in sunxi_power_switch() argument
114 clrbits_le32(&pwroff, BIT(cpu)); in sunxi_power_switch()
117 setbits_le32(&pwroff, BIT(cpu)); in sunxi_power_switch()
145 static void __secure sunxi_cpu_set_power(int __always_unused cpu, bool on) in sunxi_cpu_set_power() argument
154 static void __secure sunxi_cpu_set_power(int cpu, bool on) in sunxi_cpu_set_power() argument
159 sunxi_power_switch((void *)cpucfg + SUN8I_R40_PWR_CLAMP(cpu), in sunxi_cpu_set_power()
164 static void __secure sunxi_cpu_set_power(int cpu, bool on) in sunxi_cpu_set_power() argument
169 sunxi_power_switch(&prcm->cpu_pwr_clamp[cpu], &prcm->cpu_pwroff, in sunxi_cpu_set_power()
170 on, cpu); in sunxi_cpu_set_power()
178 u32 cpu = cpuid & 0x3; in sunxi_cpu_power_off() local
182 if (readl(&cpucfg->cpu[cpu].status) & BIT(2)) in sunxi_cpu_power_off()
188 writel(0, &cpucfg->cpu[cpu].rst); in sunxi_cpu_power_off()
191 clrbits_le32(&cpucfg->dbg_ctrl1, BIT(cpu)); in sunxi_cpu_power_off()
197 setbits_le32(&cpucfg->dbg_ctrl1, BIT(cpu)); in sunxi_cpu_power_off()
223 u32 scr, reg, cpu; in psci_fiq_enter() local
241 cpu = (reg >> 10) & 0x7; in psci_fiq_enter()
244 sunxi_cpu_power_off(cpu); in psci_fiq_enter()
256 u32 cpu = (mpidr & 0x3); in psci_cpu_on() local
259 psci_save(cpu, pc, context_id); in psci_cpu_on()
265 writel(0, &cpucfg->cpu[cpu].rst); in psci_cpu_on()
268 clrbits_le32(&cpucfg->gen_ctrl, BIT(cpu)); in psci_cpu_on()
271 clrbits_le32(&cpucfg->dbg_ctrl1, BIT(cpu)); in psci_cpu_on()
274 sunxi_cpu_set_power(cpu, true); in psci_cpu_on()
277 writel(BIT(1) | BIT(0), &cpucfg->cpu[cpu].rst); in psci_cpu_on()
280 setbits_le32(&cpucfg->dbg_ctrl1, BIT(cpu)); in psci_cpu_on()