Devicetree
 help / color / mirror / Atom feed
* [PATCH v2 0/7] BCMBCA PMB clock, reset and hardware monitoring support
@ 2026-11-01 22:14 Linus Walleij
  2026-11-01 22:14 ` [PATCH v2 1/7] dt-bindings: mfd: Describe the BCM6846 PMC complex Linus Walleij
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: Linus Walleij @ 2026-11-01 22:14 UTC (permalink / raw)
  To: Linus Walleij, Lee Jones, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, William Zhang, Anand Gore, Kursad Oney,
	Florian Fainelli, Rafał Miłecki,
	Broadcom internal kernel review list, Stephen Boyd, Brian Masney,
	Jerome Brunet, Guenter Roeck, Philipp Zabel, Jonathan Corbet,
	Randy Dunlap, Benjamin Larsson
  Cc: mfd, devicetree, linux-arm-kernel, linux-clk, linux-hwmon

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@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@kernel.org>


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-11-02  8:36 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-01 22:14 [PATCH v2 0/7] BCMBCA PMB clock, reset and hardware monitoring support Linus Walleij
2026-11-01 22:14 ` [PATCH v2 1/7] dt-bindings: mfd: Describe the BCM6846 PMC complex Linus Walleij
2026-11-01 22:24   ` sashiko-bot
2026-11-01 22:14 ` [PATCH v2 2/7] dt-bindings: soc: Describe the BCM6846 Processor Monitor Bus Linus Walleij
2026-11-01 22:32   ` sashiko-bot
2026-11-01 22:14 ` [PATCH v2 3/7] mfd: Add a shared BCMBCA PMC3 PMB transport Linus Walleij
2026-11-01 22:31   ` sashiko-bot
2026-11-01 22:14 ` [PATCH v2 4/7] reset: Add BCMBCA block resets through the PMB Linus Walleij
2026-11-01 22:14 ` [PATCH v2 5/7] clk: bcm: Add BCMBCA PMB clocks Linus Walleij
2026-11-01 22:14 ` [PATCH v2 6/7] hwmon: Add Broadcom PMB PVTMON monitoring Linus Walleij
2026-11-02  3:05   ` Guenter Roeck
2026-11-01 22:14 ` [PATCH v2 7/7] ARM: dts: broadcom: Add BCM6846 PMB clocks and hardware monitoring Linus Walleij
2026-11-02  4:32 ` [PATCH v2 0/7] BCMBCA PMB clock, reset and hardware monitoring support William Zhang
2026-11-02  7:50   ` Linus Walleij
2026-11-02  8:35     ` Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox