[PATCH v2 04/14] power: domain: mediatek: use MT2701 naming instead of MT7623

Julien Stephan jstephan at baylibre.com
Thu Jul 9 14:58:10 CEST 2026


Upstream DT bindings define "mediatek,mt7623-scpsys" to fall back to
"mediatek,mt2701-scpsys". Align the driver with this convention by
using MT2701 naming throughout.

This also allows the driver to use the upstream
dts/upstream/include/dt-bindings/power/mt2701-power.h header instead of
the local include/dt-bindings/power/mt7623-power.h, since both expose
equivalent power domain definitions.

Rename scp_domain_mt7623 to scp_domain_mt2701, replace SCPSYS_MT7623
enum by SCPSYS_MT2701, and switch all MT7623 power domain defines to
their MT2701 equivalents.

Note:
we intentionally keep the explicit "mediatek,mt7623-scpsys"
compatible entry to avoid breaking legacy boards
(mt7623a_unielec_u7623_02 and mt7623n_bpir2_defconfig) that didn't
switched yet to OF_UPSTREAM. Same for
include/dt-bindings/power/mt7623-power.h that is only used in these
boards.

Signed-off-by: Julien Stephan <jstephan at baylibre.com>
---
 drivers/power/domain/mtk-power-domain.c | 36 ++++++++++++++++++---------------
 1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/drivers/power/domain/mtk-power-domain.c b/drivers/power/domain/mtk-power-domain.c
index dd45f63b763..9888d00421c 100644
--- a/drivers/power/domain/mtk-power-domain.c
+++ b/drivers/power/domain/mtk-power-domain.c
@@ -16,8 +16,8 @@
 #include <linux/err.h>
 #include <linux/iopoll.h>
 
+#include <dt-bindings/power/mt2701-power.h>
 #include <dt-bindings/power/mt7622-power.h>
-#include <dt-bindings/power/mt7623-power.h>
 
 #define SPM_EN			(0xb16 << 16 | 0x1)
 #define SPM_VDE_PWR_CON		0x0210
@@ -62,8 +62,8 @@
 #define DCM_TOP_EN		BIT(0)
 
 enum scp_domain_type {
+	SCPSYS_MT2701,
 	SCPSYS_MT7622,
-	SCPSYS_MT7623,
 };
 
 struct scp_domain;
@@ -84,54 +84,54 @@ struct scp_domain {
 	struct scp_domain_data *data;
 };
 
-static struct scp_domain_data scp_domain_mt7623[] = {
-	[MT7623_POWER_DOMAIN_CONN] = {
+static struct scp_domain_data scp_domain_mt2701[] = {
+	[MT2701_POWER_DOMAIN_CONN] = {
 		.sta_mask = PWR_STATUS_CONN,
 		.ctl_offs = SPM_CONN_PWR_CON,
 		.bus_prot_mask = BIT(8) | BIT(2),
 	},
-	[MT7623_POWER_DOMAIN_DISP] = {
+	[MT2701_POWER_DOMAIN_DISP] = {
 		.sta_mask = PWR_STATUS_DISP,
 		.ctl_offs = SPM_DIS_PWR_CON,
 		.sram_pdn_bits = GENMASK(11, 8),
 		.bus_prot_mask = BIT(2),
 	},
-	[MT7623_POWER_DOMAIN_MFG] = {
+	[MT2701_POWER_DOMAIN_MFG] = {
 		.sta_mask = PWR_STATUS_MFG,
 		.ctl_offs = SPM_MFG_PWR_CON,
 		.sram_pdn_bits = GENMASK(11, 8),
 		.sram_pdn_ack_bits = GENMASK(12, 12),
 	},
-	[MT7623_POWER_DOMAIN_VDEC] = {
+	[MT2701_POWER_DOMAIN_VDEC] = {
 		.sta_mask = PWR_STATUS_VDEC,
 		.ctl_offs = SPM_VDE_PWR_CON,
 		.sram_pdn_bits = GENMASK(11, 8),
 		.sram_pdn_ack_bits = GENMASK(12, 12),
 	},
-	[MT7623_POWER_DOMAIN_ISP] = {
+	[MT2701_POWER_DOMAIN_ISP] = {
 		.sta_mask = PWR_STATUS_ISP,
 		.ctl_offs = SPM_ISP_PWR_CON,
 		.sram_pdn_bits = GENMASK(11, 8),
 		.sram_pdn_ack_bits = GENMASK(13, 12),
 	},
-	[MT7623_POWER_DOMAIN_BDP] = {
+	[MT2701_POWER_DOMAIN_BDP] = {
 		.sta_mask = PWR_STATUS_BDP,
 		.ctl_offs = SPM_BDP_PWR_CON,
 		.sram_pdn_bits = GENMASK(11, 8),
 	},
-	[MT7623_POWER_DOMAIN_ETH] = {
+	[MT2701_POWER_DOMAIN_ETH] = {
 		.sta_mask = PWR_STATUS_ETH,
 		.ctl_offs = SPM_ETH_PWR_CON,
 		.sram_pdn_bits = GENMASK(11, 8),
 		.sram_pdn_ack_bits = GENMASK(15, 12),
 	},
-	[MT7623_POWER_DOMAIN_HIF] = {
+	[MT2701_POWER_DOMAIN_HIF] = {
 		.sta_mask = PWR_STATUS_HIF,
 		.ctl_offs = SPM_HIF_PWR_CON,
 		.sram_pdn_bits = GENMASK(11, 8),
 		.sram_pdn_ack_bits = GENMASK(15, 12),
 	},
-	[MT7623_POWER_DOMAIN_IFR_MSC] = {
+	[MT2701_POWER_DOMAIN_IFR_MSC] = {
 		.sta_mask = PWR_STATUS_IFR_MSC,
 		.ctl_offs = SPM_IFR_MSC_PWR_CON,
 	},
@@ -322,12 +322,12 @@ static int mtk_power_domain_hook(struct udevice *dev)
 	scpd->type = (enum scp_domain_type)dev_get_driver_data(dev);
 
 	switch (scpd->type) {
+	case SCPSYS_MT2701:
+		scpd->data = scp_domain_mt2701;
+		break;
 	case SCPSYS_MT7622:
 		scpd->data = scp_domain_mt7622;
 		break;
-	case SCPSYS_MT7623:
-		scpd->data = scp_domain_mt7623;
-		break;
 	default:
 		return -EINVAL;
 	}
@@ -375,13 +375,17 @@ static int mtk_power_domain_probe(struct udevice *dev)
 }
 
 static const struct udevice_id mtk_power_domain_ids[] = {
+	{
+		.compatible = "mediatek,mt2701-scpsys",
+		.data = SCPSYS_MT2701,
+	},
 	{
 		.compatible = "mediatek,mt7622-scpsys",
 		.data = SCPSYS_MT7622,
 	},
 	{
 		.compatible = "mediatek,mt7623-scpsys",
-		.data = SCPSYS_MT7623,
+		.data = SCPSYS_MT2701,
 	},
 	{ /* sentinel */ }
 };

-- 
2.54.0



More information about the U-Boot mailing list