[PATCH v3 1/3] dt-bindings: arm: cpus: Add brcm,bca-smp enable method
Linus Walleij
linusw at kernel.org
Wed Oct 21 08:09:52 PDT 2026
BCMBCA systems booted through CFE can release a secondary CPU by
writing its ARM-state entry address to a 32-bit MMIO mailbox and
sending a wakeup interrupt.
Document brcm,bca-smp and its single-cell cpu-release-addr property.
The boot CPU does not need a mailbox; secondary CPUs do. Add a
Cortex-A7 example showing both CPU nodes.
Suggested-by: William Zhang <william.zhang at broadcom.com>
Signed-off-by: Linus Walleij <linusw at kernel.org>
---
Documentation/devicetree/bindings/arm/cpus.yaml | 36 +++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/cpus.yaml b/Documentation/devicetree/bindings/arm/cpus.yaml
index 5be89c584026..6771b85f757b 100644
--- a/Documentation/devicetree/bindings/arm/cpus.yaml
+++ b/Documentation/devicetree/bindings/arm/cpus.yaml
@@ -255,6 +255,7 @@ properties:
- amlogic,meson8b-smp
- arm,realview-smp
- aspeed,ast2600-smp
+ - brcm,bca-smp
- brcm,bcm11351-cpu-method
- brcm,bcm23550
- brcm,bcm2836-smp
@@ -471,6 +472,20 @@ allOf:
then:
required:
- secondary-boot-reg
+ - if:
+ properties:
+ enable-method:
+ const: brcm,bca-smp
+ required:
+ - enable-method
+ then:
+ properties:
+ cpu-release-addr:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Physical address of the 32-bit MMIO mailbox read by CFE after
+ a wakeup interrupt. Required on secondary CPUs. The kernel
+ writes the ARM-state entry address before sending the interrupt.
- if:
properties:
enable-method:
@@ -712,4 +727,25 @@ examples:
cpu-release-addr = <0 0x20000000>;
};
};
+ - |
+ // Example 5 (Broadcom BCMBCA with CFE):
+ cpus {
+ #size-cells = <0>;
+ #address-cells = <1>;
+
+ cpu at 0 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a7";
+ reg = <0>;
+ enable-method = "brcm,bca-smp";
+ };
+
+ cpu at 1 {
+ device_type = "cpu";
+ compatible = "arm,cortex-a7";
+ reg = <1>;
+ enable-method = "brcm,bca-smp";
+ cpu-release-addr = <0xff800568>;
+ };
+ };
...
--
2.56.0
More information about the linux-arm-kernel
mailing list