Lines Matching +full:bcm23550 +full:- +full:cdc
1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2014-2015 Broadcom Corporation
12 #include <linux/irqchip/irq-bcm2836.h>
34 #define OF_SECONDARY_BOOT "secondary-boot-reg"
54 return -ENXIO; in scu_a9_enable()
61 return -ENOENT; in scu_a9_enable()
68 return -ENOMEM; in scu_a9_enable()
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()
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
171 return -EINVAL; in kona_boot_secondary()
175 return -EINVAL; in kona_boot_secondary()
181 return -ENOMEM; in kona_boot_secondary()
201 timeout = local_clock() - start_clock > SECONDARY_TIMEOUT_NS; in kona_boot_secondary()
210 return -ENXIO; in kona_boot_secondary()
219 * BCM23550 has a Cluster Dormant Control block that keeps the core in
230 /* Make sure a CDC node exists before booting the in bcm23550_boot_secondary()
233 name = "brcm,bcm23550-cdc"; in bcm23550_boot_secondary()
236 pr_err("unable to find cdc node\n"); in bcm23550_boot_secondary()
237 return -ENODEV; in bcm23550_boot_secondary()
244 pr_err("unable to remap cdc base register\n"); in bcm23550_boot_secondary()
245 return -ENOMEM; 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",
327 CPU_METHOD_OF_DECLARE(bcm_smp_bcm23550, "brcm,bcm23550",
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);