Skip to content

Commit ffeebf7

Browse files
AngeloGioacchino Del RegnoUlf Hansson
authored andcommitted
pmdomain: mediatek: Convert all SoCs to new style regmap retrieval
Add the bus_prot_blocks handle and declare num_bus_prot_blocks to allow all of the currently supported AArch64 MediaTek SoCs to use the new style regmap retrieval in the driver when a new style devicetree declaring the mediatek,bus-protection phandle(s) in the main power controller node is found. Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/r/20250805074746.29457-10-angelogioacchino.delregno@collabora.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 parent 9d02c94 commit ffeebf7

9 files changed

Lines changed: 47 additions & 0 deletions

drivers/pmdomain/mediatek/mt6795-pm-domains.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
/*
1010
* MT6795 power domain support
1111
*/
12+
static enum scpsys_bus_prot_block scpsys_bus_prot_blocks_mt6795[] = {
13+
BUS_PROT_BLOCK_INFRA
14+
};
1215

1316
static const struct scpsys_domain_data scpsys_domain_data_mt6795[] = {
1417
[MT6795_POWER_DOMAIN_VDEC] = {
@@ -107,6 +110,8 @@ static const struct scpsys_domain_data scpsys_domain_data_mt6795[] = {
107110
static const struct scpsys_soc_data mt6795_scpsys_data = {
108111
.domains_data = scpsys_domain_data_mt6795,
109112
.num_domains = ARRAY_SIZE(scpsys_domain_data_mt6795),
113+
.bus_prot_blocks = scpsys_bus_prot_blocks_mt6795,
114+
.num_bus_prot_blocks = ARRAY_SIZE(scpsys_bus_prot_blocks_mt6795),
110115
};
111116

112117
#endif /* __SOC_MEDIATEK_MT6795_PM_DOMAINS_H */

drivers/pmdomain/mediatek/mt8167-pm-domains.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
/*
1313
* MT8167 power domain support
1414
*/
15+
static enum scpsys_bus_prot_block scpsys_bus_prot_blocks_mt8167[] = {
16+
BUS_PROT_BLOCK_INFRA
17+
};
1518

1619
static const struct scpsys_domain_data scpsys_domain_data_mt8167[] = {
1720
[MT8167_POWER_DOMAIN_MM] = {
@@ -99,6 +102,8 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8167[] = {
99102
static const struct scpsys_soc_data mt8167_scpsys_data = {
100103
.domains_data = scpsys_domain_data_mt8167,
101104
.num_domains = ARRAY_SIZE(scpsys_domain_data_mt8167),
105+
.bus_prot_blocks = scpsys_bus_prot_blocks_mt8167,
106+
.num_bus_prot_blocks = ARRAY_SIZE(scpsys_bus_prot_blocks_mt8167),
102107
};
103108

104109
#endif /* __SOC_MEDIATEK_MT8167_PM_DOMAINS_H */

drivers/pmdomain/mediatek/mt8173-pm-domains.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
/*
1010
* MT8173 power domain support
1111
*/
12+
static enum scpsys_bus_prot_block scpsys_bus_prot_blocks_mt8173[] = {
13+
BUS_PROT_BLOCK_INFRA
14+
};
1215

1316
static const struct scpsys_domain_data scpsys_domain_data_mt8173[] = {
1417
[MT8173_POWER_DOMAIN_VDEC] = {
@@ -118,6 +121,8 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8173[] = {
118121
static const struct scpsys_soc_data mt8173_scpsys_data = {
119122
.domains_data = scpsys_domain_data_mt8173,
120123
.num_domains = ARRAY_SIZE(scpsys_domain_data_mt8173),
124+
.bus_prot_blocks = scpsys_bus_prot_blocks_mt8173,
125+
.num_bus_prot_blocks = ARRAY_SIZE(scpsys_bus_prot_blocks_mt8173),
121126
};
122127

123128
#endif /* __SOC_MEDIATEK_MT8173_PM_DOMAINS_H */

drivers/pmdomain/mediatek/mt8183-pm-domains.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
/*
1010
* MT8183 power domain support
1111
*/
12+
static enum scpsys_bus_prot_block scpsys_bus_prot_blocks_mt8183[] = {
13+
BUS_PROT_BLOCK_INFRA, BUS_PROT_BLOCK_SMI
14+
};
1215

1316
static const struct scpsys_domain_data scpsys_domain_data_mt8183[] = {
1417
[MT8183_POWER_DOMAIN_AUDIO] = {
@@ -290,6 +293,8 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8183[] = {
290293
static const struct scpsys_soc_data mt8183_scpsys_data = {
291294
.domains_data = scpsys_domain_data_mt8183,
292295
.num_domains = ARRAY_SIZE(scpsys_domain_data_mt8183),
296+
.bus_prot_blocks = scpsys_bus_prot_blocks_mt8183,
297+
.num_bus_prot_blocks = ARRAY_SIZE(scpsys_bus_prot_blocks_mt8183),
293298
};
294299

295300
#endif /* __SOC_MEDIATEK_MT8183_PM_DOMAINS_H */

drivers/pmdomain/mediatek/mt8186-pm-domains.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
/*
1414
* MT8186 power domain support
1515
*/
16+
static enum scpsys_bus_prot_block scpsys_bus_prot_blocks_mt8186[] = {
17+
BUS_PROT_BLOCK_INFRA
18+
};
1619

1720
static const struct scpsys_domain_data scpsys_domain_data_mt8186[] = {
1821
[MT8186_POWER_DOMAIN_MFG0] = {
@@ -361,6 +364,8 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8186[] = {
361364
static const struct scpsys_soc_data mt8186_scpsys_data = {
362365
.domains_data = scpsys_domain_data_mt8186,
363366
.num_domains = ARRAY_SIZE(scpsys_domain_data_mt8186),
367+
.bus_prot_blocks = scpsys_bus_prot_blocks_mt8186,
368+
.num_bus_prot_blocks = ARRAY_SIZE(scpsys_bus_prot_blocks_mt8186),
364369
};
365370

366371
#endif /* __SOC_MEDIATEK_MT8186_PM_DOMAINS_H */

drivers/pmdomain/mediatek/mt8188-pm-domains.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414
* MT8188 power domain support
1515
*/
1616

17+
static enum scpsys_bus_prot_block scpsys_bus_prot_blocks_mt8188[] = {
18+
BUS_PROT_BLOCK_INFRA
19+
};
20+
1721
static const struct scpsys_domain_data scpsys_domain_data_mt8188[] = {
1822
[MT8188_POWER_DOMAIN_MFG0] = {
1923
.name = "mfg0",
@@ -685,6 +689,8 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8188[] = {
685689
static const struct scpsys_soc_data mt8188_scpsys_data = {
686690
.domains_data = scpsys_domain_data_mt8188,
687691
.num_domains = ARRAY_SIZE(scpsys_domain_data_mt8188),
692+
.bus_prot_blocks = scpsys_bus_prot_blocks_mt8188,
693+
.num_bus_prot_blocks = ARRAY_SIZE(scpsys_bus_prot_blocks_mt8188),
688694
};
689695

690696
#endif /* __SOC_MEDIATEK_MT8188_PM_DOMAINS_H */

drivers/pmdomain/mediatek/mt8192-pm-domains.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
/*
1010
* MT8192 power domain support
1111
*/
12+
static enum scpsys_bus_prot_block scpsys_bus_prot_blocks_mt8192[] = {
13+
BUS_PROT_BLOCK_INFRA
14+
};
1215

1316
static const struct scpsys_domain_data scpsys_domain_data_mt8192[] = {
1417
[MT8192_POWER_DOMAIN_AUDIO] = {
@@ -380,6 +383,8 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8192[] = {
380383
static const struct scpsys_soc_data mt8192_scpsys_data = {
381384
.domains_data = scpsys_domain_data_mt8192,
382385
.num_domains = ARRAY_SIZE(scpsys_domain_data_mt8192),
386+
.bus_prot_blocks = scpsys_bus_prot_blocks_mt8192,
387+
.num_bus_prot_blocks = ARRAY_SIZE(scpsys_bus_prot_blocks_mt8192),
383388
};
384389

385390
#endif /* __SOC_MEDIATEK_MT8192_PM_DOMAINS_H */

drivers/pmdomain/mediatek/mt8195-pm-domains.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
/*
1414
* MT8195 power domain support
1515
*/
16+
static enum scpsys_bus_prot_block scpsys_bus_prot_blocks_mt8195[] = {
17+
BUS_PROT_BLOCK_INFRA
18+
};
1619

1720
static const struct scpsys_domain_data scpsys_domain_data_mt8195[] = {
1821
[MT8195_POWER_DOMAIN_PCIE_MAC_P0] = {
@@ -661,6 +664,8 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8195[] = {
661664
static const struct scpsys_soc_data mt8195_scpsys_data = {
662665
.domains_data = scpsys_domain_data_mt8195,
663666
.num_domains = ARRAY_SIZE(scpsys_domain_data_mt8195),
667+
.bus_prot_blocks = scpsys_bus_prot_blocks_mt8195,
668+
.num_bus_prot_blocks = ARRAY_SIZE(scpsys_bus_prot_blocks_mt8195),
664669
};
665670

666671
#endif /* __SOC_MEDIATEK_MT8195_PM_DOMAINS_H */

drivers/pmdomain/mediatek/mt8365-pm-domains.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@
3333
_sta_mask, _sta, \
3434
BUS_PROT_INVERTED | BUS_PROT_REG_UPDATE)
3535

36+
static enum scpsys_bus_prot_block scpsys_bus_prot_blocks_mt8365[] = {
37+
BUS_PROT_BLOCK_INFRA, BUS_PROT_BLOCK_INFRA_NAO, BUS_PROT_BLOCK_SMI
38+
};
39+
3640
static const struct scpsys_domain_data scpsys_domain_data_mt8365[] = {
3741
[MT8365_POWER_DOMAIN_MM] = {
3842
.name = "mm",
@@ -190,6 +194,8 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8365[] = {
190194
static const struct scpsys_soc_data mt8365_scpsys_data = {
191195
.domains_data = scpsys_domain_data_mt8365,
192196
.num_domains = ARRAY_SIZE(scpsys_domain_data_mt8365),
197+
.bus_prot_blocks = scpsys_bus_prot_blocks_mt8365,
198+
.num_bus_prot_blocks = ARRAY_SIZE(scpsys_bus_prot_blocks_mt8365),
193199
};
194200

195201
#endif /* __SOC_MEDIATEK_MT8365_PM_DOMAINS_H */

0 commit comments

Comments
 (0)