Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pmdomain: mediatek: Add MT8188 buck isolation setting

Add buck isolation setting to ADSP_AO, CAM_VCORE and IMG_VCORE power
domains in MT8188 for proper buck isolation control in power domain
on/off.

Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
Signed-off-by: Fei Shao <fshao@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240329044142.3095193-1-fshao@chromium.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

authored by

Johnson Wang and committed by
Ulf Hansson
b1d4c60c 07623f57

+11 -3
+11 -3
drivers/pmdomain/mediatek/mt8188-pm-domains.h
··· 175 175 .ctl_offs = 0x35C, 176 176 .pwr_sta_offs = 0x16C, 177 177 .pwr_sta2nd_offs = 0x170, 178 + .ext_buck_iso_offs = 0x3EC, 179 + .ext_buck_iso_mask = BIT(10), 178 180 .bp_cfg = { 179 181 BUS_PROT_WR(INFRA, 180 182 MT8188_TOP_AXI_PROT_EN_2_ADSP_AO_STEP1, ··· 189 187 MT8188_TOP_AXI_PROT_EN_2_CLR, 190 188 MT8188_TOP_AXI_PROT_EN_2_STA), 191 189 }, 192 - .caps = MTK_SCPD_ALWAYS_ON, 190 + .caps = MTK_SCPD_ALWAYS_ON | MTK_SCPD_EXT_BUCK_ISO, 193 191 }, 194 192 [MT8188_POWER_DOMAIN_ADSP_INFRA] = { 195 193 .name = "adsp_infra", ··· 526 524 .ctl_offs = 0x3A4, 527 525 .pwr_sta_offs = 0x16C, 528 526 .pwr_sta2nd_offs = 0x170, 527 + .ext_buck_iso_offs = 0x3EC, 528 + .ext_buck_iso_mask = BIT(12), 529 529 .bp_cfg = { 530 530 BUS_PROT_WR(INFRA, 531 531 MT8188_TOP_AXI_PROT_EN_MM_IMG_VCORE_STEP1, ··· 545 541 MT8188_TOP_AXI_PROT_EN_MM_2_CLR, 546 542 MT8188_TOP_AXI_PROT_EN_MM_2_STA), 547 543 }, 548 - .caps = MTK_SCPD_KEEP_DEFAULT_OFF | MTK_SCPD_DOMAIN_SUPPLY, 544 + .caps = MTK_SCPD_KEEP_DEFAULT_OFF | MTK_SCPD_DOMAIN_SUPPLY | 545 + MTK_SCPD_EXT_BUCK_ISO, 549 546 }, 550 547 [MT8188_POWER_DOMAIN_IMG_MAIN] = { 551 548 .name = "img_main", ··· 596 591 .ctl_offs = 0x3A0, 597 592 .pwr_sta_offs = 0x16C, 598 593 .pwr_sta2nd_offs = 0x170, 594 + .ext_buck_iso_offs = 0x3EC, 595 + .ext_buck_iso_mask = BIT(11), 599 596 .bp_cfg = { 600 597 BUS_PROT_WR(INFRA, 601 598 MT8188_TOP_AXI_PROT_EN_MM_CAM_VCORE_STEP1, ··· 625 618 MT8188_TOP_AXI_PROT_EN_MM_2_CLR, 626 619 MT8188_TOP_AXI_PROT_EN_MM_2_STA), 627 620 }, 628 - .caps = MTK_SCPD_KEEP_DEFAULT_OFF | MTK_SCPD_DOMAIN_SUPPLY, 621 + .caps = MTK_SCPD_KEEP_DEFAULT_OFF | MTK_SCPD_DOMAIN_SUPPLY | 622 + MTK_SCPD_EXT_BUCK_ISO, 629 623 }, 630 624 [MT8188_POWER_DOMAIN_CAM_MAIN] = { 631 625 .name = "cam_main",