diff mbox series

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

Message ID 20250531-topic-venus_opp_arm64-v1-2-54c6c417839f@oss.qualcomm.com
State New
Headers show
Series Add missing OPP tables for Venus on qcom/arm64 | expand

Commit Message

Konrad Dybcio May 31, 2025, 12:27 p.m. UTC
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 mbox series

Patch

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>;