Add opp-level to indicate PCIe data rates and also define OPP enteries
for each link width and data rate. Append the opp level to name of the
opp node to indicate both frequency and level.
Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sm8450.dtsi | 41 +++++++++++++++++++++++++++++-------
1 file changed, 33 insertions(+), 8 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi
index 33574ad706b915136546c7f92c7cd0b8a0d62b7e..d7f8706ca4949e253a4102474c92b393a345262f 100644
--- a/arch/arm64/boot/dts/qcom/sm8450.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi
@@ -2052,6 +2052,7 @@ opp-2500000 {
opp-hz = /bits/ 64 <2500000>;
required-opps = <&rpmhpd_opp_low_svs>;
opp-peak-kBps = <250000 1>;
+ opp-level = <1>;
};
/* GEN 2 x1 */
@@ -2059,6 +2060,7 @@ opp-5000000 {
opp-hz = /bits/ 64 <5000000>;
required-opps = <&rpmhpd_opp_low_svs>;
opp-peak-kBps = <500000 1>;
+ opp-level = <2>;
};
/* GEN 3 x1 */
@@ -2066,6 +2068,7 @@ opp-8000000 {
opp-hz = /bits/ 64 <8000000>;
required-opps = <&rpmhpd_opp_nom>;
opp-peak-kBps = <984500 1>;
+ opp-level = <3>;
};
};
@@ -2210,45 +2213,67 @@ pcie1_opp_table: opp-table {
compatible = "operating-points-v2";
/* GEN 1 x1 */
- opp-2500000 {
+ opp-2500000-1 {
opp-hz = /bits/ 64 <2500000>;
required-opps = <&rpmhpd_opp_low_svs>;
opp-peak-kBps = <250000 1>;
+ opp-level = <1>;
};
- /* GEN 1 x2 and GEN 2 x1 */
- opp-5000000 {
+ /* GEN 1 x2 */
+ opp-5000000-1 {
+ opp-hz = /bits/ 64 <5000000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ opp-peak-kBps = <500000 1>;
+ opp-level = <1>;
+ };
+
+ /* GEN 2 x1 */
+ opp-5000000-2 {
opp-hz = /bits/ 64 <5000000>;
required-opps = <&rpmhpd_opp_low_svs>;
opp-peak-kBps = <500000 1>;
+ opp-level = <2>;
};
/* GEN 2 x2 */
- opp-10000000 {
+ opp-10000000-2 {
opp-hz = /bits/ 64 <10000000>;
required-opps = <&rpmhpd_opp_low_svs>;
opp-peak-kBps = <1000000 1>;
+ opp-level = <2>;
};
/* GEN 3 x1 */
- opp-8000000 {
+ opp-8000000-3 {
opp-hz = /bits/ 64 <8000000>;
required-opps = <&rpmhpd_opp_nom>;
opp-peak-kBps = <984500 1>;
+ opp-level = <3>;
+ };
+
+ /* GEN 3 x2 */
+ opp-16000000-3 {
+ opp-hz = /bits/ 64 <16000000>;
+ required-opps = <&rpmhpd_opp_nom>;
+ opp-peak-kBps = <1969000 1>;
+ opp-level = <3>;
};
- /* GEN 3 x2 and GEN 4 x1 */
- opp-16000000 {
+ /* GEN 4 x1 */
+ opp-16000000-4 {
opp-hz = /bits/ 64 <16000000>;
required-opps = <&rpmhpd_opp_nom>;
opp-peak-kBps = <1969000 1>;
+ opp-level = <4>;
};
/* GEN 4 x2 */
- opp-32000000 {
+ opp-32000000-4 {
opp-hz = /bits/ 64 <32000000>;
required-opps = <&rpmhpd_opp_nom>;
opp-peak-kBps = <3938000 1>;
+ opp-level = <4>;
};
};
--
2.34.1
On Wed, Aug 20, 2025 at 01:58:49PM GMT, Krishna Chaitanya Chundru wrote: > Add opp-level to indicate PCIe data rates and also define OPP enteries > for each link width and data rate. Append the opp level to name of the > opp node to indicate both frequency and level. > > Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com> > --- > arch/arm64/boot/dts/qcom/sm8450.dtsi | 41 +++++++++++++++++++++++++++++------- > 1 file changed, 33 insertions(+), 8 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi > index 33574ad706b915136546c7f92c7cd0b8a0d62b7e..d7f8706ca4949e253a4102474c92b393a345262f 100644 > --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi > +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi > @@ -2052,6 +2052,7 @@ opp-2500000 { > opp-hz = /bits/ 64 <2500000>; > required-opps = <&rpmhpd_opp_low_svs>; > opp-peak-kBps = <250000 1>; > + opp-level = <1>; > }; > > /* GEN 2 x1 */ While you are doing the change, please use data rate instead of 'GEN' to align with the spec. Like, /* 5 GT/s x1 */ - Mani -- மணிவண்ணன் சதாசிவம்
On Wed, Aug 20, 2025 at 01:58:49PM GMT, Krishna Chaitanya Chundru wrote: > Add opp-level to indicate PCIe data rates and also define OPP enteries > for each link width and data rate. Append the opp level to name of the > opp node to indicate both frequency and level. > First define the problem statement of why this change is needed. You've mentioned it in the cover letter, but that won't be preserved in git history. Then you need to justify the change and make it clear that *this* platform doesn't suffer the issue but you are doing it for the unification. This needs to be done for all DTS patches. - Mani > Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com> > --- > arch/arm64/boot/dts/qcom/sm8450.dtsi | 41 +++++++++++++++++++++++++++++------- > 1 file changed, 33 insertions(+), 8 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/sm8450.dtsi b/arch/arm64/boot/dts/qcom/sm8450.dtsi > index 33574ad706b915136546c7f92c7cd0b8a0d62b7e..d7f8706ca4949e253a4102474c92b393a345262f 100644 > --- a/arch/arm64/boot/dts/qcom/sm8450.dtsi > +++ b/arch/arm64/boot/dts/qcom/sm8450.dtsi > @@ -2052,6 +2052,7 @@ opp-2500000 { > opp-hz = /bits/ 64 <2500000>; > required-opps = <&rpmhpd_opp_low_svs>; > opp-peak-kBps = <250000 1>; > + opp-level = <1>; > }; > > /* GEN 2 x1 */ > @@ -2059,6 +2060,7 @@ opp-5000000 { > opp-hz = /bits/ 64 <5000000>; > required-opps = <&rpmhpd_opp_low_svs>; > opp-peak-kBps = <500000 1>; > + opp-level = <2>; > }; > > /* GEN 3 x1 */ > @@ -2066,6 +2068,7 @@ opp-8000000 { > opp-hz = /bits/ 64 <8000000>; > required-opps = <&rpmhpd_opp_nom>; > opp-peak-kBps = <984500 1>; > + opp-level = <3>; > }; > }; > > @@ -2210,45 +2213,67 @@ pcie1_opp_table: opp-table { > compatible = "operating-points-v2"; > > /* GEN 1 x1 */ > - opp-2500000 { > + opp-2500000-1 { > opp-hz = /bits/ 64 <2500000>; > required-opps = <&rpmhpd_opp_low_svs>; > opp-peak-kBps = <250000 1>; > + opp-level = <1>; > }; > > - /* GEN 1 x2 and GEN 2 x1 */ > - opp-5000000 { > + /* GEN 1 x2 */ > + opp-5000000-1 { > + opp-hz = /bits/ 64 <5000000>; > + required-opps = <&rpmhpd_opp_low_svs>; > + opp-peak-kBps = <500000 1>; > + opp-level = <1>; > + }; > + > + /* GEN 2 x1 */ > + opp-5000000-2 { > opp-hz = /bits/ 64 <5000000>; > required-opps = <&rpmhpd_opp_low_svs>; > opp-peak-kBps = <500000 1>; > + opp-level = <2>; > }; > > /* GEN 2 x2 */ > - opp-10000000 { > + opp-10000000-2 { > opp-hz = /bits/ 64 <10000000>; > required-opps = <&rpmhpd_opp_low_svs>; > opp-peak-kBps = <1000000 1>; > + opp-level = <2>; > }; > > /* GEN 3 x1 */ > - opp-8000000 { > + opp-8000000-3 { > opp-hz = /bits/ 64 <8000000>; > required-opps = <&rpmhpd_opp_nom>; > opp-peak-kBps = <984500 1>; > + opp-level = <3>; > + }; > + > + /* GEN 3 x2 */ > + opp-16000000-3 { > + opp-hz = /bits/ 64 <16000000>; > + required-opps = <&rpmhpd_opp_nom>; > + opp-peak-kBps = <1969000 1>; > + opp-level = <3>; > }; > > - /* GEN 3 x2 and GEN 4 x1 */ > - opp-16000000 { > + /* GEN 4 x1 */ > + opp-16000000-4 { > opp-hz = /bits/ 64 <16000000>; > required-opps = <&rpmhpd_opp_nom>; > opp-peak-kBps = <1969000 1>; > + opp-level = <4>; > }; > > /* GEN 4 x2 */ > - opp-32000000 { > + opp-32000000-4 { > opp-hz = /bits/ 64 <32000000>; > required-opps = <&rpmhpd_opp_nom>; > opp-peak-kBps = <3938000 1>; > + opp-level = <4>; > }; > }; > > > -- > 2.34.1 > -- மணிவண்ணன் சதாசிவம்
© 2016 - 2025 Red Hat, Inc.