linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] dt-bindings: qcom-rpmpd: Add sm6125 power domains
@ 2021-11-30 21:23 Martin Botka
  2021-11-30 21:23 ` [PATCH 2/4] drivers: soc: qcom: rpmpd: Add support for sm6125 Martin Botka
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Martin Botka @ 2021-11-30 21:23 UTC (permalink / raw)
  To: martin.botka1
  Cc: ~postmarketos/upstreaming, konrad.dybcio,
	angelogioacchino.delregno, marijn.suijten, jamipkettunen,
	paul.bouchara, Martin Botka, Andy Gross, Bjorn Andersson,
	Rob Herring, linux-arm-msm, devicetree, linux-kernel

Add dt-bindings for sm6125 SoC RPM Power Domains

Signed-off-by: Martin Botka <martin.botka@somainline.org>
---
 include/dt-bindings/power/qcom-rpmpd.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/include/dt-bindings/power/qcom-rpmpd.h b/include/dt-bindings/power/qcom-rpmpd.h
index 340b0ffe5eb8..0006a2930dcc 100644
--- a/include/dt-bindings/power/qcom-rpmpd.h
+++ b/include/dt-bindings/power/qcom-rpmpd.h
@@ -219,12 +219,20 @@
 #define SM6115_VDD_LPI_CX	6
 #define SM6115_VDD_LPI_MX	7
 
+/* SM6125 Power Domains */
+#define SM6125_VDDCX		0
+#define SM6125_VDDCX_AO		1
+#define SM6125_VDDCX_VFL	2
+#define SM6125_VDDMX		3
+#define SM6125_VDDMX_AO		4
+#define SM6125_VDDMX_VFL	5
+
 /* QCM2290 Power Domains */
 #define QCM2290_VDDCX		0
-- 
2.34.0


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

* [PATCH 2/4] drivers: soc: qcom: rpmpd: Add support for sm6125
  2021-11-30 21:23 [PATCH 1/4] dt-bindings: qcom-rpmpd: Add sm6125 power domains Martin Botka
@ 2021-11-30 21:23 ` Martin Botka
  2021-11-30 21:23 ` [PATCH 3/4] arm64: dt: sm6125: Add RPMPD node Martin Botka
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Martin Botka @ 2021-11-30 21:23 UTC (permalink / raw)
  To: martin.botka1
  Cc: ~postmarketos/upstreaming, konrad.dybcio,
	angelogioacchino.delregno, marijn.suijten, jamipkettunen,
	paul.bouchara, Martin Botka, Andy Gross, Bjorn Andersson,
	Rob Herring, linux-arm-msm, devicetree, linux-kernel

Add RPM power domains located in Qualcomm SM6125
SoC.

Signed-off-by: Martin Botka <martin.botka@somainline.org>
---
 drivers/soc/qcom/rpmpd.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/drivers/soc/qcom/rpmpd.c b/drivers/soc/qcom/rpmpd.c
index 36b2381039e6..0a8d8d24bfb7 100644
--- a/drivers/soc/qcom/rpmpd.c
+++ b/drivers/soc/qcom/rpmpd.c
@@ -395,6 +395,28 @@ static const struct rpmpd_desc sm6115_desc = {
 	.max_state = RPM_SMD_LEVEL_TURBO_NO_CPR,
 };
 
+/* sm6125 RPM Power domains */
+DEFINE_RPMPD_PAIR(sm6125, vddcx, vddcx_ao, RWCX, LEVEL, 0);
+DEFINE_RPMPD_VFL(sm6125, vddcx_vfl, RWCX, 0);
+
+DEFINE_RPMPD_PAIR(sm6125, vddmx, vddmx_ao, RWMX, LEVEL, 0);
+DEFINE_RPMPD_VFL(sm6125, vddmx_vfl, RWMX, 0);
+
+static struct rpmpd *sm6125_rpmpds[] = {
+	[SM6125_VDDCX] =		&sm6125_vddcx,
+	[SM6125_VDDCX_AO] =		&sm6125_vddcx_ao,
+	[SM6125_VDDCX_VFL] =		&sm6125_vddcx_vfl,
+	[SM6125_VDDMX] =		&sm6125_vddmx,
+	[SM6125_VDDMX_AO] =		&sm6125_vddmx_ao,
+	[SM6125_VDDMX_VFL] =		&sm6125_vddmx_vfl,
+};
+
+static const struct rpmpd_desc sm6125_desc = {
+	.rpmpds = sm6125_rpmpds,
+	.num_pds = ARRAY_SIZE(sm6125_rpmpds),
+	.max_state = RPM_SMD_LEVEL_BINNING,
+};
+
 static struct rpmpd *qcm2290_rpmpds[] = {
 	[QCM2290_VDDCX] = &sm6115_vddcx,
 	[QCM2290_VDDCX_AO] = &sm6115_vddcx_ao,
@@ -425,6 +447,7 @@ static const struct of_device_id rpmpd_match_table[] = {
 	{ .compatible = "qcom,qcs404-rpmpd", .data = &qcs404_desc },
 	{ .compatible = "qcom,sdm660-rpmpd", .data = &sdm660_desc },
 	{ .compatible = "qcom,sm6115-rpmpd", .data = &sm6115_desc },
+	{ .compatible = "qcom,sm6125-rpmpd", .data = &sm6125_desc },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, rpmpd_match_table);
-- 
2.34.0


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

* [PATCH 3/4] arm64: dt: sm6125: Add RPMPD node
  2021-11-30 21:23 [PATCH 1/4] dt-bindings: qcom-rpmpd: Add sm6125 power domains Martin Botka
  2021-11-30 21:23 ` [PATCH 2/4] drivers: soc: qcom: rpmpd: Add support for sm6125 Martin Botka
