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]> --- 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

