devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Add ADSP power domains controller support for MT8192
@ 2022-12-21  3:44 Allen-KH Cheng
  2022-12-21  3:44 ` [PATCH v2 1/6] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data Allen-KH Cheng
                   ` (5 more replies)
  0 siblings, 6 replies; 18+ messages in thread
From: Allen-KH Cheng @ 2022-12-21  3:44 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Matthias Brugger, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	devicetree, linux-arm-kernel, linux-kernel, linux-mediatek,
	Chen-Yu Tsai, Allen-KH Cheng

This series is based on matthias github, v6.1-next.
The previous discussion: 
https://patchwork.kernel.org/project/linux-mediatek/patch/20221201073328.1559-1-allen-kh.cheng@mediatek.com/

Change from v1:
 - move allOf before additionalProperties
 - add buck isolation setting patches into series

Allen-KH Cheng (6):
  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
  dt-bindings: power: Add MT8192 ADSP power domain
  soc: mediatek: pm-domains: Add ADSP power domain data for MT8192
  dt-bindings: arm: mediatek: Add missing power-domains property
  arm64: dts: mediatek: Add the missing ADSP power domains controller
    for MT8192

 .../arm/mediatek/mediatek,mt8192-clock.yaml     | 17 +++++++++++++++++
 arch/arm64/boot/dts/mediatek/mt8192.dtsi        |  9 +++++++++
 drivers/soc/mediatek/mt8192-pm-domains.h        | 16 ++++++++++++++++
 drivers/soc/mediatek/mtk-pm-domains.c           |  8 ++++++++
 drivers/soc/mediatek/mtk-pm-domains.h           |  5 +++++
 include/dt-bindings/power/mt8192-power.h        |  1 +
 6 files changed, 56 insertions(+)

-- 
2.18.0


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

* [PATCH v2 1/6] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data
  2022-12-21  3:44 [PATCH v2 0/6] Add ADSP power domains controller support for MT8192 Allen-KH Cheng
@ 2022-12-21  3:44 ` Allen-KH Cheng
  2022-12-21 10:18   ` AngeloGioacchino Del Regno
  2022-12-21  3:44 ` [PATCH v2 2/6] soc: mediatek: pm-domains: Add buck isolation setting in power domain Allen-KH Cheng
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 18+ messages in thread
From: Allen-KH Cheng @ 2022-12-21  3:44 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Matthias Brugger, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	devicetree, linux-arm-kernel, linux-kernel, linux-mediatek,
	Chen-Yu Tsai, Allen-KH Cheng

Add buck isolation offset and mask to power domain data.

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.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


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

* [PATCH v2 2/6] soc: mediatek: pm-domains: Add buck isolation setting in power domain
  2022-12-21  3:44 [PATCH v2 0/6] Add ADSP power domains controller support for MT8192 Allen-KH Cheng
  2022-12-21  3:44 ` [PATCH v2 1/6] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data Allen-KH Cheng
@ 2022-12-21  3:44 ` Allen-KH Cheng
  2022-12-21 10:20   ` AngeloGioacchino Del Regno
  2022-12-21  3:44 ` [PATCH v2 3/6] dt-bindings: power: Add MT8192 ADSP " Allen-KH Cheng
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 18+ messages in thread
From: Allen-KH Cheng @ 2022-12-21  3:44 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Matthias Brugger, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	devicetree, linux-arm-kernel, linux-kernel, linux-mediatek,
	Chen-Yu Tsai, Allen-KH Cheng

In MT8192, we need to disable EXT_BUCK_ISO before turning on the ADSP
power pm-domains (mtcmos).

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 09e3c38b8466..63f1e183f645 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 (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 (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


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

* [PATCH v2 3/6] dt-bindings: power: Add MT8192 ADSP power domain
  2022-12-21  3:44 [PATCH v2 0/6] Add ADSP power domains controller support for MT8192 Allen-KH Cheng
  2022-12-21  3:44 ` [PATCH v2 1/6] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data Allen-KH Cheng
  2022-12-21  3:44 ` [PATCH v2 2/6] soc: mediatek: pm-domains: Add buck isolation setting in power domain Allen-KH Cheng
@ 2022-12-21  3:44 ` Allen-KH Cheng
  2022-12-21 10:21   ` AngeloGioacchino Del Regno
  2022-12-21  3:44 ` [PATCH v2 4/6] soc: mediatek: pm-domains: Add ADSP power domain data for MT8192 Allen-KH Cheng
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 18+ messages in thread
From: Allen-KH Cheng @ 2022-12-21  3:44 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Matthias Brugger, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	devicetree, linux-arm-kernel, linux-kernel, linux-mediatek,
	Chen-Yu Tsai, Allen-KH Cheng

