power: domain: mediatek: use MT2701 naming instead of MT7623

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@baylibre.com>
Link: https://patch.msgid.link/20260709-mt8188-add-power-domain-v2-4-589ace7d30e2@baylibre.com
Signed-off-by: David Lechner <dlechner@baylibre.com>
This commit is contained in:
Julien Stephan
2026-07-22 13:54:54 -05:00
committed by David Lechner
parent 0b4bfb0c97
commit bd1621d61a
+20 -16
View File
@@ -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 */ }
};