Lines Matching +full:cpu +full:- +full:syscon
1 // SPDX-License-Identifier: GPL-2.0-or-later
12 #include <asm/ppc-opcode.h>
24 static void microwatt_smp_setup_cpu(int cpu) in microwatt_smp_setup_cpu() argument
26 if (cpu != 0) in microwatt_smp_setup_cpu()
45 volatile unsigned char __iomem *syscon; in microwatt_init_smp() local
49 syscon = early_ioremap(SYSCON_BASE, SYSCON_LENGTH); in microwatt_init_smp()
50 if (syscon == NULL) { in microwatt_init_smp()
51 pr_err("Failed to map SYSCON\n"); in microwatt_init_smp()
54 ncpus = (readl(syscon + SYSCON_CPU_CTRL) >> 8) & 0xff; in microwatt_init_smp()
66 *(unsigned int *)(KERNELBASE+4) = PPC_RAW_BRANCH(&__secondary_hold - (char *)(KERNELBASE+4)); in microwatt_init_smp()
69 writel((1ul << ncpus) - 1, syscon + SYSCON_CPU_CTRL); in microwatt_init_smp()
73 if (--timeout == 0) in microwatt_init_smp()
79 early_iounmap((void *)syscon, SYSCON_LENGTH); in microwatt_init_smp()