@ 2021-11-30 21:23 ` Martin Botka
  2021-11-30 21:23 ` [PATCH 4/4] arm64: dt: sm6125: Add power domains to sdhc Martin Botka
  2021-12-01 15:13 ` (subset) [PATCH 1/4] dt-bindings: qcom-rpmpd: Add sm6125 power domains Bjorn Andersson
  3 siblings, 0 replies; 5+ messages in thread
From: Martin Botka @ 2021-11-30 21:23 UTC (permalink / raw)
  To: martin.botka1
  Cc: ~postmarketos/upstreaming, konrad.dybcio,
	angelogioacchino.delregno, marijn.suijten, jamipkettunen,
	paul.bouchara, Martin Botka, Andy Gross, Bjorn Andersson,
	Rob Herring, linux-arm-msm, devicetree, linux-kernel

Add RPM Power Distribution node for sm6125 SoC.

Signed-off-by: Martin Botka <martin.botka@somainline.org>
---
 arch/arm64/boot/dts/qcom/sm6125.dtsi | 50 ++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm6125.dtsi b/arch/arm64/boot/dts/qcom/sm6125.dtsi
index 78f4705e4117..1e280c4d402d 100644
--- a/arch/arm64/boot/dts/qcom/sm6125.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6125.dtsi
@@ -303,6 +303,56 @@ rpmcc: clock-controller {
 				compatible = "qcom,rpmcc-sm6125", "qcom,rpmcc";
 				#clock-cells = <1>;
 			};
+
+			rpmpd: power-controller {
+				compatible = "qcom,sm6125-rpmpd";
+				#power-domain-cells = <1>;
+				operating-points-v2 = <&rpmpd_opp_table>;
+
+				rpmpd_opp_table: opp-table {
+					compatible = "operating-points-v2";
+
+					rpmpd_opp_ret: opp1 {
+						opp-level = <RPM_SMD_LEVEL_RETENTION>;
+					};
+
+					rpmpd_opp_ret_plus: opp2 {
+						opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
+					};
+
+					rpmpd_opp_min_svs: opp3 {
+						opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
+					};
+
+					rpmpd_opp_low_svs: opp4 {
+						opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
+					};
+
+					rpmpd_opp_svs: opp5 {
+						opp-level = <RPM_SMD_LEVEL_SVS>;
+					};
+
+					rpmpd_opp_svs_plus: opp6 {
+						opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
+					};
+
+					rpmpd_opp_nom: opp7 {
+						opp-level = <RPM_SMD_LEVEL_NOM>;
+					};
+
+					rpmpd_opp_nom_plus: opp8 {
+						opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
+					};
+
+					rpmpd_opp_turbo: opp9 {
+						opp-level = <RPM_SMD_LEVEL_TURBO>;
+					};
+
+					rpmpd_opp_turbo_no_cpr: opp10 {
+						opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
+					};
+				};
+			};
 		};
 	};
 
-- 
2.34.0


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

* [PATCH 4/4] arm64: dt: sm6125: Add power domains to sdhc
  2021-11-30 21:23 [PATCH 1/4] dt-bindings: qcom-rpmpd: Add sm6125 power domains Martin Botka
  2021-11-30 21:23 ` [PATCH 2/4] drivers: soc: qcom: rpmpd: Add support for sm6125 Martin Botka
  2021-11-30 21:23 ` [PATCH 3/4] arm64: dt: sm6125: Add RPMPD node Martin Botka
@ 2021-11-30 21:23 ` Martin Botka
  2021-12-01 15:13 ` (subset) [PATCH 1/4] dt-bindings: qcom-rpmpd: Add sm6125 power domains Bjorn Andersson
  3 siblings, 0 replies; 5+ messages in thread
From: Martin Botka @ 2021-11-30 21:23 UTC (permalink / raw)
  To: martin.botka1
  Cc: ~postmarketos/upstreaming, konrad.dybcio,
	angelogioacchino.delregno, marijn.suijten, jamipkettunen,
	paul.bouchara, Martin Botka, Andy Gross, Bjorn Andersson,
	Rob Herring, linux-arm-msm, devicetree, linux-kernel

Add RPM Power Domains to internal eMMC and SDCard.

Signed-off-by: Martin Botka <martin.botka@somainline.org>
---
 arch/arm64/boot/dts/qcom/sm6125.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm6125.dtsi b/arch/arm64/boot/dts/qcom/sm6125.dtsi
index 1e280c4d402d..b5471bf9fbc4 100644
--- a/arch/arm64/boot/dts/qcom/sm6125.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6125.dtsi
@@ -460,6 +460,9 @@ sdhc_1: sdhci@4744000 {
 				 <&gcc GCC_SDCC1_APPS_CLK>,
 				 <&xo_board>;
 			clock-names = "iface", "core", "xo";
+
+			power-domains = <&rpmpd SM6125_VDDCX>;
+
 			bus-width = <8>;
 			non-removable;
 			status = "disabled";
@@ -483,6 +486,8 @@ sdhc_2: sdhci@4784000 {
 			pinctrl-1 = <&sdc2_state_off>;
 			pinctrl-names = "default", "sleep";
 
+			power-domains = <&rpmpd SM6125_VDDCX>;
+
 			bus-width = <4>;
 			status = "disabled";
 		};
-- 
2.34.0


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

* Re: (subset) [PATCH 1/4] dt-bindings: qcom-rpmpd: Add sm6125 power domains
  2021-11-30 21:23 [PATCH 1/4] dt-bindings: qcom-rpmpd: Add sm6125 power domains Martin Botka
                   ` (2 preceding siblings ...)
  2021-11-30 21:23 ` [PATCH 4/4] arm64: dt: sm6125: Add power domains to sdhc Martin Botka
@ 2021-12-01 15:13 ` Bjorn Andersson
  3 siblings, 0 replies; 5+ messages in thread
