Lines Matching +full:u +full:- +full:boot
1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2014-2015 Broadcom Corporation
12 #include <linux/irqchip/irq-bcm2836.h>
33 /* Name of device node property defining secondary boot register location */
34 #define OF_SECONDARY_BOOT "secondary-boot-reg"
54 return -ENXIO; in scu_a9_enable()
61 return -ENOENT; in scu_a9_enable()
66 pr_err("failed to remap config base (%lu/%u) for SCU\n", in scu_a9_enable()
68 return -ENOMEM; in scu_a9_enable()
84 pr_err("Failed to find device tree node for CPU%u\n", cpu); in secondary_boot_addr_for()
91 pr_err("required secondary boot register not specified for CPU%u\n", in secondary_boot_addr_for()
106 return -EINVAL; in nsp_write_lut()
111 pr_warn("unable to ioremap SKU-ROM LUT register for cpu %u\n", cpu); in nsp_write_lut()
112 return -ENOMEM; in nsp_write_lut()
135 pr_warn("failed to enable A9 SCU - disabling SMP\n"); in bcm_smp_prepare_cpus()
143 * secondary boot register. When a core finds those bits contain its
144 * own core id, it performs initialization, including computing its boot
145 * address by clearing the boot register value's bottom two bits. The
146 * core signals that it is beginning its execution by writing its boot
147 * address back to the secondary boot register, and finally jumps to
151 * - Encode the (hardware) CPU id with the bottom bits of the secondary
153 * - Write that value into the secondary boot register.
154 * - Generate an event to wake up the secondary CPU(s).
155 * - Wait for the secondary boot register to be re-written, which
170 pr_err("bad cpu id (%u > %u)\n", cpu_id, BOOT_ADDR_CPUID_MASK); in kona_boot_secondary()
171 return -EINVAL; in kona_boot_secondary()
175 return -EINVAL; in kona_boot_secondary()
180 pr_err("unable to map boot register for cpu %u\n", cpu_id); in kona_boot_secondary()
181 return -ENOMEM; in kona_boot_secondary()
201 timeout = local_clock() - start_clock > SECONDARY_TIMEOUT_NS; in kona_boot_secondary()
208 pr_err("timeout waiting for cpu %u to start\n", cpu_id); in kona_boot_secondary()
210 return -ENXIO; in kona_boot_secondary()
233 name = "brcm,bcm23550-cdc"; in bcm23550_boot_secondary()
237 return -ENODEV; in bcm23550_boot_secondary()
245 return -ENOMEM; in bcm23550_boot_secondary()
248 /* Boot the secondary core */ in bcm23550_boot_secondary()
291 name = "brcm,bcm2836-l1-intc"; in bcm2836_boot_secondary()
295 return -ENODEV; in bcm2836_boot_secondary()
303 return -ENOMEM; in bcm2836_boot_secondary()
321 CPU_METHOD_OF_DECLARE(bcm_smp_bcm281xx, "brcm,bcm11351-cpu-method",
334 CPU_METHOD_OF_DECLARE(bcm_smp_nsp, "brcm,bcm-nsp-smp", &nsp_smp_ops);
339 CPU_METHOD_OF_DECLARE(bcm_smp_bcm2836, "brcm,bcm2836-smp", &bcm2836_smp_ops);