[PATCH v3 1/3] dt-bindings: arm: cpus: Add brcm,bca-smp enable method
William Zhang
william.zhang at broadcom.com
Wed Nov 4 11:01:25 PST 2026
On Tue, Nov 3, 2026 at 1:38 PM Rob Herring <robh at kernel.org> wrote:
>
> On Fri, Oct 23, 2026 at 09:20:06PM -0700, William Zhang wrote:
> > On Thu, Oct 22, 2026 at 7:15 AM Rob Herring <robh at kernel.org> wrote:
> > >
> > > On Wed, Oct 21, 2026 at 05:09:52PM +0200, Linus Walleij wrote:
> > > > 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.
> > >
> > > required:
> > > - cpu-release-addr
> > >
> > > ??? But cpu0 doesn't have an address. Is there really no address or you
> > > just omitted because you don't really need it. Should still be there in
> > > the latter case IMO.
> > >
> > > Alternatively, add the enable-method value to the existing section that
> > > does this. Also, there might be other cases that are a 32-bit address
> > > and need this same constraint.
> > >
> > Cpu0 does not need release because it is the boot up CPU.
>
> I get that. Is that convention or h/w restriction? I seem to recall the
> arm32 kernel might require cpu0 booting, but I think other arches do
> not. What if you support power gating or hot unplug of CPU0? Then you'd
> need the address.
>
For hotplug, I remember the address will be provided by kernel using
the kernel's cpu entry point,
not the same release address provided by the bootloader.
> > But there
> > is no harm to add it to be consistent.
>
> If there is an release address for cpu0, then yes, you should have the
> property. If there is not and you just have to make up something to be
> consistent, then you should not have the property.
Then I think we should not add the release address for cpu0 as it is
not really applicable.
>
>
> Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5473 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20261104/0d66e0a3/attachment-0001.p7s>
More information about the linux-arm-kernel
mailing list