diff mbox

[v2,2/2] arm64: dts: qcom: msm8998: Add rpm and regulators for MTP

Message ID 20180428054248.22387-2-bjorn.andersson@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Bjorn Andersson April 28, 2018, 5:42 a.m. UTC
This adds the rpm and rpm regulators to the msm8998 platform and mtp.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
 arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi | 142 ++++++++++++++++++++++++++++++
 arch/arm64/boot/dts/qcom/msm8998.dtsi     |  83 +++++++++++++++++
 2 files changed, 225 insertions(+)

Comments

Stephen Boyd May 7, 2018, 11:04 p.m. UTC | #1
Quoting Bjorn Andersson (2018-04-27 22:42:48)
> diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> index d6665e4f801f..ccbf6347aacb 100644
> --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> @@ -220,6 +220,16 @@
>                 method = "smc";
>         };
>  
> +       rpm_glink: rpm-glink {
> +               compatible = "qcom,glink-rpm";
> +
> +               interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
> +
> +               qcom,rpm-msg-ram = <&rpm_msg_ram>;
> +
> +               mboxes = <&apcs_glb 0>;

Why so many newlines?

> +       };
> +
>         soc: soc {};
>  };
>  
> @@ -337,4 +347,77 @@
>                 #interrupt-cells = <4>;
>                 cell-index = <0>;
>         };
> +
> +       rpm_msg_ram: memory@68000 {

unit address doesn't match reg property.

> +               compatible = "qcom,rpm-msg-ram";
> +               reg = <0x778000 0x7000>;
> +       };
> +
> +       apcs_glb: mailbox@9820000 {

unit address doesn't match reg property.

> +               compatible = "qcom,msm8998-apcs-hmss-global";
> +               reg = <0x17911000 0x1000>;
> +
> +               #mbox-cells = <1>;
> +       };
> +};
> +
> +&rpm_glink {
> +       rpm_requests {
> +               compatible = "qcom,rpm-msm8998";
> +               qcom,glink-channels = "rpm_requests";
> +
> +               pm8998-regulators {
> +                       compatible = "qcom,rpm-pm8998-regulators";
> +
> +                       pm8998_s1: s1 {};
> +                       pm8998_s2: s2 {};
> +                       pm8998_s3: s3 {};
> +                       pm8998_s4: s4 {};
> +                       pm8998_s5: s5 {};
> +                       pm8998_s6: s6 {};
> +                       pm8998_s7: s7 {};
> +                       pm8998_s8: s8 {};
> +                       pm8998_s9: s9 {};
> +                       pm8998_s10: s10 {};
> +                       pm8998_s11: s11 {};
> +                       pm8998_s12: s12 {};
> +                       pm8998_s13: s13 {};
> +                       pm8998_l1: l1 {};
> +                       pm8998_l2: l2 {};
> +                       pm8998_l3: l3 {};
> +                       pm8998_l4: l4 {};
> +                       pm8998_l5: l5 {};
> +                       pm8998_l6: l6 {};
> +                       pm8998_l7: l7 {};
> +                       pm8998_l8: l8 {};
> +                       pm8998_l9: l9 {};
> +                       pm8998_l10: l10 {};
> +                       pm8998_l11: l11 {};
> +                       pm8998_l12: l12 {};
> +                       pm8998_l13: l13 {};
> +                       pm8998_l14: l14 {};
> +                       pm8998_l15: l15 {};
> +                       pm8998_l16: l16 {};
> +                       pm8998_l17: l17 {};
> +                       pm8998_l18: l18 {};
> +                       pm8998_l19: l19 {};
> +                       pm8998_l20: l20 {};
> +                       pm8998_l21: l21 {};
> +                       pm8998_l22: l22 {};
> +                       pm8998_l23: l23 {};
> +                       pm8998_l24: l24 {};
> +                       pm8998_l25: l25 {};
> +                       pm8998_l26: l26 {};
> +                       pm8998_l27: l27 {};
> +                       pm8998_l28: l28 {};
> +                       pm8998_lvs1: lvs1 {};
> +                       pm8998_lvs2: lvs2 {};

What's the benefit to having the nodes here instead of in each board?

> +               };
> +
> +               pmi8998-regulators {
> +                       compatible = "qcom,rpm-pmi8998-regulators";
> +
> +                       pmi8998_bob: bob {};
> +               };

These may be board specific? So each regulator container would need
status = "disabled" and then status = "okay" in the board file.
Bjorn Andersson May 7, 2018, 11:43 p.m. UTC | #2
On Mon 07 May 16:04 PDT 2018, Stephen Boyd wrote:

> Quoting Bjorn Andersson (2018-04-27 22:42:48)
> > diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > index d6665e4f801f..ccbf6347aacb 100644
> > --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
> > @@ -220,6 +220,16 @@
> >                 method = "smc";
> >         };
> >  
> > +       rpm_glink: rpm-glink {
> > +               compatible = "qcom,glink-rpm";
> > +
> > +               interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
> > +
> > +               qcom,rpm-msg-ram = <&rpm_msg_ram>;
> > +
> > +               mboxes = <&apcs_glb 0>;
> 
> Why so many newlines?
> 

No particular reason...

> > +       };
> > +
> >         soc: soc {};
> >  };
> >  
> > @@ -337,4 +347,77 @@
> >                 #interrupt-cells = <4>;
> >                 cell-index = <0>;
> >         };
> > +
> > +       rpm_msg_ram: memory@68000 {
> 
> unit address doesn't match reg property.
> 

Doh...

> > +               compatible = "qcom,rpm-msg-ram";
> > +               reg = <0x778000 0x7000>;
> > +       };
[..]
> > +&rpm_glink {
> > +       rpm_requests {
> > +               compatible = "qcom,rpm-msm8998";
> > +               qcom,glink-channels = "rpm_requests";
> > +
> > +               pm8998-regulators {
> > +                       compatible = "qcom,rpm-pm8998-regulators";
> > +
> > +                       pm8998_s1: s1 {};
[..]
> > +                       pm8998_lvs2: lvs2 {};
> 
> What's the benefit to having the nodes here instead of in each board?
> 

That's how we've done it in the previous boards, but I had a discussion
regarding this with Doug the other day and agree that it might make
sense to just leave them out.

In particular Doug wanted to use labels based on names in the schematics
for his board...

> > +               };
> > +
> > +               pmi8998-regulators {
> > +                       compatible = "qcom,rpm-pmi8998-regulators";
> > +
> > +                       pmi8998_bob: bob {};
> > +               };
> 
> These may be board specific? So each regulator container would need
> status = "disabled" and then status = "okay" in the board file.
> 

Right, we haven't really seen the need for this before, but it seems to
make more sense to move all regulators and their references to the board
file.

Regards,
Bjorn
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
index e30c95f63a05..4780751b560e 100644
--- a/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998-mtp.dtsi
@@ -18,3 +18,145 @@ 
 		status = "okay";
 	};
 };
+
+&rpm_glink {
+	rpm_requests {
+		pm8998-regulators {
+			s2 {
+				regulator-min-microvolt = <1128000>;
+				regulator-max-microvolt = <1128000>;
+			};
+			s3 {
+				regulator-min-microvolt = <1352000>;
+				regulator-max-microvolt = <1352000>;
+			};
+			s4 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+			};
+			s5 {
+				regulator-min-microvolt = <1904000>;
+				regulator-max-microvolt = <2040000>;
+			};
+			s7 {
+				regulator-min-microvolt = <900000>;
+				regulator-max-microvolt = <1028000>;
+			};
+			s8 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <800000>;
+			};
+			l1 {
+				regulator-min-microvolt = <880000>;
+				regulator-max-microvolt = <880000>;
+			};
+			l2 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <1200000>;
+			};
+			l3 {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+			};
+			l5 {
+				regulator-min-microvolt = <800000>;
+				regulator-max-microvolt = <800000>;
+			};
+			l6 {
+				regulator-min-microvolt = <1808000>;
+				regulator-max-microvolt = <1808000>;
+			};
+			l7 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+			};
+			l8 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <1200000>;
+			};
+			l9 {
+				regulator-min-microvolt = <1808000>;
+				regulator-max-microvolt = <2960000>;
+			};
+			l10 {
+				regulator-min-microvolt = <1808000>;
+				regulator-max-microvolt = <2960000>;
+			};
+			l11 {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1000000>;
+			};
+			l12 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+			};
+			l13 {
+				regulator-min-microvolt = <1808000>;
+				regulator-max-microvolt = <2960000>;
+			};
+			l14 {
+				regulator-min-microvolt = <1880000>;
+				regulator-max-microvolt = <1880000>;
+			};
+			l15 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <1800000>;
+			};
+			l16 {
+				regulator-min-microvolt = <2704000>;
+				regulator-max-microvolt = <2704000>;
+			};
+			l17 {
+				regulator-min-microvolt = <1304000>;
+				regulator-max-microvolt = <1304000>;
+			};
+			l18 {
+				regulator-min-microvolt = <2704000>;
+				regulator-max-microvolt = <2704000>;
+			};
+			l19 {
+				regulator-min-microvolt = <3008000>;
+				regulator-max-microvolt = <3008000>;
+			};
+			l20 {
+				regulator-min-microvolt = <2960000>;
+				regulator-max-microvolt = <2960000>;
+			};
+			l21 {
+				regulator-min-microvolt = <2960000>;
+				regulator-max-microvolt = <2960000>;
+			};
+			l22 {
+				regulator-min-microvolt = <2864000>;
+				regulator-max-microvolt = <2864000>;
+			};
+			l23 {
+				regulator-min-microvolt = <3312000>;
+				regulator-max-microvolt = <3312000>;
+			};
+			l24 {
+				regulator-min-microvolt = <3088000>;
+				regulator-max-microvolt = <3088000>;
+			};
+			l25 {
+				regulator-min-microvolt = <3104000>;
+				regulator-max-microvolt = <3312000>;
+			};
+			l26 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <1200000>;
+			};
+			l28 {
+				regulator-min-microvolt = <3008000>;
+				regulator-max-microvolt = <3008000>;
+			};
+		};
+
+		pmi8998-regulators {
+			bob {
+				regulator-min-microvolt = <3312000>;
+				regulator-max-microvolt = <3600000>;
+			};
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi
index d6665e4f801f..ccbf6347aacb 100644
--- a/arch/arm64/boot/dts/qcom/msm8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi
@@ -220,6 +220,16 @@ 
 		method = "smc";
 	};
 
+	rpm_glink: rpm-glink {
+		compatible = "qcom,glink-rpm";
+
+		interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
+
+		qcom,rpm-msg-ram = <&rpm_msg_ram>;
+
+		mboxes = <&apcs_glb 0>;
+	};
+
 	soc: soc {};
 };
 
@@ -337,4 +347,77 @@ 
 		#interrupt-cells = <4>;
 		cell-index = <0>;
 	};
+
+	rpm_msg_ram: memory@68000 {
+		compatible = "qcom,rpm-msg-ram";
+		reg = <0x778000 0x7000>;
+	};
+
+	apcs_glb: mailbox@9820000 {
+		compatible = "qcom,msm8998-apcs-hmss-global";
+		reg = <0x17911000 0x1000>;
+
+		#mbox-cells = <1>;
+	};
+};
+
+&rpm_glink {
+	rpm_requests {
+		compatible = "qcom,rpm-msm8998";
+		qcom,glink-channels = "rpm_requests";
+
+		pm8998-regulators {
+			compatible = "qcom,rpm-pm8998-regulators";
+
+			pm8998_s1: s1 {};
+			pm8998_s2: s2 {};
+			pm8998_s3: s3 {};
+			pm8998_s4: s4 {};
+			pm8998_s5: s5 {};
+			pm8998_s6: s6 {};
+			pm8998_s7: s7 {};
+			pm8998_s8: s8 {};
+			pm8998_s9: s9 {};
+			pm8998_s10: s10 {};
+			pm8998_s11: s11 {};
+			pm8998_s12: s12 {};
+			pm8998_s13: s13 {};
+			pm8998_l1: l1 {};
+			pm8998_l2: l2 {};
+			pm8998_l3: l3 {};
+			pm8998_l4: l4 {};
+			pm8998_l5: l5 {};
+			pm8998_l6: l6 {};
+			pm8998_l7: l7 {};
+			pm8998_l8: l8 {};
+			pm8998_l9: l9 {};
+			pm8998_l10: l10 {};
+			pm8998_l11: l11 {};
+			pm8998_l12: l12 {};
+			pm8998_l13: l13 {};
+			pm8998_l14: l14 {};
+			pm8998_l15: l15 {};
+			pm8998_l16: l16 {};
+			pm8998_l17: l17 {};
+			pm8998_l18: l18 {};
+			pm8998_l19: l19 {};
+			pm8998_l20: l20 {};
+			pm8998_l21: l21 {};
+			pm8998_l22: l22 {};
+			pm8998_l23: l23 {};
+			pm8998_l24: l24 {};
+			pm8998_l25: l25 {};
+			pm8998_l26: l26 {};
+			pm8998_l27: l27 {};
+			pm8998_l28: l28 {};
+			pm8998_lvs1: lvs1 {};
+			pm8998_lvs2: lvs2 {};
+		};
+
+		pmi8998-regulators {
+			compatible = "qcom,rpm-pmi8998-regulators";
+
+			pmi8998_bob: bob {};
+		};
+	};
 };