From: Bjorn Andersson @ 2021-12-01 15:13 UTC (permalink / raw)
  To: Martin Botka, martin.botka1
  Cc: paul.bouchara, linux-arm-msm, angelogioacchino.delregno,
	jamipkettunen, Rob Herring, ~postmarketos/upstreaming,
	linux-kernel, devicetree, marijn.suijten, Andy Gross,
	konrad.dybcio

On Tue, 30 Nov 2021 22:23:29 +0100, Martin Botka wrote:
> Add dt-bindings for sm6125 SoC RPM Power Domains
> 
> 

Applied, thanks!

[3/4] arm64: dt: sm6125: Add RPMPD node
      commit: d0bfc92303dde7f13fac1873c25a3bee913bfef3
[4/4] arm64: dt: sm6125: Add power domains to sdhc
      commit: 556a9f3ae17ef19deecac130fea38f258d5abeb2

Best regards,
-- 
Bjorn Andersson <bjorn.andersson@linaro.org>

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

end of thread, other threads:[~2021-12-01 15:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-30 21:23 [PATCH 1/4] dt-bindings: qcom-rpmpd: Add sm6125 power domains Martin Botka
2021-11-30 21:23 ` [PATCH 2/4] drivers: soc: qcom: rpmpd: Add support for sm6125 Martin Botka
2021-11-30 21:23 ` [PATCH 3/4] arm64: dt: sm6125: Add RPMPD node Martin Botka
2021-11-30 21:23 ` [PATCH 4/4] arm64: dt: sm6125: Add power domains to sdhc Martin Botka
2021-12-01 15:13 ` (subset) [PATCH 1/4] dt-bindings: qcom-rpmpd: Add sm6125 power domains Bjorn Andersson

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