diff options
| author | Julien Stephan <[email protected]> | 2026-07-09 14:58:10 +0200 |
|---|---|---|
| committer | David Lechner <[email protected]> | 2026-07-22 13:54:54 -0500 |
| commit | bd1621d61a798ecb8a1d8d778acbafb0a9a0a6fa (patch) | |
| tree | 097d3a2ca9c77cb37fc5d342b6e54e6dd6d1e1c3 | |
| parent | 0b4bfb0c97915b9af20ca2911b11b6d4a4bba420 (diff) | |
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 <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: David Lechner <[email protected]>
| -rw-r--r-- | drivers/power/domain/mtk-power-domain.c | 36 |
1 files 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; } @@ -376,12 +376,16 @@ 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 */ } }; |
