[PATCH v2 0/7] BCMBCA PMB clock, reset and hardware monitoring support
Linus Walleij
linusw at kernel.org
Sun Nov 1 14:14:33 PST 2026
This is another of these big upfront design binding and driver hoards
that is the consequence of adding new SoC support.
My stake is to be able to boot and test a full featured Cortex-A7
system and the BCM6846 XG6846B is one such system on my desk.
It's been cooking for a while in various prototype forms.
IMPLEMENTATION:
The PMC contains various stuff so this needs to be a simple MFD node
so more things can be added into it later.
Inside the PMC is the PMB, the processor monitor bus. This bridges
to several individual peripherals which are very clearly distinct
devices on that bus.
Handle the PMB with an MFD driver with clock, reset and hwmon
providers.
The BCM6846 XRDP reset sequence enabled full-MTU traffic on all four LAN
ports and copper WAN and has been tested on that series. The zone
power-up sequence also passed direct CFE flash boot in the Linux 6.18
OpenWrt port; this folded v7.3-rc1 revision still needs hardware testing.
MERGE STRATEGY:
Through an MFD immutable branch once everyone ACKs the subdrivers,
it will take time I guess. All patches except the last one (DTS file)
to be queued in MFD.
The patches were authored with the assistance of an LLM.
Signed-off-by: Linus Walleij <linusw at kernel.org>
---
Changes in v2:
- Use a shared PMB regmap in all child drivers, keeping keyhole semaphore
handling and timeout recovery inside the MFD provider.
- Drop PCIe reset IDs and sequences pending proper power and lane
configuration handling.
- Power up the XRDP, Runner and WAN zones before the XRDP reset pulse,
preserving the sequence tested with direct CFE flash boot in OpenWrt.
- Describe clock, reset and PVTMON PMB child nodes with separate
compatibles.
- Move the PMB transport and accessor header under MFD and register
clock, reset and PVTMON MFD cells matched to their child DT nodes.
Select reset variants through OF match data.
- Add PMB clock support and give PVTMON clock and reset resources.
- Add PVTMON hwmon support for temperature and all seven voltage inputs,
retaining the zero-cell thermal sensor through the hwmon bridge.
- Add a separate BCM6846 clocks and monitoring DTS patch.
- Drop the unnecessary literal block marker from the PMC description.
- Use the BCM6846-specific "brcm,bcm6846-pmc" compatible.
- Expand PMC as "Power Management Controller" throughout.
- Move the LLM assistance disclosure from trailers to the cover letter.
- Drop the RFC prefix.
- Link to v1: https://patch.msgid.link/20261014-xg6846b-bcmbca-xrdp-reset-v1-0-daf5d177e113@kernel.org
---
Linus Walleij (7):
dt-bindings: mfd: Describe the BCM6846 PMC complex
dt-bindings: soc: Describe the BCM6846 Processor Monitor Bus
mfd: Add a shared BCMBCA PMC3 PMB transport
reset: Add BCMBCA block resets through the PMB
clk: bcm: Add BCMBCA PMB clocks
hwmon: Add Broadcom PMB PVTMON monitoring
ARM: dts: broadcom: Add BCM6846 PMB clocks and hardware monitoring
.../bindings/clock/brcm,bcm6846-pmb-clock.yaml | 39 +++
.../bindings/hwmon/brcm,bcm6846-pmb-pvtmon.yaml | 42 +++
.../devicetree/bindings/mfd/brcm,bcm6846-pmc.yaml | 82 +++++
.../bindings/reset/brcm,bcm6846-pmb-reset.yaml | 31 ++
.../bindings/soc/bcm/brcm,bcm6846-pmb.yaml | 80 +++++
Documentation/hwmon/bcm_pmb_pvtmon.rst | 53 +++
Documentation/hwmon/index.rst | 1 +
MAINTAINERS | 16 +
arch/arm/boot/dts/broadcom/bcm6846.dtsi | 47 +++
drivers/clk/bcm/Kconfig | 11 +
drivers/clk/bcm/Makefile | 1 +
drivers/clk/bcm/clk-bcmbca-pmb.c | 389 +++++++++++++++++++++
drivers/hwmon/Kconfig | 18 +
drivers/hwmon/Makefile | 1 +
drivers/hwmon/bcm_pmb_pvtmon.c | 232 ++++++++++++
drivers/mfd/Kconfig | 11 +
drivers/mfd/Makefile | 1 +
drivers/mfd/bcmbca_pmc3_pmb.c | 297 ++++++++++++++++
drivers/reset/Kconfig | 13 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-bcmbca-pmb.c | 309 ++++++++++++++++
include/dt-bindings/clock/brcm,bcm6846-pmb.h | 42 +++
include/dt-bindings/reset/brcm,bcm6846-pmb.h | 11 +
include/linux/mfd/bcmbca-pmb.h | 11 +
24 files changed, 1739 insertions(+)
---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
change-id: 20261013-xg6846b-bcmbca-xrdp-reset-de71b80c25a4
Best regards,
--
Linus Walleij <linusw at kernel.org>
More information about the linux-arm-kernel
mailing list