Add power domain ID for the ADSP power partition found on MT8192 SoC.

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 include/dt-bindings/power/mt8192-power.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/dt-bindings/power/mt8192-power.h b/include/dt-bindings/power/mt8192-power.h
index 4eaa53d7270a..63e81cd0d06d 100644
--- a/include/dt-bindings/power/mt8192-power.h
+++ b/include/dt-bindings/power/mt8192-power.h
@@ -28,5 +28,6 @@
 #define MT8192_POWER_DOMAIN_CAM_RAWA	18
 #define MT8192_POWER_DOMAIN_CAM_RAWB	19
 #define MT8192_POWER_DOMAIN_CAM_RAWC	20
+#define MT8192_POWER_DOMAIN_ADSP	21
 
 #endif /* _DT_BINDINGS_POWER_MT8192_POWER_H */
-- 
2.18.0


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

* [PATCH v2 4/6] soc: mediatek: pm-domains: Add ADSP power domain data for MT8192
  2022-12-21  3:44 [PATCH v2 0/6] Add ADSP power domains controller support for MT8192 Allen-KH Cheng
                   ` (2 preceding siblings ...)
  2022-12-21  3:44 ` [PATCH v2 3/6] dt-bindings: power: Add MT8192 ADSP " Allen-KH Cheng
