Lines Matching +full:semi +full:- +full:static
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Actions Semi Leopard
7 * Copyright 2012 Actions Semi Inc.
8 * Author: Actions Semi, Inc.
18 #include <linux/soc/actions/owl-sps.h>
35 static void __iomem *scu_base_addr;
36 static void __iomem *sps_base_addr;
37 static void __iomem *timer_base_addr;
38 static int ncores;
40 static int s500_wakeup_secondary(unsigned int cpu) in s500_wakeup_secondary()
45 return -EINVAL; in s500_wakeup_secondary()
69 timer_base_addr + OWL_CPU1_ADDR + (cpu - 1) * 4); in s500_wakeup_secondary()
71 timer_base_addr + OWL_CPU1_FLAG + (cpu - 1) * 4); in s500_wakeup_secondary()
79 static int s500_smp_boot_secondary(unsigned int cpu, struct task_struct *idle) in s500_smp_boot_secondary()
91 writel(0, timer_base_addr + OWL_CPU1_ADDR + (cpu - 1) * 4); in s500_smp_boot_secondary()
92 writel(0, timer_base_addr + OWL_CPU1_FLAG + (cpu - 1) * 4); in s500_smp_boot_secondary()
97 static void __init s500_smp_prepare_cpus(unsigned int max_cpus) in s500_smp_prepare_cpus()
101 node = of_find_compatible_node(NULL, NULL, "actions,s500-timer"); in s500_smp_prepare_cpus()
113 node = of_find_compatible_node(NULL, NULL, "actions,s500-sps"); in s500_smp_prepare_cpus()
126 node = of_find_compatible_node(NULL, NULL, "arm,cortex-a9-scu"); in s500_smp_prepare_cpus()
150 static const struct smp_operations s500_smp_ops __initconst = {
154 CPU_METHOD_OF_DECLARE(s500_smp, "actions,s500-smp", &s500_smp_ops);