[PATCH v2 0/7] BCMBCA PMB clock, reset and hardware monitoring support
William Zhang
william.zhang at broadcom.com
Sun Nov 1 20:32:57 PST 2026
On Sun, Nov 1, 2026 at 2:14 PM Linus Walleij <linusw at kernel.org> wrote:
>
> 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
Should have pointed this out last time. PMB: Power Management Bus
> 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>
>
-------------- 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/20261101/31128375/attachment.p7s>
More information about the linux-arm-kernel
mailing list