@ 2022-12-21  3:44 ` Allen-KH Cheng
  2022-12-21 10:21   ` AngeloGioacchino Del Regno
  2023-02-03 13:07   ` Matthias Brugger
  2022-12-21  3:44 ` [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property Allen-KH Cheng
  2022-12-21  3:44 ` [PATCH v2 6/6] arm64: dts: mediatek: Add the missing ADSP power domains controller for MT8192 Allen-KH Cheng
  5 siblings, 2 replies; 18+ messages in thread
From: Allen-KH Cheng @ 2022-12-21  3:44 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Matthias Brugger, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	devicetree, linux-arm-kernel, linux-kernel, linux-mediatek,
	Chen-Yu Tsai, Allen-KH Cheng

Add ADSP pm-domains (mtcmos) data for MT8192 SoC.

Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
---
 drivers/soc/mediatek/mt8192-pm-domains.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/soc/mediatek/mt8192-pm-domains.h b/drivers/soc/mediatek/mt8192-pm-domains.h
index b97b2051920f..19e58f0ca1df 100644
--- a/drivers/soc/mediatek/mt8192-pm-domains.h
+++ b/drivers/soc/mediatek/mt8192-pm-domains.h
@@ -287,6 +287,22 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8192[] = {
 		.sram_pdn_bits = GENMASK(8, 8),
 		.sram_pdn_ack_bits = GENMASK(12, 12),
 	},
+	[MT8192_POWER_DOMAIN_ADSP] = {
+		.name = "adsp",
+		.sta_mask = BIT(22),
+		.ctl_offs = 0x0358,
+		.sram_pdn_bits = GENMASK(8, 8),
+		.sram_pdn_ack_bits = GENMASK(12, 12),
+		.ext_buck_iso_offs = 0x039C,
+		.ext_buck_iso_mask = BIT(2),
+		.bp_infracfg = {
+			BUS_PROT_WR(MT8192_TOP_AXI_PROT_EN_2_ADSP,
+				    MT8192_TOP_AXI_PROT_EN_2_SET,
+				    MT8192_TOP_AXI_PROT_EN_2_CLR,
+				    MT8192_TOP_AXI_PROT_EN_2_STA1),
+		},
+		.caps = MTK_SCPD_SRAM_ISO | MTK_SCPD_EXT_BUCK_ISO,
+	},
 	[MT8192_POWER_DOMAIN_CAM] = {
 		.name = "cam",
 		.sta_mask = BIT(23),
-- 
2.18.0


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

* [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property
  2022-12-21  3:44 [PATCH v2 0/6] Add ADSP power domains controller support for MT8192 Allen-KH Cheng
                   ` (3 preceding siblings ...)
  2022-12-21  3:44 ` [PATCH v2 4/6] soc: mediatek: pm-domains: Add ADSP power domain data for MT8192 Allen-KH Cheng
@ 2022-12-21  3:44 ` Allen-KH Cheng
  2022-12-21  8:18   ` Krzysztof Kozlowski
  2022-12-21 10:22   ` AngeloGioacchino Del Regno
  2022-12-21  3:44 ` [PATCH v2 6/6] arm64: dts: mediatek: Add the missing ADSP power domains controller for MT8192 Allen-KH Cheng
  5 siblings, 2 replies; 18+ messages in thread
From: Allen-KH Cheng @ 2022-12-21  3:44 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Matthias Brugger, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	devicetree, linux-arm-kernel, linux-kernel, linux-mediatek,
	Chen-Yu Tsai, Allen-KH Cheng

The "mediatek,mt8192-scp_adsp" binding requires a power domain to be
specified.

Fixes: 4a803990aeb1 ("dt-bindings: ARM: Mediatek: Add new document bindings of MT8192 clock")
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
---
 .../arm/mediatek/mediatek,mt8192-clock.yaml     | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
index b57cc2e69efb..ce8dd2bfb533 100644
--- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
+++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
@@ -40,6 +40,9 @@ properties:
   reg:
     maxItems: 1
 
+  power-domains:
+    maxItems: 1
+
   '#clock-cells':
     const: 1
 
@@ -47,13 +50,27 @@ required:
   - compatible
   - reg
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - mediatek,mt8192-scp_adsp
+    then:
+      required:
+        - power-domains
+
 additionalProperties: false
 
 examples:
   - |
+    #include <dt-bindings/power/mt8192-power.h>
+
     scp_adsp: clock-controller@10720000 {
         compatible = "mediatek,mt8192-scp_adsp";
         reg = <0x10720000 0x1000>;
+        power-domains = <&spm MT8192_POWER_DOMAIN_ADSP>;
         #clock-cells = <1>;
     };
 
-- 
2.18.0


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

* [PATCH v2 6/6] arm64: dts: mediatek: Add the missing ADSP power domains controller for MT8192
  2022-12-21  3:44 [PATCH v2 0/6] Add ADSP power domains controller support for MT8192 Allen-KH Cheng
                   ` (4 preceding siblings ...)
  2022-12-21  3:44 ` [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property Allen-KH Cheng
@ 2022-12-21  3:44 ` Allen-KH Cheng
  2022-12-21 10:23   ` AngeloGioacchino Del Regno
  5 siblings, 1 reply; 18+ messages in thread
From: Allen-KH Cheng @ 2022-12-21  3:44 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Matthias Brugger, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	devicetree, linux-arm-kernel, linux-kernel, linux-mediatek,
	Chen-Yu Tsai, Allen-KH Cheng

Add the missing ADSP power domains controller for mt8192-scp_adsp clock
controllers.

Fixes: 5d2b897bc6f5 ("arm64: dts: mediatek: Add mt8192 clock controllers")
Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
---
 arch/arm64/boot/dts/mediatek/mt8192.dtsi | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm64/boot/dts/mediatek/mt8192.dtsi b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
index 6b20376191a7..6ee60db3ac23 100644
--- a/arch/arm64/boot/dts/mediatek/mt8192.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8192.dtsi
@@ -511,6 +511,14 @@
 						};
 					};
 				};
+
+				power-domain@MT8192_POWER_DOMAIN_ADSP {
+					reg = <MT8192_POWER_DOMAIN_ADSP>;
+					clocks = <&topckgen CLK_TOP_ADSP_SEL>;
+					clock-names = "adsp";
+					mediatek,infracfg = <&infracfg>;
+					#power-domain-cells = <0>;
+				};
 			};
 		};
 
@@ -574,6 +582,7 @@
 		scp_adsp: clock-controller@10720000 {
 			compatible = "mediatek,mt8192-scp_adsp";
 			reg = <0 0x10720000 0 0x1000>;
+			power-domains = <&spm MT8192_POWER_DOMAIN_ADSP>;
 			#clock-cells = <1>;
 		};
 
-- 
2.18.0


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

* Re: [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property
  2022-12-21  3:44 ` [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property Allen-KH Cheng
@ 2022-12-21  8:18   ` Krzysztof Kozlowski
  2022-12-29 10:15     ` Chen-Yu Tsai
  2022-12-21 10:22   ` AngeloGioacchino Del Regno
  1 sibling, 1 reply; 18+ messages in thread
From: Krzysztof Kozlowski @ 2022-12-21  8:18 UTC (permalink / raw)
  To: Allen-KH Cheng, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger, Chun-Jie Chen, Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	devicetree, linux-arm-kernel, linux-kernel, linux-mediatek,
	Chen-Yu Tsai

On 21/12/2022 04:44, Allen-KH Cheng wrote:
> The "mediatek,mt8192-scp_adsp" binding requires a power domain to be
> specified.

That's not true. Before this patch, how does the binding require a power
domain? Please show me the part of binding which requires it.

Best regards,
Krzysztof


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

* Re: [PATCH v2 1/6] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data
  2022-12-21  3:44 ` [PATCH v2 1/6] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data Allen-KH Cheng
@ 2022-12-21 10:18   ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 18+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-12-21 10:18 UTC (permalink / raw)
  To: Allen-KH Cheng, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger, Chun-Jie Chen, Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai

Il 21/12/22 04:44, Allen-KH Cheng ha scritto:
> 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>



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

* Re: [PATCH v2 2/6] soc: mediatek: pm-domains: Add buck isolation setting in power domain
  2022-12-21  3:44 ` [PATCH v2 2/6] soc: mediatek: pm-domains: Add buck isolation setting in power domain Allen-KH Cheng
@ 2022-12-21 10:20   ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 18+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-12-21 10:20 UTC (permalink / raw)
  To: Allen-KH Cheng, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger, Chun-Jie Chen, Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai

Il 21/12/22 04:44, Allen-KH Cheng ha scritto:
> In MT8192, we need to disable EXT_BUCK_ISO before turning on the ADSP
> power pm-domains (mtcmos).
> 
> 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 09e3c38b8466..63f1e183f645 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 (MTK_SCPD_CAPS(pd, MTK_SCPD_EXT_BUCK_ISO))

if (pd->data->ext_buck_iso_offs && MTK_SCPD_CAPS(pd, MTK_SCPD_EXT_BUCK_ISO))
	regmap_[...etc]

...so that we validate that ext_buck_iso_offs is actually present (as I
suppose that this is supposed to *never* be 0x0).

Regards,
Angelo

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

* Re: [PATCH v2 3/6] dt-bindings: power: Add MT8192 ADSP power domain
  2022-12-21  3:44 ` [PATCH v2 3/6] dt-bindings: power: Add MT8192 ADSP " Allen-KH Cheng
@ 2022-12-21 10:21   ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 18+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-12-21 10:21 UTC (permalink / raw)
  To: Allen-KH Cheng, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger, Chun-Jie Chen, Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai

Il 21/12/22 04:44, Allen-KH Cheng ha scritto:
> Add power domain ID for the ADSP power partition found on MT8192 SoC.
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

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



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

* Re: [PATCH v2 4/6] soc: mediatek: pm-domains: Add ADSP power domain data for MT8192
  2022-12-21  3:44 ` [PATCH v2 4/6] soc: mediatek: pm-domains: Add ADSP power domain data for MT8192 Allen-KH Cheng
@ 2022-12-21 10:21   ` AngeloGioacchino Del Regno
  2023-02-03 13:07   ` Matthias Brugger
  1 sibling, 0 replies; 18+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-12-21 10:21 UTC (permalink / raw)
  To: Allen-KH Cheng, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger, Chun-Jie Chen, Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai

Il 21/12/22 04:44, Allen-KH Cheng ha scritto:
> Add ADSP pm-domains (mtcmos) data for MT8192 SoC.
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>

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



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

* Re: [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property
  2022-12-21  3:44 ` [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property Allen-KH Cheng
  2022-12-21  8:18   ` Krzysztof Kozlowski
@ 2022-12-21 10:22   ` AngeloGioacchino Del Regno
  2022-12-21 10:33     ` Krzysztof Kozlowski
  1 sibling, 1 reply; 18+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-12-21 10:22 UTC (permalink / raw)
  To: Allen-KH Cheng, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger, Chun-Jie Chen, Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai

Il 21/12/22 04:44, Allen-KH Cheng ha scritto:
> The "mediatek,mt8192-scp_adsp" binding requires a power domain to be
> specified.
> 
> Fixes: 4a803990aeb1 ("dt-bindings: ARM: Mediatek: Add new document bindings of MT8192 clock")
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> ---
>   .../arm/mediatek/mediatek,mt8192-clock.yaml     | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
> index b57cc2e69efb..ce8dd2bfb533 100644
> --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
> +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
> @@ -40,6 +40,9 @@ properties:
>     reg:
>       maxItems: 1
>   
> +  power-domains:
> +    maxItems: 1
> +
>     '#clock-cells':
>       const: 1
>   
> @@ -47,13 +50,27 @@ required:
>     - compatible
>     - reg
>   
> +allOf:

allOf is unnecessary here.

Regards,
Angelo


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

* Re: [PATCH v2 6/6] arm64: dts: mediatek: Add the missing ADSP power domains controller for MT8192
  2022-12-21  3:44 ` [PATCH v2 6/6] arm64: dts: mediatek: Add the missing ADSP power domains controller for MT8192 Allen-KH Cheng
@ 2022-12-21 10:23   ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 18+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-12-21 10:23 UTC (permalink / raw)
  To: Allen-KH Cheng, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger, Chun-Jie Chen, Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai

Il 21/12/22 04:44, Allen-KH Cheng ha scritto:
> Add the missing ADSP power domains controller for mt8192-scp_adsp clock
> controllers.
> 
> Fixes: 5d2b897bc6f5 ("arm64: dts: mediatek: Add mt8192 clock controllers")
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>

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



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

* Re: [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property
  2022-12-21 10:22   ` AngeloGioacchino Del Regno
@ 2022-12-21 10:33     ` Krzysztof Kozlowski
  2022-12-21 10:34       ` AngeloGioacchino Del Regno
  0 siblings, 1 reply; 18+ messages in thread
From: Krzysztof Kozlowski @ 2022-12-21 10:33 UTC (permalink / raw)
  To: AngeloGioacchino Del Regno, Allen-KH Cheng, Rob Herring,
	Krzysztof Kozlowski, Matthias Brugger, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai

On 21/12/2022 11:22, AngeloGioacchino Del Regno wrote:
> Il 21/12/22 04:44, Allen-KH Cheng ha scritto:
>> The "mediatek,mt8192-scp_adsp" binding requires a power domain to be
>> specified.
>>
>> Fixes: 4a803990aeb1 ("dt-bindings: ARM: Mediatek: Add new document bindings of MT8192 clock")
>> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
>> ---
>>   .../arm/mediatek/mediatek,mt8192-clock.yaml     | 17 +++++++++++++++++
>>   1 file changed, 17 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
>> index b57cc2e69efb..ce8dd2bfb533 100644
>> --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
>> +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
>> @@ -40,6 +40,9 @@ properties:
>>     reg:
>>       maxItems: 1
>>   
>> +  power-domains:
>> +    maxItems: 1
>> +
>>     '#clock-cells':
>>       const: 1
>>   
>> @@ -47,13 +50,27 @@ required:
>>     - compatible
>>     - reg
>>   
>> +allOf:
> 
> allOf is unnecessary here.

If you mean that "if:" can be without it, then it is better to have
allOf. It grows often, so you avoid useless indentation change later.


Best regards,
Krzysztof


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

* Re: [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property
  2022-12-21 10:33     ` Krzysztof Kozlowski
@ 2022-12-21 10:34       ` AngeloGioacchino Del Regno
  0 siblings, 0 replies; 18+ messages in thread
From: AngeloGioacchino Del Regno @ 2022-12-21 10:34 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Allen-KH Cheng, Rob Herring,
	Krzysztof Kozlowski, Matthias Brugger, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, devicetree,
	linux-arm-kernel, linux-kernel, linux-mediatek, Chen-Yu Tsai

Il 21/12/22 11:33, Krzysztof Kozlowski ha scritto:
> On 21/12/2022 11:22, AngeloGioacchino Del Regno wrote:
>> Il 21/12/22 04:44, Allen-KH Cheng ha scritto:
>>> The "mediatek,mt8192-scp_adsp" binding requires a power domain to be
>>> specified.
>>>
>>> Fixes: 4a803990aeb1 ("dt-bindings: ARM: Mediatek: Add new document bindings of MT8192 clock")
>>> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
>>> ---
>>>    .../arm/mediatek/mediatek,mt8192-clock.yaml     | 17 +++++++++++++++++
>>>    1 file changed, 17 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
>>> index b57cc2e69efb..ce8dd2bfb533 100644
>>> --- a/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
>>> +++ b/Documentation/devicetree/bindings/arm/mediatek/mediatek,mt8192-clock.yaml
>>> @@ -40,6 +40,9 @@ properties:
>>>      reg:
>>>        maxItems: 1
>>>    
>>> +  power-domains:
>>> +    maxItems: 1
>>> +
>>>      '#clock-cells':
>>>        const: 1
>>>    
>>> @@ -47,13 +50,27 @@ required:
>>>      - compatible
>>>      - reg
>>>    
>>> +allOf:
>>
>> allOf is unnecessary here.
> 
> If you mean that "if:" can be without it, then it is better to have
> allOf. It grows often, so you avoid useless indentation change later.
> 
> 

Yes, that's what I mean. I've suggested so because I don't expect this list
to grow in the future.

Regards,
Angelo


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

* Re: [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property
  2022-12-21  8:18   ` Krzysztof Kozlowski
@ 2022-12-29 10:15     ` Chen-Yu Tsai
  0 siblings, 0 replies; 18+ messages in thread
From: Chen-Yu Tsai @ 2022-12-29 10:15 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Allen-KH Cheng
  Cc: Rob Herring, Krzysztof Kozlowski, Matthias Brugger, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang, Project_Global_Chrome_Upstream_Group,
	angelogioacchino.delregno, devicetree, linux-arm-kernel,
	linux-kernel, linux-mediatek

On Wed, Dec 21, 2022 at 4:18 PM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 21/12/2022 04:44, Allen-KH Cheng wrote:
> > The "mediatek,mt8192-scp_adsp" binding requires a power domain to be
> > specified.
>
> That's not true. Before this patch, how does the binding require a power
> domain? Please show me the part of binding which requires it.

Maybe this should be reworded to something like the following?

<--- cut
The SCP_ADSP clock controller has a power domain dependency that was not
described properly. Add it to the binding.
<--- cut

This was discovered when I was reworking the clock drivers. The clocks
in this controller were being turned off by the clock core, which would
result in the system locking up. MediaTek said this was due to the power
domain.

Regards
ChenYu

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

* Re: [PATCH v2 4/6] soc: mediatek: pm-domains: Add ADSP power domain data for MT8192
  2022-12-21  3:44 ` [PATCH v2 4/6] soc: mediatek: pm-domains: Add ADSP power domain data for MT8192 Allen-KH Cheng
  2022-12-21 10:21   ` AngeloGioacchino Del Regno
@ 2023-02-03 13:07   ` Matthias Brugger
  1 sibling, 0 replies; 18+ messages in thread
From: Matthias Brugger @ 2023-02-03 13:07 UTC (permalink / raw)
  To: Allen-KH Cheng, Rob Herring, Krzysztof Kozlowski, Chun-Jie Chen,
	Stephen Boyd, Ikjoon Jang
  Cc: Project_Global_Chrome_Upstream_Group, angelogioacchino.delregno,
	devicetree, linux-arm-kernel, linux-kernel, linux-mediatek,
	Chen-Yu Tsai



On 21/12/2022 04:44, Allen-KH Cheng wrote:
> Add ADSP pm-domains (mtcmos) data for MT8192 SoC.
> 
> Signed-off-by: Allen-KH Cheng <allen-kh.cheng@mediatek.com>
> ---
>   drivers/soc/mediatek/mt8192-pm-domains.h | 16 ++++++++++++++++
>   1 file changed, 16 insertions(+)
> 
> diff --git a/drivers/soc/mediatek/mt8192-pm-domains.h b/drivers/soc/mediatek/mt8192-pm-domains.h
> index b97b2051920f..19e58f0ca1df 100644
> --- a/drivers/soc/mediatek/mt8192-pm-domains.h
> +++ b/drivers/soc/mediatek/mt8192-pm-domains.h
> @@ -287,6 +287,22 @@ static const struct scpsys_domain_data scpsys_domain_data_mt8192[] = {
>   		.sram_pdn_bits = GENMASK(8, 8),
>   		.sram_pdn_ack_bits = GENMASK(12, 12),
>   	},
> +	[MT8192_POWER_DOMAIN_ADSP] = {
> +		.name = "adsp",
> +		.sta_mask = BIT(22),
> +		.ctl_offs = 0x0358,
> +		.sram_pdn_bits = GENMASK(8, 8),
> +		.sram_pdn_ack_bits = GENMASK(12, 12),
> +		.ext_buck_iso_offs = 0x039C,

Can we get a define for this magic number please?

Regards,
Matthias

> +		.ext_buck_iso_mask = BIT(2),
> +		.bp_infracfg = {
> +			BUS_PROT_WR(MT8192_TOP_AXI_PROT_EN_2_ADSP,
> +				    MT8192_TOP_AXI_PROT_EN_2_SET,
> +				    MT8192_TOP_AXI_PROT_EN_2_CLR,
> +				    MT8192_TOP_AXI_PROT_EN_2_STA1),
> +		},
> +		.caps = MTK_SCPD_SRAM_ISO | MTK_SCPD_EXT_BUCK_ISO,
> +	},
>   	[MT8192_POWER_DOMAIN_CAM] = {
>   		.name = "cam",
>   		.sta_mask = BIT(23),

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

end of thread, other threads:[~2023-02-03 13:08 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-21  3:44 [PATCH v2 0/6] Add ADSP power domains controller support for MT8192 Allen-KH Cheng
2022-12-21  3:44 ` [PATCH v2 1/6] soc: mediatek: pm-domains: Add buck isolation offset and mask to power domain data Allen-KH Cheng
2022-12-21 10:18   ` AngeloGioacchino Del Regno
2022-12-21  3:44 ` [PATCH v2 2/6] soc: mediatek: pm-domains: Add buck isolation setting in power domain Allen-KH Cheng
2022-12-21 10:20   ` AngeloGioacchino Del Regno
2022-12-21  3:44 ` [PATCH v2 3/6] dt-bindings: power: Add MT8192 ADSP " Allen-KH Cheng
2022-12-21 10:21   ` AngeloGioacchino Del Regno
2022-12-21  3:44 ` [PATCH v2 4/6] soc: mediatek: pm-domains: Add ADSP power domain data for MT8192 Allen-KH Cheng
2022-12-21 10:21   ` AngeloGioacchino Del Regno
2023-02-03 13:07   ` Matthias Brugger
2022-12-21  3:44 ` [PATCH v2 5/6] dt-bindings: arm: mediatek: Add missing power-domains property Allen-KH Cheng
2022-12-21  8:18   ` Krzysztof Kozlowski
2022-12-29 10:15     ` Chen-Yu Tsai
2022-12-21 10:22   ` AngeloGioacchino Del Regno
2022-12-21 10:33     ` Krzysztof Kozlowski
2022-12-21 10:34       ` AngeloGioacchino Del Regno
2022-12-21  3:44 ` [PATCH v2 6/6] arm64: dts: mediatek: Add the missing ADSP power domains controller for MT8192 Allen-KH Cheng
2022-12-21 10:23   ` AngeloGioacchino Del Regno

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).