* [PATCH 0/2] Add Power Management support for BCM2712
@ 2026-03-06 23:41 Andrea della Porta
2026-03-06 23:41 ` [PATCH 1/2] mfd: bcm2835-pm: Introduce SoC-specific type identifier Andrea della Porta
` (2 more replies)
0 siblings, 3 replies; 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
Hi all,
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.
Many thanks,
Andrea
Phil Elwell (2):
mfd: bcm2835-pm: Introduce SoC-specific type identifier
mfd: bcm2835-pm: Add BCM2712 PM device support
drivers/mfd/bcm2835-pm.c | 9 +++++----
include/linux/mfd/bcm2835-pm.h | 7 +++++++
2 files changed, 12 insertions(+), 4 deletions(-)
--
2.35.3
^ permalink raw reply [flat|nested] 6+ messages in thread
* [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 1/2] mfd: bcm2835-pm: Introduce SoC-specific type identifier
2026-03-06 23:41 ` [PATCH 1/2] mfd: bcm2835-pm: Introduce SoC-specific type identifier Andrea della Porta
@ 2026-03-06 23:42 ` Florian Fainelli
0 siblings, 0 replies; 6+ messages in thread
From: Florian Fainelli @ 2026-03-06 23:42 UTC (permalink / raw)
To: Andrea della Porta, Lee Jones,
Broadcom internal kernel review list, Ray Jui, Scott Branden,
linux-rpi-kernel, linux-arm-kernel, linux-kernel, Phil Elwell,
Stanimir Varbanov
On 3/6/26 15:41, Andrea della Porta wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] mfd: bcm2835-pm: Add BCM2712 PM device support
2026-03-06 23:41 ` [PATCH 2/2] mfd: bcm2835-pm: Add BCM2712 PM device support Andrea della Porta
@ 2026-03-06 23:43 ` Florian Fainelli
0 siblings, 0 replies; 6+ messages in thread
From: Florian Fainelli @ 2026-03-06 23:43 UTC (permalink / raw)
To: Andrea della Porta, Lee Jones,
Broadcom internal kernel review list, Ray Jui, Scott Branden,
linux-rpi-kernel, linux-arm-kernel, linux-kernel, Phil Elwell,
Stanimir Varbanov
On 3/6/26 15:41, Andrea della Porta wrote:
> 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>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
--
Florian
^ permalink raw reply [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
end of thread, other threads:[~2026-03-19 9:10 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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:42 ` Florian Fainelli
2026-03-06 23:41 ` [PATCH 2/2] mfd: bcm2835-pm: Add BCM2712 PM device support 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
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox