Add opp-level to indicate PCIe data rates and also define OPP enteries
for each link width and data rate.
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 18-08-25, 13:52, Krishna Chaitanya Chundru wrote: > @@ -2210,45 +2213,67 @@ pcie1_opp_table: opp-table { > compatible = "operating-points-v2"; > > /* GEN 1 x1 */ > - opp-2500000 { > + opp-2500000-1 { Why mention -1 here when there is only one entry with this freq value ? > 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>; > }; This looks okay. > > /* GEN 2 x2 */ > - opp-10000000 { > + opp-10000000-2 { Why -2 here ? > 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 { same. > opp-hz = /bits/ 64 <8000000>; > required-opps = <&rpmhpd_opp_nom>; > opp-peak-kBps = <984500 1>; > + opp-level = <3>; > + }; > + > + /* GEN 3 x2 */ > + opp-16000000-3 { Shouldn't this be opp-16000000-1 only ? This is the first occurrence 16000000. > + 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-16000000-2 ? -- viresh
On 8/18/2025 2:32 PM, Viresh Kumar wrote: > On 18-08-25, 13:52, Krishna Chaitanya Chundru wrote: >> @@ -2210,45 +2213,67 @@ pcie1_opp_table: opp-table { >> compatible = "operating-points-v2"; >> >> /* GEN 1 x1 */ >> - opp-2500000 { >> + opp-2500000-1 { > > Why mention -1 here when there is only one entry with this freq value > ? > >> 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>; >> }; > > This looks okay. > >> >> /* GEN 2 x2 */ >> - opp-10000000 { >> + opp-10000000-2 { > > Why -2 here ? > >> 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 { > > same. > >> opp-hz = /bits/ 64 <8000000>; >> required-opps = <&rpmhpd_opp_nom>; >> opp-peak-kBps = <984500 1>; >> + opp-level = <3>; >> + }; >> + >> + /* GEN 3 x2 */ >> + opp-16000000-3 { > > Shouldn't this be opp-16000000-1 only ? This is the first occurrence > 16000000. > >> + 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-16000000-2 ? I tried to add the level as prefix as that will indicate the PCIe date rate also instead of 1, 2 to make more aligned with the PCIe representations. I will update this in the commit text in my next series. - Krishna Chaitanya. >
On 18-08-25, 14:37, Krishna Chaitanya Chundru wrote: > I tried to add the level as prefix as that will indicate the PCIe date > rate also instead of 1, 2 to make more aligned with the PCIe > representations. I will update this in the commit text in my next > series. Okay, I will let the DT maintainers confirm if that is okay or not. -- viresh
© 2016 - 2025 Red Hat, Inc.