* [PATCH 1/2] mfd: bcm2835-pm: Introduce SoC-specific type identifier
2026-03-06 23:41 [PATCH 0/2] Add Power Management support for BCM2712 Andrea della Porta
@ 2026-03-06 23:41 ` Andrea della Porta
2026-03-06 23:42 ` Florian Fainelli
2026-03-06 23:41 ` [PATCH 2/2] mfd: bcm2835-pm: Add BCM2712 PM device support Andrea della Porta
2026-03-19 9:10 ` [PATCH 0/2] Add Power Management support for BCM2712 Lee Jones
2 siblings, 1 reply; 6+ messages in thread
From: Andrea della Porta @ 2026-03-06 23:41 UTC (permalink / raw)
To: Lee Jones, Florian Fainelli, Broadcom internal kernel review list,
Ray Jui, Scott Branden, linux-rpi-kernel, linux-arm-kernel,
linux-kernel, Phil Elwell, Stanimir Varbanov
Cc: Andrea della Porta
From: Phil Elwell <phil@raspberrypi.com>
Power management blocks across the BCM2835 family share a common
base but require variant-specific handling. For instance, the
BCM2712 lacks ASB register space, yet it manages the power domain
for the V3D graphics block.
Add a hardware type identifier to the driver's private data. This
allows the driver to distinguish between SoC models and implement
custom quirks or features as needed.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Co-developed-by: Stanimir Varbanov <svarbanov@suse.de>
Signed-off-by: Stanimir Varbanov <svarbanov@suse.de>
Signed-off-by: Andrea della Porta <andrea.porta@suse.com>
---
drivers/mfd/bcm2835-pm.c | 7 ++++---
include/linux/mfd/bcm2835-pm.h | 7 +++++++
2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/drivers/mfd/bcm2835-pm.c b/drivers/mfd/bcm2835-pm.c
index 8bed59816e82e..2d5dc521b623d 100644
--- a/drivers/mfd/bcm2835-pm.c
+++ b/drivers/mfd/bcm2835-pm.c
@@ -81,6 +81,7 @@ static int bcm2835_pm_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, pm);
pm->dev = dev;
+ pm->soc = (uintptr_t)device_get_match_data(dev);
ret = bcm2835_pm_get_pdata(pdev, pm);
if (ret)
@@ -106,9 +107,9 @@ static int bcm2835_pm_probe(struct platform_device *pdev)
static const struct of_device_id bcm2835_pm_of_match[] = {
{ .compatible = "brcm,bcm2835-pm-wdt", },
- { .compatible = "brcm,bcm2835-pm", },
- { .compatible = "brcm,bcm2711-pm", },
- { .compatible = "brcm,bcm2712-pm", },
+ { .compatible = "brcm,bcm2835-pm", .data = (void *)BCM2835_PM_SOC_BCM2835 },
+ { .compatible = "brcm,bcm2711-pm", .data = (void *)BCM2835_PM_SOC_BCM2711 },
+ { .compatible = "brcm,bcm2712-pm", .data = (void *)BCM2835_PM_SOC_BCM2712 },
{},
};
MODULE_DEVICE_TABLE(of, bcm2835_pm_of_match);
diff --git a/include/linux/mfd/bcm2835-pm.h b/include/linux/mfd/bcm2835-pm.h
index f70a810c55f7d..d2e17ab1dbfc5 100644
--- a/include/linux/mfd/bcm2835-pm.h
+++ b/include/linux/mfd/bcm2835-pm.h
@@ -5,11 +5,18 @@
#include <linux/regmap.h>
+enum bcm2835_soc {
+ BCM2835_PM_SOC_BCM2835,
+ BCM2835_PM_SOC_BCM2711,
+ BCM2835_PM_SOC_BCM2712,
+};
+
struct bcm2835_pm {
struct device *dev;
void __iomem *base;
void __iomem *asb;
void __iomem *rpivid_asb;
+ enum bcm2835_soc soc;
};
#endif /* BCM2835_MFD_PM_H */
--
2.35.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/2] mfd: bcm2835-pm: Add BCM2712 PM device support
2026-03-06 23:41 [PATCH 0/2] Add Power Management support for BCM2712 Andrea della Porta
2026-03-06 23:41 ` [PATCH 1/2] mfd: bcm2835-pm: Introduce SoC-specific type identifier Andrea della Porta
@ 2026-03-06 23:41 ` Andrea della Porta
2026-03-06 23:43 ` Florian Fainelli
2026-03-19 9:10 ` [PATCH 0/2] Add Power Management support for BCM2712 Lee Jones
2 siblings, 1 reply; 6+ messages in thread
From: Andrea della Porta @ 2026-03-06 23:41 UTC (permalink / raw)
To: Lee Jones, Florian Fainelli, Broadcom internal kernel review list,
Ray Jui, Scott Branden, linux-rpi-kernel, linux-arm-kernel,
linux-kernel, Phil Elwell, Stanimir Varbanov
Cc: Andrea della Porta
From: Phil Elwell <phil@raspberrypi.com>
The BCM2712 SoC includes a power management block that serves as the
power domain for the V3D graphics block. Unlike other PM blocks in
the BCM2835 family, it does not feature an ASB register space.
Conditionally register the PM device depending on the SoC variant.
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Co-developed-by: Stanimir Varbanov <svarbanov@suse.de>
Signed-off-by: Stanimir Varbanov <svarbanov@suse.de>
Signed-off-by: Andrea della Porta <andrea.porta@suse.com>
---
drivers/mfd/bcm2835-pm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/bcm2835-pm.c b/drivers/mfd/bcm2835-pm.c
index 2d5dc521b623d..9e8e3dcf4bceb 100644
--- a/drivers/mfd/bcm2835-pm.c
+++ b/drivers/mfd/bcm2835-pm.c
@@ -98,7 +98,7 @@ static int bcm2835_pm_probe(struct platform_device *pdev)
* bcm2835-pm binding as the key for whether we can reference
* the full PM register range and support power domains.
*/
- if (pm->asb)
+ if (pm->asb || pm->soc == BCM2835_PM_SOC_BCM2712)
return devm_mfd_add_devices(dev, -1, bcm2835_power_devs,
ARRAY_SIZE(bcm2835_power_devs),
NULL, 0, NULL);
--
2.35.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/2] Add Power Management support for BCM2712
2026-03-06 23:41 [PATCH 0/2] Add Power Management support for BCM2712 Andrea della Porta
2026-03-06 23:41 ` [PATCH 1/2] mfd: bcm2835-pm: Introduce SoC-specific type identifier Andrea della Porta
2026-03-06 23:41 ` [PATCH 2/2] mfd: bcm2835-pm: Add BCM2712 PM device support Andrea della Porta
@ 2026-03-19 9:10 ` Lee Jones
2 siblings, 0 replies; 6+ messages in thread
From: Lee Jones @ 2026-03-19 9:10 UTC (permalink / raw)
To: Lee Jones, Florian Fainelli, Broadcom internal kernel review list,
Ray Jui, Scott Branden, linux-rpi-kernel, linux-arm-kernel,
linux-kernel, Phil Elwell, Stanimir Varbanov, Andrea della Porta
On Sat, 07 Mar 2026 00:41:20 +0100, Andrea della Porta wrote:
> This patchset adds support for the BCM2712 Power Management (PM) block,
> which is necessary to power the domain of the V3D graphic block.
>
> The implementation is done in two steps:
> - Patch 1: Adds the SoC identifier to distinguish between hardware
> variants.
> - Patch 2: Adds the specific PM support for the BCM2712.
>
> [...]
Applied, thanks!
[1/2] mfd: bcm2835-pm: Introduce SoC-specific type identifier
commit: a1c5073dac90aa5cbf187697401d9b3eff2bc269
[2/2] mfd: bcm2835-pm: Add BCM2712 PM device support
commit: 5849d8afe131012bfefaee34dde87fe5c82ddce0
--
Lee Jones [李琼斯]
^ permalink raw reply [flat|nested] 6+ messages in thread