[PATCH 0/2] Broadcom's PMB (Power Management Bus) support

From: Rafał Miłecki
Date: Fri Dec 11 2020 - 17:01:35 EST


From: Rafał Miłecki <rafal@xxxxxxxxxx>

PMB is a hardware block used for powering SoC devices like PCIe, USB,
SATA. Initially I planned to treat it as a reset controller and Philipp
pointed out in review that PMB driver should use a power subsystem.

This is my refactored support.

***

Please note one difference when compared to the initial reset attempt.

As I store info about SoC devices in the driver now, I had to put
support for multiple buses there. That's required to avoid things like:

compatible = "brcm,bcm4908-pmb-no-1";
compatible = "brcm,bcm4908-pmb-no-2";

So now a single "reg" covers bigger buses (e.g. 0x40) in size, see:

reg = <0x802800e0 0x40>;

Other SoCs my use something like:

reg = <0x802800e0 0x20>;
reg = <0x802800e0 0x60>;

***

AFAIU this should go through Florian's tree. I based in on top of the
soc-arm64/next.

Rafał Miłecki (2):
dt-bindings: power: document Broadcom's PMB binding
soc: bcm: add PM driver for Broadcom's PMB

.../bindings/power/brcm,bcm-pmb.yaml | 50 +++
drivers/soc/bcm/Kconfig | 8 +
drivers/soc/bcm/Makefile | 1 +
drivers/soc/bcm/bcm-pmb.c | 335 ++++++++++++++++++
include/dt-bindings/soc/bcm-pmb.h | 11 +
5 files changed, 405 insertions(+)
create mode 100644 Documentation/devicetree/bindings/power/brcm,bcm-pmb.yaml
create mode 100644 drivers/soc/bcm/bcm-pmb.c
create mode 100644 include/dt-bindings/soc/bcm-pmb.h

--
2.26.2