linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] mediatek: pm-domains: Add buck isolation setting support
@ 2023-01-17  3:26 Allen-KH Cheng
  2023-01-17  3:26 ` [PATCH 1/2] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data Allen-KH Cheng
  2023-01-17  3:26 ` [PATCH 2/2] soc: mediatek: pm-domains: Add buck isolation setting in power domain Allen-KH Cheng
  0 siblings, 2 replies; 6+ messages in thread
From: Allen-KH Cheng @ 2023-01-17  3:26 UTC (permalink / raw)
  To: Matthias Brugger, Enric Balletbo i Serra
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	linux-arm-kernel, linux-kernel, linux-mediatek, Allen-KH Cheng

We send a independent series from [1].
Add buck isolation setting support for the specific power pm-domains (mtcmos)
in some chipsets, such as ADSP in MT8192 and CAM_VCORE in MT8188.

Changes since [1]:
 - Add the conditional for ext_buck_iso_offs

[1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=706103

Allen-KH Cheng (2):
  soc: mediatek: pm-domains: Add buck isolation offset and mask to power
    domain data
  soc: mediatek: pm-domains: Add buck isolation setting in power domain

 drivers/soc/mediatek/mtk-pm-domains.c | 8 ++++++++
 drivers/soc/mediatek/mtk-pm-domains.h | 5 +++++
 2 files changed, 13 insertions(+)

-- 
2.18.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data
  2023-01-17  3:26 [PATCH 0/2] mediatek: pm-domains: Add buck isolation setting support Allen-KH Cheng
@ 2023-01-17  3:26 ` Allen-KH Cheng
  2023-01-19 17:45   ` Matthias Brugger
  2023-01-17  3:26 ` [PATCH 2/2] soc: mediatek: pm-domains: Add buck isolation setting in power domain Allen-KH Cheng
  1 sibling, 1 reply; 6+ messages in thread
From: Allen-KH Cheng @ 2023-01-17  3:26 UTC (permalink / raw)
  To: Matthias Brugger, Enric Balletbo i Serra
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	linux-arm-kernel, linux-kernel, linux-mediatek, Allen-KH Cheng

Add buck isolation offset and mask to power domain data.

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
 drivers/soc/mediatek/mtk-pm-domains.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/soc/mediatek/mtk-pm-domains.h b/drivers/soc/mediatek/mtk-pm-domains.h
index 7d3c0c36316c..a5f24c58e35a 100644
--- a/drivers/soc/mediatek/mtk-pm-domains.h
+++ b/drivers/soc/mediatek/mtk-pm-domains.h
@@ -81,6 +81,8 @@ struct scpsys_bus_prot_data {
  * @ctl_offs: The offset for main power control register.
  * @sram_pdn_bits: The mask for sram power control bits.
  * @sram_pdn_ack_bits: The mask for sram power control acked bits.
+ * @ext_buck_iso_offs: The offset for external buck isolation
+ * @ext_buck_iso_mask: The mask for external buck isolation
  * @caps: The flag for active wake-up action.
  * @bp_infracfg: bus protection for infracfg subsystem
  * @bp_smi: bus protection for smi subsystem
@@ -91,6 +93,8 @@ struct scpsys_domain_data {
 	int ctl_offs;
 	u32 sram_pdn_bits;
 	u32 sram_pdn_ack_bits;
+	int ext_buck_iso_offs;
+	u32 ext_buck_iso_mask;
 	u8 caps;
 	const struct scpsys_bus_prot_data bp_infracfg[SPM_MAX_BUS_PROT_DATA];
 	const struct scpsys_bus_prot_data bp_smi[SPM_MAX_BUS_PROT_DATA];
-- 
2.18.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] soc: mediatek: pm-domains: Add buck isolation setting in power domain
  2023-01-17  3:26 [PATCH 0/2] mediatek: pm-domains: Add buck isolation setting support Allen-KH Cheng
  2023-01-17  3:26 ` [PATCH 1/2] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data Allen-KH Cheng
@ 2023-01-17  3:26 ` Allen-KH Cheng
  2023-01-17  8:58   ` AngeloGioacchino Del Regno
  2023-01-19 17:46   ` Matthias Brugger
  1 sibling, 2 replies; 6+ messages in thread
From: Allen-KH Cheng @ 2023-01-17  3:26 UTC (permalink / raw)
  To: Matthias Brugger, Enric Balletbo i Serra
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	linux-arm-kernel, linux-kernel, linux-mediatek, Allen-KH Cheng

In some chipsets, we need to disable EXT_BUCK_ISO before turning on the
specific power pm-domains (mtcmos), such as ADSP in MT8192 and CAM_VCORE
in MT8188.

Add the MTK_SCPD_EXT_BUCK_ISO flag to control the buck isolation setting
in the mediatek power domain driver.

Fixes: 59b644b01cf4 ("soc: mediatek: Add MediaTek SCPSYS power domains")
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
---
 drivers/soc/mediatek/mtk-pm-domains.c | 8 ++++++++
 drivers/soc/mediatek/mtk-pm-domains.h | 1 +
 2 files changed, 9 insertions(+)

diff --git a/drivers/soc/mediatek/mtk-pm-domains.c b/drivers/soc/mediatek/mtk-pm-domains.c
index 474b272f9b02..be972e35b26e 100644
--- a/drivers/soc/mediatek/mtk-pm-domains.c
+++ b/drivers/soc/mediatek/mtk-pm-domains.c
@@ -218,6 +218,10 @@ static int scpsys_power_on(struct generic_pm_domain *genpd)
 	if (ret)
 		goto err_reg;
 
+	if (pd->data->ext_buck_iso_offs && MTK_SCPD_CAPS(pd, MTK_SCPD_EXT_BUCK_ISO))
+		regmap_clear_bits(scpsys->base, pd->data->ext_buck_iso_offs,
+				  pd->data->ext_buck_iso_mask);
+
 	/* subsys power on */
 	regmap_set_bits(scpsys->base, pd->data->ctl_offs, PWR_ON_BIT);
 	regmap_set_bits(scpsys->base, pd->data->ctl_offs, PWR_ON_2ND_BIT);
@@ -272,6 +276,10 @@ static int scpsys_power_off(struct generic_pm_domain *genpd)
 	if (ret < 0)
 		return ret;
 
+	if (pd->data->ext_buck_iso_offs && MTK_SCPD_CAPS(pd, MTK_SCPD_EXT_BUCK_ISO))
+		regmap_set_bits(scpsys->base, pd->data->ext_buck_iso_offs,
+				pd->data->ext_buck_iso_mask);
+
 	clk_bulk_disable_unprepare(pd->num_subsys_clks, pd->subsys_clks);
 
 	/* subsys power off */
diff --git a/drivers/soc/mediatek/mtk-pm-domains.h b/drivers/soc/mediatek/mtk-pm-domains.h
index a5f24c58e35a..5ec53ee073c4 100644
--- a/drivers/soc/mediatek/mtk-pm-domains.h
+++ b/drivers/soc/mediatek/mtk-pm-domains.h
@@ -10,6 +10,7 @@
 #define MTK_SCPD_DOMAIN_SUPPLY		BIT(4)
 /* can't set MTK_SCPD_KEEP_DEFAULT_OFF at the same time */
 #define MTK_SCPD_ALWAYS_ON		BIT(5)
+#define MTK_SCPD_EXT_BUCK_ISO		BIT(6)
 #define MTK_SCPD_CAPS(_scpd, _x)	((_scpd)->data->caps & (_x))
 
 #define SPM_VDE_PWR_CON			0x0210
-- 
2.18.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] soc: mediatek: pm-domains: Add buck isolation setting in power domain
  2023-01-17  3:26 ` [PATCH 2/2] soc: mediatek: pm-domains: Add buck isolation setting in power domain Allen-KH Cheng
@ 2023-01-17  8:58   ` AngeloGioacchino Del Regno
  2023-01-19 17:46   ` Matthias Brugger
  1 sibling, 0 replies; 6+ messages in thread
From: AngeloGioacchino Del Regno @ 2023-01-17  8:58 UTC (permalink / raw)
  To: Allen-KH Cheng, Matthias Brugger
  Cc: Project_Global_Chrome_Upstream_Group, linux-arm-kernel,
	linux-kernel, linux-mediatek

Il 17/01/23 04:26, Allen-KH Cheng ha scritto:
> In some chipsets, we need to disable EXT_BUCK_ISO before turning on the
> specific power pm-domains (mtcmos), such as ADSP in MT8192 and CAM_VCORE
> in MT8188.
> 
> Add the MTK_SCPD_EXT_BUCK_ISO flag to control the buck isolation setting
> in the mediatek power domain driver.
> 
> Fixes: 59b644b01cf4 ("soc: mediatek: Add MediaTek SCPSYS power domains")
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data
  2023-01-17  3:26 ` [PATCH 1/2] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data Allen-KH Cheng
@ 2023-01-19 17:45   ` Matthias Brugger
  0 siblings, 0 replies; 6+ messages in thread
From: Matthias Brugger @ 2023-01-19 17:45 UTC (permalink / raw)
  To: Allen-KH Cheng, Enric Balletbo i Serra
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	linux-arm-kernel, linux-kernel, linux-mediatek



On 17/01/2023 04:26, Allen-KH Cheng wrote:
> Add buck isolation offset and mask to power domain data.
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

Applied, thanks!

> ---
>   drivers/soc/mediatek/mtk-pm-domains.h | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/soc/mediatek/mtk-pm-domains.h b/drivers/soc/mediatek/mtk-pm-domains.h
> index 7d3c0c36316c..a5f24c58e35a 100644
> --- a/drivers/soc/mediatek/mtk-pm-domains.h
> +++ b/drivers/soc/mediatek/mtk-pm-domains.h
> @@ -81,6 +81,8 @@ struct scpsys_bus_prot_data {
>    * @ctl_offs: The offset for main power control register.
>    * @sram_pdn_bits: The mask for sram power control bits.
>    * @sram_pdn_ack_bits: The mask for sram power control acked bits.
> + * @ext_buck_iso_offs: The offset for external buck isolation
> + * @ext_buck_iso_mask: The mask for external buck isolation
>    * @caps: The flag for active wake-up action.
>    * @bp_infracfg: bus protection for infracfg subsystem
>    * @bp_smi: bus protection for smi subsystem
> @@ -91,6 +93,8 @@ struct scpsys_domain_data {
>   	int ctl_offs;
>   	u32 sram_pdn_bits;
>   	u32 sram_pdn_ack_bits;
> +	int ext_buck_iso_offs;
> +	u32 ext_buck_iso_mask;
>   	u8 caps;
>   	const struct scpsys_bus_prot_data bp_infracfg[SPM_MAX_BUS_PROT_DATA];
>   	const struct scpsys_bus_prot_data bp_smi[SPM_MAX_BUS_PROT_DATA];

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] soc: mediatek: pm-domains: Add buck isolation setting in power domain
  2023-01-17  3:26 ` [PATCH 2/2] soc: mediatek: pm-domains: Add buck isolation setting in power domain Allen-KH Cheng
  2023-01-17  8:58   ` AngeloGioacchino Del Regno
@ 2023-01-19 17:46   ` Matthias Brugger
  1 sibling, 0 replies; 6+ messages in thread
From: Matthias Brugger @ 2023-01-19 17:46 UTC (permalink / raw)
  To: Allen-KH Cheng, Enric Balletbo i Serra
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	linux-arm-kernel, linux-kernel, linux-mediatek



On 17/01/2023 04:26, Allen-KH Cheng wrote:
> In some chipsets, we need to disable EXT_BUCK_ISO before turning on the
> specific power pm-domains (mtcmos), such as ADSP in MT8192 and CAM_VCORE
> in MT8188.
> 
> Add the MTK_SCPD_EXT_BUCK_ISO flag to control the buck isolation setting
> in the mediatek power domain driver.
> 
> Fixes: 59b644b01cf4 ("soc: mediatek: Add MediaTek SCPSYS power domains")

 From my understanding this patch does not fix anything. It's a feature needed 
for new HW not supported by the mentioned commit. I applied the patch but 
droppend the Fixes tag. If you do not agree, please explain why we need it.

Regards,
Matthias

> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> ---
>   drivers/soc/mediatek/mtk-pm-domains.c | 8 ++++++++
>   drivers/soc/mediatek/mtk-pm-domains.h | 1 +
>   2 files changed, 9 insertions(+)
> 
> diff --git a/drivers/soc/mediatek/mtk-pm-domains.c b/drivers/soc/mediatek/mtk-pm-domains.c
> index 474b272f9b02..be972e35b26e 100644
> --- a/drivers/soc/mediatek/mtk-pm-domains.c
> +++ b/drivers/soc/mediatek/mtk-pm-domains.c
> @@ -218,6 +218,10 @@ static int scpsys_power_on(struct generic_pm_domain *genpd)
>   	if (ret)
>   		goto err_reg;
>   
> +	if (pd->data->ext_buck_iso_offs && MTK_SCPD_CAPS(pd, MTK_SCPD_EXT_BUCK_ISO))
> +		regmap_clear_bits(scpsys->base, pd->data->ext_buck_iso_offs,
> +				  pd->data->ext_buck_iso_mask);
> +
>   	/* subsys power on */
>   	regmap_set_bits(scpsys->base, pd->data->ctl_offs, PWR_ON_BIT);
>   	regmap_set_bits(scpsys->base, pd->data->ctl_offs, PWR_ON_2ND_BIT);
> @@ -272,6 +276,10 @@ static int scpsys_power_off(struct generic_pm_domain *genpd)
>   	if (ret < 0)
>   		return ret;
>   
> +	if (pd->data->ext_buck_iso_offs && MTK_SCPD_CAPS(pd, MTK_SCPD_EXT_BUCK_ISO))
> +		regmap_set_bits(scpsys->base, pd->data->ext_buck_iso_offs,
> +				pd->data->ext_buck_iso_mask);
> +
>   	clk_bulk_disable_unprepare(pd->num_subsys_clks, pd->subsys_clks);
>   
>   	/* subsys power off */
> diff --git a/drivers/soc/mediatek/mtk-pm-domains.h b/drivers/soc/mediatek/mtk-pm-domains.h
> index a5f24c58e35a..5ec53ee073c4 100644
> --- a/drivers/soc/mediatek/mtk-pm-domains.h
> +++ b/drivers/soc/mediatek/mtk-pm-domains.h
> @@ -10,6 +10,7 @@
>   #define MTK_SCPD_DOMAIN_SUPPLY		BIT(4)
>   /* can't set MTK_SCPD_KEEP_DEFAULT_OFF at the same time */
>   #define MTK_SCPD_ALWAYS_ON		BIT(5)
> +#define MTK_SCPD_EXT_BUCK_ISO		BIT(6)
>   #define MTK_SCPD_CAPS(_scpd, _x)	((_scpd)->data->caps & (_x))
>   
>   #define SPM_VDE_PWR_CON			0x0210

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-01-19 17:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-17  3:26 [PATCH 0/2] mediatek: pm-domains: Add buck isolation setting support Allen-KH Cheng
2023-01-17  3:26 ` [PATCH 1/2] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data Allen-KH Cheng
2023-01-19 17:45   ` Matthias Brugger
2023-01-17  3:26 ` [PATCH 2/2] soc: mediatek: pm-domains: Add buck isolation setting in power domain Allen-KH Cheng
2023-01-17  8:58   ` AngeloGioacchino Del Regno
2023-01-19 17:46   ` Matthias Brugger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).