diff --git a/gpu/tuna-gpu-pwrlevels.dtsi b/gpu/tuna-gpu-pwrlevels.dtsi index 9839dafb..73ee75e0 100644 --- a/gpu/tuna-gpu-pwrlevels.dtsi +++ b/gpu/tuna-gpu-pwrlevels.dtsi @@ -1,19 +1,20 @@ // SPDX-License-Identifier: BSD-3-Clause /* - * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2024-2025, Qualcomm Innovation Center, Inc. All rights reserved. */ /* ACD Control register values */ -#define ACD_LEVEL_TURBO_L2 0xa02f5ffd -#define ACD_LEVEL_TURBO_L1 0xa8285ffd -#define ACD_LEVEL_TURBO 0x88295ffd -#define ACD_LEVEL_NOM_L1 0xa8295ffd -#define ACD_LEVEL_NOM 0x882a5ffd -#define ACD_LEVEL_SVS_L2 0x882a5ffd -#define ACD_LEVEL_SVS_L1 0xa82a5ffd -#define ACD_LEVEL_SVS 0xa82c5ffd -#define ACD_LEVEL_LOW_SVS 0xc02c5ffd -#define ACD_LEVEL_LOW_SVS_D1 0xc02c5ffd +#define ACD_LEVEL_TURBO_L2 0xa8285ffd +#define ACD_LEVEL_TURBO_L1 0x88295ffd +#define ACD_LEVEL_TURBO_L0 0x882a5ffd +#define ACD_LEVEL_TURBO 0x882a5ffd +#define ACD_LEVEL_NOM_L1 0xa82a5ffd +#define ACD_LEVEL_NOM 0x882b5ffd +#define ACD_LEVEL_SVS_L2 0x882b5ffd +#define ACD_LEVEL_SVS_L1 0xa82b5ffd +#define ACD_LEVEL_SVS 0xc02c5ffd +#define ACD_LEVEL_LOW_SVS 0xc8295ffd +#define ACD_LEVEL_LOW_SVS_D1 0xc8295ffd &msm_gpu { /* Power levels */ @@ -31,7 +32,7 @@ #address-cells = <1>; #size-cells = <0>; - qcom,initial-pwrlevel = <9>; + qcom,initial-pwrlevel = <10>; qcom,speed-bin = <0>; /* Turbo_L2 */ @@ -50,7 +51,7 @@ /* Turbo_L1 */ qcom,gpu-pwrlevel@1 { reg = <1>; - qcom,gpu-freq = <1050000000>; + qcom,gpu-freq = <1100000000>; qcom,level = ; qcom,bus-freq = <11>; @@ -60,35 +61,48 @@ qcom,acd-level = ; }; - /* Turbo */ + /* Turbo_L0 */ qcom,gpu-pwrlevel@2 { reg = <2>; + qcom,gpu-freq = <1050000000>; + qcom,level = ; + + qcom,bus-freq = <11>; + qcom,bus-min = <11>; + qcom,bus-max = <11>; + + qcom,acd-level = ; + }; + + /* Turbo */ + qcom,gpu-pwrlevel@3 { + reg = <3>; qcom,gpu-freq = <937000000>; qcom,level = ; qcom,bus-freq = <10>; qcom,bus-min = <9>; - qcom,bus-max = <10>; + qcom,bus-max = <11>; qcom,acd-level = ; }; /* Nom_L1 */ - qcom,gpu-pwrlevel@3 { - reg = <3>; + qcom,gpu-pwrlevel@4 { + reg = <4>; qcom,gpu-freq = <873000000>; qcom,level = ; - qcom,bus-freq = <9>; + qcom,bus-freq = <10>; qcom,bus-min = <7>; - qcom,bus-max = <9>; + qcom,bus-max = <11>; qcom,acd-level = ; }; /* Nom */ - qcom,gpu-pwrlevel@4 { - reg = <4>; + qcom,gpu-pwrlevel@5 { + reg = <5>; qcom,gpu-freq = <763000000>; qcom,level = ; @@ -100,8 +114,8 @@ }; /* SVS_L2 */ - qcom,gpu-pwrlevel@5 { - reg = <5>; + qcom,gpu-pwrlevel@6 { + reg = <6>; qcom,gpu-freq = <688000000>; qcom,level = ; @@ -113,8 +127,8 @@ }; /* SVS_L1 */ - qcom,gpu-pwrlevel@6 { - reg = <6>; + qcom,gpu-pwrlevel@7 { + reg = <7>; qcom,gpu-freq = <644000000>; qcom,level = ; @@ -126,12 +140,12 @@ }; /* SVS */ - qcom,gpu-pwrlevel@7 { - reg = <7>; + qcom,gpu-pwrlevel@8 { + reg = <8>; qcom,gpu-freq = <510000000>; qcom,level = ; - qcom,bus-freq = <4>; + qcom,bus-freq = <6>; qcom,bus-min = <2>; qcom,bus-max = <6>; @@ -139,8 +153,8 @@ }; /* Low_SVS */ - qcom,gpu-pwrlevel@8 { - reg = <8>; + qcom,gpu-pwrlevel@9 { + reg = <9>; qcom,gpu-freq = <362000000>; qcom,level = ; @@ -152,8 +166,8 @@ }; /* Low_SVS_D1 */ - qcom,gpu-pwrlevel@9 { - reg = <9>; + qcom,gpu-pwrlevel@10 { + reg = <10>; qcom,gpu-freq = <264000000>; qcom,level = ; @@ -193,7 +207,7 @@ qcom,bus-freq = <10>; qcom,bus-min = <9>; - qcom,bus-max = <10>; + qcom,bus-max = <11>; qcom,acd-level = ; }; @@ -204,9 +218,9 @@ qcom,gpu-freq = <873000000>; qcom,level = ; - qcom,bus-freq = <9>; + qcom,bus-freq = <10>; qcom,bus-min = <7>; - qcom,bus-max = <9>; + qcom,bus-max = <11>; qcom,acd-level = ; }; @@ -255,7 +269,7 @@ qcom,gpu-freq = <510000000>; qcom,level = ; - qcom,bus-freq = <4>; + qcom,bus-freq = <6>; qcom,bus-min = <2>; qcom,bus-max = <6>; @@ -293,7 +307,7 @@ #address-cells = <1>; #size-cells = <0>; - qcom,initial-pwrlevel = <9>; + qcom,initial-pwrlevel = <10>; qcom,speed-bin = <0xf2>; /* Turbo_L2 */ @@ -312,7 +326,7 @@ /* Turbo_L1 */ qcom,gpu-pwrlevel@1 { reg = <1>; - qcom,gpu-freq = <1050000000>; + qcom,gpu-freq = <1100000000>; qcom,level = ; qcom,bus-freq = <11>; @@ -322,35 +336,48 @@ qcom,acd-level = ; }; - /* Turbo */ + /* Turbo_L0 */ qcom,gpu-pwrlevel@2 { reg = <2>; + qcom,gpu-freq = <1050000000>; + qcom,level = ; + + qcom,bus-freq = <11>; + qcom,bus-min = <11>; + qcom,bus-max = <11>; + + qcom,acd-level = ; + }; + + /* Turbo */ + qcom,gpu-pwrlevel@3 { + reg = <3>; qcom,gpu-freq = <937000000>; qcom,level = ; qcom,bus-freq = <10>; qcom,bus-min = <9>; - qcom,bus-max = <10>; + qcom,bus-max = <11>; qcom,acd-level = ; }; /* Nom_L1 */ - qcom,gpu-pwrlevel@3 { - reg = <3>; + qcom,gpu-pwrlevel@4 { + reg = <4>; qcom,gpu-freq = <873000000>; qcom,level = ; - qcom,bus-freq = <9>; + qcom,bus-freq = <10>; qcom,bus-min = <7>; - qcom,bus-max = <9>; + qcom,bus-max = <11>; qcom,acd-level = ; }; /* Nom */ - qcom,gpu-pwrlevel@4 { - reg = <4>; + qcom,gpu-pwrlevel@5 { + reg = <5>; qcom,gpu-freq = <763000000>; qcom,level = ; @@ -362,8 +389,8 @@ }; /* SVS_L2 */ - qcom,gpu-pwrlevel@5 { - reg = <5>; + qcom,gpu-pwrlevel@6 { + reg = <6>; qcom,gpu-freq = <688000000>; qcom,level = ; @@ -375,8 +402,8 @@ }; /* SVS_L1 */ - qcom,gpu-pwrlevel@6 { - reg = <6>; + qcom,gpu-pwrlevel@7 { + reg = <7>; qcom,gpu-freq = <644000000>; qcom,level = ; @@ -388,12 +415,12 @@ }; /* SVS */ - qcom,gpu-pwrlevel@7 { - reg = <7>; + qcom,gpu-pwrlevel@8 { + reg = <8>; qcom,gpu-freq = <510000000>; qcom,level = ; - qcom,bus-freq = <4>; + qcom,bus-freq = <6>; qcom,bus-min = <2>; qcom,bus-max = <6>; @@ -401,8 +428,8 @@ }; /* Low_SVS */ - qcom,gpu-pwrlevel@8 { - reg = <8>; + qcom,gpu-pwrlevel@9 { + reg = <9>; qcom,gpu-freq = <362000000>; qcom,level = ; @@ -414,8 +441,8 @@ }; /* Low_SVS_D1 */ - qcom,gpu-pwrlevel@9 { - reg = <9>; + qcom,gpu-pwrlevel@10 { + reg = <10>; qcom,gpu-freq = <264000000>; qcom,level = ;