[v2,2/3] arm64: dts: qcom: msm8996pro: Add CBF scaling support
Commit Message
From: Yassine Oudjana <y.oudjana@protonmail.com>
Add opp-peak-kBps to CPU OPPs to allow for CBF scaling, and change the
CBF compatible to reflect the difference between it and the one on
MSM8996.
Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
arch/arm64/boot/dts/qcom/msm8996pro.dtsi | 51 ++++++++++++++++++++++++
1 file changed, 51 insertions(+)
Comments
On 27.05.2023 11:39, Yassine Oudjana wrote:
> From: Yassine Oudjana <y.oudjana@protonmail.com>
>
> Add opp-peak-kBps to CPU OPPs to allow for CBF scaling, and change the
> CBF compatible to reflect the difference between it and the one on
> MSM8996.
>
> Signed-off-by: Yassine Oudjana <y.oudjana@protonmail.com>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Now let's sprinkle some BWMON, CPR and GPMU and 8996 will be
fairly complete as far as the core hw goes.. At last!
Konrad
> arch/arm64/boot/dts/qcom/msm8996pro.dtsi | 51 ++++++++++++++++++++++++
> 1 file changed, 51 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8996pro.dtsi b/arch/arm64/boot/dts/qcom/msm8996pro.dtsi
> index a679a9c0cf99..b74cff06f300 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996pro.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8996pro.dtsi
> @@ -24,101 +24,121 @@ opp-307200000 {
> opp-hz = /bits/ 64 <307200000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <192000>;
> };
> opp-384000000 {
> opp-hz = /bits/ 64 <384000000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <192000>;
> };
> opp-460800000 {
> opp-hz = /bits/ 64 <460800000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <192000>;
> };
> opp-537600000 {
> opp-hz = /bits/ 64 <537600000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <192000>;
> };
> opp-614400000 {
> opp-hz = /bits/ 64 <614400000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <192000>;
> };
> opp-691200000 {
> opp-hz = /bits/ 64 <691200000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <307200>;
> };
> opp-768000000 {
> opp-hz = /bits/ 64 <768000000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <307200>;
> };
> opp-844800000 {
> opp-hz = /bits/ 64 <844800000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <384000>;
> };
> opp-902400000 {
> opp-hz = /bits/ 64 <902400000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <441600>;
> };
> opp-979200000 {
> opp-hz = /bits/ 64 <979200000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <537600>;
> };
> opp-1056000000 {
> opp-hz = /bits/ 64 <1056000000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <614400>;
> };
> opp-1132800000 {
> opp-hz = /bits/ 64 <1132800000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <691200>;
> };
> opp-1209600000 {
> opp-hz = /bits/ 64 <1209600000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <768000>;
> };
> opp-1286400000 {
> opp-hz = /bits/ 64 <1286400000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <844800>;
> };
> opp-1363200000 {
> opp-hz = /bits/ 64 <1363200000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <902400>;
> };
> opp-1440000000 {
> opp-hz = /bits/ 64 <1440000000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <979200>;
> };
> opp-1516800000 {
> opp-hz = /bits/ 64 <1516800000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1132800>;
> };
> opp-1593600000 {
> opp-hz = /bits/ 64 <1593600000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1190400>;
> };
> opp-1996800000 {
> opp-hz = /bits/ 64 <1996800000>;
> opp-supported-hw = <0x20>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1516800>;
> };
> opp-2188800000 {
> opp-hz = /bits/ 64 <2188800000>;
> opp-supported-hw = <0x10>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1593600>;
> };
> };
>
> @@ -131,136 +151,163 @@ opp-307200000 {
> opp-hz = /bits/ 64 <307200000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <192000>;
> };
> opp-384000000 {
> opp-hz = /bits/ 64 <384000000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <192000>;
> };
> opp-460800000 {
> opp-hz = /bits/ 64 <460800000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <192000>;
> };
> opp-537600000 {
> opp-hz = /bits/ 64 <537600000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <192000>;
> };
> opp-614400000 {
> opp-hz = /bits/ 64 <614400000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <192000>;
> };
> opp-691200000 {
> opp-hz = /bits/ 64 <691200000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <307200>;
> };
> opp-748800000 {
> opp-hz = /bits/ 64 <748800000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <307200>;
> };
> opp-825600000 {
> opp-hz = /bits/ 64 <825600000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <384000>;
> };
> opp-902400000 {
> opp-hz = /bits/ 64 <902400000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <441600>;
> };
> opp-979200000 {
> opp-hz = /bits/ 64 <979200000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <441600>;
> };
> opp-1056000000 {
> opp-hz = /bits/ 64 <1056000000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <537600>;
> };
> opp-1132800000 {
> opp-hz = /bits/ 64 <1132800000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <614400>;
> };
> opp-1209600000 {
> opp-hz = /bits/ 64 <1209600000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <691200>;
> };
> opp-1286400000 {
> opp-hz = /bits/ 64 <1286400000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <768000>;
> };
> opp-1363200000 {
> opp-hz = /bits/ 64 <1363200000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <844800>;
> };
> opp-1440000000 {
> opp-hz = /bits/ 64 <1440000000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <902400>;
> };
> opp-1516800000 {
> opp-hz = /bits/ 64 <1516800000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <979200>;
> };
> opp-1593600000 {
> opp-hz = /bits/ 64 <1593600000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1056000>;
> };
> opp-1670400000 {
> opp-hz = /bits/ 64 <1670400000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1132800>;
> };
> opp-1747200000 {
> opp-hz = /bits/ 64 <1747200000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1190400>;
> };
> opp-1824000000 {
> opp-hz = /bits/ 64 <1824000000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1286400>;
> };
> opp-1900800000 {
> opp-hz = /bits/ 64 <1900800000>;
> opp-supported-hw = <0x70>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1363200>;
> };
> opp-1977600000 {
> opp-hz = /bits/ 64 <1977600000>;
> opp-supported-hw = <0x30>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1440000>;
> };
> opp-2054400000 {
> opp-hz = /bits/ 64 <2054400000>;
> opp-supported-hw = <0x30>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1516800>;
> };
> opp-2150400000 {
> opp-hz = /bits/ 64 <2150400000>;
> opp-supported-hw = <0x30>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1593600>;
> };
> opp-2246400000 {
> opp-hz = /bits/ 64 <2246400000>;
> opp-supported-hw = <0x10>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1593600>;
> };
> opp-2342400000 {
> opp-hz = /bits/ 64 <2342400000>;
> opp-supported-hw = <0x10>;
> clock-latency-ns = <200000>;
> + opp-peak-kBps = <1593600>;
> };
> };
> };
> @@ -289,3 +336,7 @@ opp-560000000 {
> };
> /* The rest is inherited from msm8996 */
> };
> +
> +&cbf {
> + compatible = "qcom,msm8996pro-cbf";
> +};
@@ -24,101 +24,121 @@ opp-307200000 {
opp-hz = /bits/ 64 <307200000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <192000>;
};
opp-384000000 {
opp-hz = /bits/ 64 <384000000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <192000>;
};
opp-460800000 {
opp-hz = /bits/ 64 <460800000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <192000>;
};
opp-537600000 {
opp-hz = /bits/ 64 <537600000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <192000>;
};
opp-614400000 {
opp-hz = /bits/ 64 <614400000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <192000>;
};
opp-691200000 {
opp-hz = /bits/ 64 <691200000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <307200>;
};
opp-768000000 {
opp-hz = /bits/ 64 <768000000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <307200>;
};
opp-844800000 {
opp-hz = /bits/ 64 <844800000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <384000>;
};
opp-902400000 {
opp-hz = /bits/ 64 <902400000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <441600>;
};
opp-979200000 {
opp-hz = /bits/ 64 <979200000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <537600>;
};
opp-1056000000 {
opp-hz = /bits/ 64 <1056000000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <614400>;
};
opp-1132800000 {
opp-hz = /bits/ 64 <1132800000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <691200>;
};
opp-1209600000 {
opp-hz = /bits/ 64 <1209600000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <768000>;
};
opp-1286400000 {
opp-hz = /bits/ 64 <1286400000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <844800>;
};
opp-1363200000 {
opp-hz = /bits/ 64 <1363200000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <902400>;
};
opp-1440000000 {
opp-hz = /bits/ 64 <1440000000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <979200>;
};
opp-1516800000 {
opp-hz = /bits/ 64 <1516800000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1132800>;
};
opp-1593600000 {
opp-hz = /bits/ 64 <1593600000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1190400>;
};
opp-1996800000 {
opp-hz = /bits/ 64 <1996800000>;
opp-supported-hw = <0x20>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1516800>;
};
opp-2188800000 {
opp-hz = /bits/ 64 <2188800000>;
opp-supported-hw = <0x10>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1593600>;
};
};
@@ -131,136 +151,163 @@ opp-307200000 {
opp-hz = /bits/ 64 <307200000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <192000>;
};
opp-384000000 {
opp-hz = /bits/ 64 <384000000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <192000>;
};
opp-460800000 {
opp-hz = /bits/ 64 <460800000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <192000>;
};
opp-537600000 {
opp-hz = /bits/ 64 <537600000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <192000>;
};
opp-614400000 {
opp-hz = /bits/ 64 <614400000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <192000>;
};
opp-691200000 {
opp-hz = /bits/ 64 <691200000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <307200>;
};
opp-748800000 {
opp-hz = /bits/ 64 <748800000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <307200>;
};
opp-825600000 {
opp-hz = /bits/ 64 <825600000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <384000>;
};
opp-902400000 {
opp-hz = /bits/ 64 <902400000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <441600>;
};
opp-979200000 {
opp-hz = /bits/ 64 <979200000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <441600>;
};
opp-1056000000 {
opp-hz = /bits/ 64 <1056000000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <537600>;
};
opp-1132800000 {
opp-hz = /bits/ 64 <1132800000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <614400>;
};
opp-1209600000 {
opp-hz = /bits/ 64 <1209600000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <691200>;
};
opp-1286400000 {
opp-hz = /bits/ 64 <1286400000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <768000>;
};
opp-1363200000 {
opp-hz = /bits/ 64 <1363200000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <844800>;
};
opp-1440000000 {
opp-hz = /bits/ 64 <1440000000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <902400>;
};
opp-1516800000 {
opp-hz = /bits/ 64 <1516800000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <979200>;
};
opp-1593600000 {
opp-hz = /bits/ 64 <1593600000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1056000>;
};
opp-1670400000 {
opp-hz = /bits/ 64 <1670400000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1132800>;
};
opp-1747200000 {
opp-hz = /bits/ 64 <1747200000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1190400>;
};
opp-1824000000 {
opp-hz = /bits/ 64 <1824000000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1286400>;
};
opp-1900800000 {
opp-hz = /bits/ 64 <1900800000>;
opp-supported-hw = <0x70>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1363200>;
};
opp-1977600000 {
opp-hz = /bits/ 64 <1977600000>;
opp-supported-hw = <0x30>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1440000>;
};
opp-2054400000 {
opp-hz = /bits/ 64 <2054400000>;
opp-supported-hw = <0x30>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1516800>;
};
opp-2150400000 {
opp-hz = /bits/ 64 <2150400000>;
opp-supported-hw = <0x30>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1593600>;
};
opp-2246400000 {
opp-hz = /bits/ 64 <2246400000>;
opp-supported-hw = <0x10>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1593600>;
};
opp-2342400000 {
opp-hz = /bits/ 64 <2342400000>;
opp-supported-hw = <0x10>;
clock-latency-ns = <200000>;
+ opp-peak-kBps = <1593600>;
};
};
};
@@ -289,3 +336,7 @@ opp-560000000 {
};
/* The rest is inherited from msm8996 */
};
+
+&cbf {
+ compatible = "qcom,msm8996pro-cbf";
+};