When booted through CFE and mainline U-Boot, the XG6846B has no PSCI
provider. CFE powers up CPU1 and leaves it waiting in a holding pen.
Add a BCMBCA CFE SMP method selected by enable-method = "brcm,bca-smp".
It uses a GPIO mailbox and a wakeup IPI, with PSCI retaining priority.
On the XG6846B, preserve the holding pen and disable the board's inherited
PSCI setup.
Tested on the XG6846B with both CPUs coming online.
These patches were authored with the assistance of an LLM.
Signed-off-by: Linus Walleij <linusw@kernel.org>
---
Changes in v3:
- Use BCMBCA naming for the CFE SMP implementation.
- Add the brcm,bca-smp binding and select CFE SMP through the CPU
enable-method, retaining PSCI priority.
- Squash the holding-pen reservation fix into the CFE bring-up DTS patch.
- Boot tested successfully on the XG6846B.
- Link to v2: https://patch.msgid.link/20261017-genexis-xg6846-smp-v7-3-rc1-v2-0-bf6b4b374b6e@kernel.org (local)
Changes in v2:
- Read the CFE mailbox address from CPU1's cpu-release-addr property,
as suggested by William Zhang.
- Link to v1: https://patch.msgid.link/20261012-genexis-xg6846-smp-v7-3-rc1-v1-0-a51d4afde4a7@kernel.org (local)
---
Linus Walleij (3):
dt-bindings: arm: cpus: Add brcm,bca-smp enable method
ARM: bcm: Add CFE SMP support for BCMBCA
ARM: dts: broadcom: Use CFE CPU bring-up on the XG6846B
Documentation/devicetree/bindings/arm/cpus.yaml | 36 ++++++++++++++
.../boot/dts/broadcom/bcm6846-genexis-xg6846b.dts | 16 ++++++-
arch/arm/mach-bcm/Makefile | 2 +-
arch/arm/mach-bcm/board_bcmbca.c | 56 ++++++++++++++++++++++
4 files changed, 108 insertions(+), 2 deletions(-)
---
base-commit: 6356fd3dd29d8b5620507a0ce037c644e052b5dd
change-id: 20261011-genexis-xg6846-smp-v7-3-rc1-b470f0e20475
Best regards,
--
Linus Walleij [off-list ref]