[PATCH 2/5] arm64: dts: qcom: msm8996: Add Venus OPP table

Konrad Dybcio posted 5 patches 8 months, 2 weeks ago
[PATCH 2/5] arm64: dts: qcom: msm8996: Add Venus OPP table
Posted by Konrad Dybcio 8 months, 2 weeks ago
From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Describe the DVFS levels explicitly.

Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/msm8996.dtsi | 39 ++++++++++++++++++++++++++++-------
 1 file changed, 31 insertions(+), 8 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index ede851fbf628428f5740ca8add65ffc05360cc62..7bb34e60739b2e561ff5fd9e19a6e617fb601a60 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -491,27 +491,25 @@ rpmpd: power-controller {
 					rpmpd_opp_table: opp-table {
 						compatible = "operating-points-v2";
 
-						rpmpd_opp1: opp1 {
+						rpmpd_opp_ret: opp1 {
 							opp-level = <1>;
 						};
 
-						rpmpd_opp2: opp2 {
-							opp-level = <2>;
-						};
+						/* No SVS_KRAIT/SVS_LOW */
 
-						rpmpd_opp3: opp3 {
+						rpmpd_opp_svs_soc: opp3 {
 							opp-level = <3>;
 						};
 
-						rpmpd_opp4: opp4 {
+						rpmpd_opp_nom: opp4 {
 							opp-level = <4>;
 						};
 
-						rpmpd_opp5: opp5 {
+						rpmpd_opp_turbo: opp5 {
 							opp-level = <5>;
 						};
 
-						rpmpd_opp6: opp6 {
+						rpmpd_opp_super_turbo: opp6 {
 							opp-level = <6>;
 						};
 					};
@@ -2333,6 +2331,7 @@ venus: video-codec@c00000 {
 			reg = <0x00c00000 0xff000>;
 			interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
 			power-domains = <&mmcc VENUS_GDSC>;
+			operating-points-v2 = <&venus_opp_table>;
 			clocks = <&mmcc VIDEO_CORE_CLK>,
 				 <&mmcc VIDEO_AHB_CLK>,
 				 <&mmcc VIDEO_AXI_CLK>,
@@ -2364,6 +2363,30 @@ venus: video-codec@c00000 {
 			memory-region = <&venus_mem>;
 			status = "disabled";
 
+			venus_opp_table: opp-table {
+				compatible = "operating-points-v2";
+
+				opp-75000000 {
+					opp-hz = /bits/ 64 <75000000>;
+					required-opps = <&rpmpd_opp_svs_soc>;
+				};
+
+				opp-150000000 {
+					opp-hz = /bits/ 64 <150000000>;
+					required-opps = <&rpmpd_opp_svs_soc>;
+				};
+
+				opp-346666667 {
+					opp-hz = /bits/ 64 <346666667>;
+					required-opps = <&rpmpd_opp_nom>;
+				};
+
+				opp-520000000 {
+					opp-hz = /bits/ 64 <520000000>;
+					required-opps = <&rpmpd_opp_turbo>;
+				};
+			};
+
 			video-decoder {
 				compatible = "venus-decoder";
 				clocks = <&mmcc VIDEO_SUBCORE0_CLK>;

-- 
2.49.0
Re: [PATCH 2/5] arm64: dts: qcom: msm8996: Add Venus OPP table
Posted by Dmitry Baryshkov 8 months, 2 weeks ago
On Sat, May 31, 2025 at 02:27:20PM +0200, Konrad Dybcio wrote:
> From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> 
> Describe the DVFS levels explicitly.
> 
> Signed-off-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> ---
>  arch/arm64/boot/dts/qcom/msm8996.dtsi | 39 ++++++++++++++++++++++++++++-------
>  1 file changed, 31 insertions(+), 8 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> index ede851fbf628428f5740ca8add65ffc05360cc62..7bb34e60739b2e561ff5fd9e19a6e617fb601a60 100644
> --- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
> @@ -491,27 +491,25 @@ rpmpd: power-controller {
>  					rpmpd_opp_table: opp-table {
>  						compatible = "operating-points-v2";
>  
> -						rpmpd_opp1: opp1 {
> +						rpmpd_opp_ret: opp1 {
>  							opp-level = <1>;
>  						};
>  
> -						rpmpd_opp2: opp2 {
> -							opp-level = <2>;
> -						};
> +						/* No SVS_KRAIT/SVS_LOW */
>  
> -						rpmpd_opp3: opp3 {
> +						rpmpd_opp_svs_soc: opp3 {
>  							opp-level = <3>;
>  						};
>  
> -						rpmpd_opp4: opp4 {
> +						rpmpd_opp_nom: opp4 {
>  							opp-level = <4>;
>  						};
>  
> -						rpmpd_opp5: opp5 {
> +						rpmpd_opp_turbo: opp5 {
>  							opp-level = <5>;
>  						};
>  
> -						rpmpd_opp6: opp6 {
> +						rpmpd_opp_super_turbo: opp6 {

These renames deserve a phrase in the commit message. With that fixed:


Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>


>  							opp-level = <6>;
>  						};
>  					};
> @@ -2333,6 +2331,7 @@ venus: video-codec@c00000 {
>  			reg = <0x00c00000 0xff000>;
>  			interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
>  			power-domains = <&mmcc VENUS_GDSC>;
> +			operating-points-v2 = <&venus_opp_table>;
>  			clocks = <&mmcc VIDEO_CORE_CLK>,
>  				 <&mmcc VIDEO_AHB_CLK>,
>  				 <&mmcc VIDEO_AXI_CLK>,
> @@ -2364,6 +2363,30 @@ venus: video-codec@c00000 {
>  			memory-region = <&venus_mem>;
>  			status = "disabled";
>  
> +			venus_opp_table: opp-table {
> +				compatible = "operating-points-v2";
> +
> +				opp-75000000 {
> +					opp-hz = /bits/ 64 <75000000>;
> +					required-opps = <&rpmpd_opp_svs_soc>;
> +				};
> +
> +				opp-150000000 {
> +					opp-hz = /bits/ 64 <150000000>;
> +					required-opps = <&rpmpd_opp_svs_soc>;
> +				};
> +
> +				opp-346666667 {
> +					opp-hz = /bits/ 64 <346666667>;
> +					required-opps = <&rpmpd_opp_nom>;
> +				};
> +
> +				opp-520000000 {
> +					opp-hz = /bits/ 64 <520000000>;
> +					required-opps = <&rpmpd_opp_turbo>;
> +				};
> +			};
> +
>  			video-decoder {
>  				compatible = "venus-decoder";
>  				clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
> 
> -- 
> 2.49.0
> 

-- 
With best wishes
Dmitry