// SPDX-License-Identifier: BSD-3-Clause /* * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. */ /* ACD Control register values */ #define ACD_LEVEL_TURBO_L1 0x882f5ffd #define ACD_LEVEL_TURBO 0x882f5ffd #define ACD_LEVEL_NOM_L1 0x882f5ffd #define ACD_LEVEL_NOM 0xc0285ffd #define ACD_LEVEL_SVS_L2 0xe0295ffd #define ACD_LEVEL_SVS_L1 0xe0295ffd #define ACD_LEVEL_SVS_L0 0xc02a5ffd #define ACD_LEVEL_SVS 0xc02a5ffd #define ACD_LEVEL_LOW_SVS_L1 0xc02c5ffd #define ACD_LEVEL_LOW_SVS 0xc02f5ffd #define ACD_LEVEL_LOW_SVS_D0 0xc02f5ffd &msm_gpu { /* Power levels */ qcom,gpu-pwrlevel-bins { #address-cells = <1>; #size-cells = <0>; compatible = "qcom,gpu-pwrlevels-bins"; qcom,gpu-pwrlevels-0 { #address-cells = <1>; #size-cells = <0>; qcom,sku-codes = ; qcom,speed-bin = <2>; qcom,initial-pwrlevel = <12>; /* Turbo_L1 */ qcom,gpu-pwrlevel@0 { reg = <0>; qcom,gpu-freq = <903000000>; qcom,level = ; qcom,bus-freq = <9>; qcom,bus-min = <9>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* Turbo */ qcom,gpu-pwrlevel@1 { reg = <1>; qcom,gpu-freq = <869000000>; qcom,level = ; qcom,bus-freq = <8>; qcom,bus-min = <8>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* Nom_L1 */ qcom,gpu-pwrlevel@2 { reg = <2>; qcom,gpu-freq = <834000000>; qcom,level = ; qcom,bus-freq = <8>; qcom,bus-min = <7>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* Nom */ qcom,gpu-pwrlevel@3 { reg = <3>; qcom,gpu-freq = <770000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <6>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L2 */ qcom,gpu-pwrlevel@4 { reg = <4>; qcom,gpu-freq = <720000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <6>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L1 */ qcom,gpu-pwrlevel@5 { reg = <5>; qcom,gpu-freq = <680000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <5>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L0 */ qcom,gpu-pwrlevel@6 { reg = <6>; qcom,gpu-freq = <629000000>; qcom,level = ; qcom,bus-freq = <6>; qcom,bus-min = <4>; qcom,bus-max = <7>; qcom,acd-level = ; }; /* SVS */ qcom,gpu-pwrlevel@7 { reg = <7>; qcom,gpu-freq = <578000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <4>; qcom,bus-max = <7>; qcom,acd-level = ; }; /* Low_SVS_L1 */ qcom,gpu-pwrlevel@8 { reg = <8>; qcom,gpu-freq = <500000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <3>; qcom,bus-max = <7>; qcom,acd-level = ; }; /* Low_SVS */ qcom,gpu-pwrlevel@9 { reg = <9>; qcom,gpu-freq = <422000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <3>; qcom,bus-max = <7>; qcom,acd-level = ; }; /* Low_SVS_D0 */ qcom,gpu-pwrlevel@10 { reg = <10>; qcom,gpu-freq = <366000000>; qcom,level = ; qcom,bus-freq = <3>; qcom,bus-min = <2>; qcom,bus-max = <5>; qcom,acd-level = ; }; /* Low_SVS_D1 */ qcom,gpu-pwrlevel@11 { reg = <11>; qcom,gpu-freq = <310000000>; qcom,level = ; qcom,bus-freq = <1>; qcom,bus-min = <1>; qcom,bus-max = <4>; }; /* Low_SVS_D2 */ qcom,gpu-pwrlevel@12 { reg = <12>; qcom,gpu-freq = <231000000>; qcom,level = ; qcom,bus-freq = <1>; qcom,bus-min = <1>; qcom,bus-max = <3>; }; }; qcom,gpu-pwrlevels-1 { #address-cells = <1>; #size-cells = <0>; qcom,sku-codes = ; qcom,initial-pwrlevel = <11>; /* Turbo */ qcom,gpu-pwrlevel@0 { reg = <0>; qcom,gpu-freq = <869000000>; qcom,level = ; qcom,bus-freq = <9>; qcom,bus-min = <9>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* Nom_L1 */ qcom,gpu-pwrlevel@1 { reg = <1>; qcom,gpu-freq = <834000000>; qcom,level = ; qcom,bus-freq = <8>; qcom,bus-min = <7>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* Nom */ qcom,gpu-pwrlevel@2 { reg = <2>; qcom,gpu-freq = <770000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <6>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L2 */ qcom,gpu-pwrlevel@3 { reg = <3>; qcom,gpu-freq = <720000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <6>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L1 */ qcom,gpu-pwrlevel@4 { reg = <4>; qcom,gpu-freq = <680000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <5>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L0 */ qcom,gpu-pwrlevel@5 { reg = <5>; qcom,gpu-freq = <629000000>; qcom,level = ; qcom,bus-freq = <6>; qcom,bus-min = <3>; qcom,bus-max = <7>; qcom,acd-level = ; }; /* SVS */ qcom,gpu-pwrlevel@6 { reg = <6>; qcom,gpu-freq = <578000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <2>; qcom,bus-max = <7>; qcom,acd-level = ; }; /* Low_SVS_L1 */ qcom,gpu-pwrlevel@7 { reg = <7>; qcom,gpu-freq = <500000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <1>; qcom,bus-max = <5>; qcom,acd-level = ; }; /* Low_SVS */ qcom,gpu-pwrlevel@8 { reg = <8>; qcom,gpu-freq = <422000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <1>; qcom,bus-max = <5>; qcom,acd-level = ; }; /* Low_SVS_D0 */ qcom,gpu-pwrlevel@9 { reg = <9>; qcom,gpu-freq = <366000000>; qcom,level = ; qcom,bus-freq = <3>; qcom,bus-min = <1>; qcom,bus-max = <3>; qcom,acd-level = ; }; /* Low_SVS_D1 */ qcom,gpu-pwrlevel@10 { reg = <10>; qcom,gpu-freq = <310000000>; qcom,level = ; qcom,bus-freq = <1>; qcom,bus-min = <1>; qcom,bus-max = <3>; }; /* Low_SVS_D2 */ qcom,gpu-pwrlevel@11 { reg = <11>; qcom,gpu-freq = <231000000>; qcom,level = ; qcom,bus-freq = <1>; qcom,bus-min = <1>; qcom,bus-max = <3>; }; }; qcom,gpu-pwrlevels-2 { #address-cells = <1>; #size-cells = <0>; qcom,sku-codes = ; qcom,initial-pwrlevel = <12>; /* Turbo_L1 */ qcom,gpu-pwrlevel@0 { reg = <0>; qcom,gpu-freq = <903000000>; qcom,level = ; qcom,bus-freq = <9>; qcom,bus-min = <9>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* Turbo */ qcom,gpu-pwrlevel@1 { reg = <1>; qcom,gpu-freq = <869000000>; qcom,level = ; qcom,bus-freq = <8>; qcom,bus-min = <8>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* Nom_L1 */ qcom,gpu-pwrlevel@2 { reg = <2>; qcom,gpu-freq = <834000000>; qcom,level = ; qcom,bus-freq = <8>; qcom,bus-min = <7>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* Nom */ qcom,gpu-pwrlevel@3 { reg = <3>; qcom,gpu-freq = <770000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <6>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L2 */ qcom,gpu-pwrlevel@4 { reg = <4>; qcom,gpu-freq = <720000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <6>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L1 */ qcom,gpu-pwrlevel@5 { reg = <5>; qcom,gpu-freq = <680000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <5>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L0 */ qcom,gpu-pwrlevel@6 { reg = <6>; qcom,gpu-freq = <629000000>; qcom,level = ; qcom,bus-freq = <6>; qcom,bus-min = <3>; qcom,bus-max = <7>; qcom,acd-level = ; }; /* SVS */ qcom,gpu-pwrlevel@7 { reg = <7>; qcom,gpu-freq = <578000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <2>; qcom,bus-max = <7>; qcom,acd-level = ; }; /* Low_SVS_L1 */ qcom,gpu-pwrlevel@8 { reg = <8>; qcom,gpu-freq = <500000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <1>; qcom,bus-max = <5>; qcom,acd-level = ; }; /* Low_SVS */ qcom,gpu-pwrlevel@9 { reg = <9>; qcom,gpu-freq = <422000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <1>; qcom,bus-max = <5>; qcom,acd-level = ; }; /* Low_SVS_D0 */ qcom,gpu-pwrlevel@10 { reg = <10>; qcom,gpu-freq = <366000000>; qcom,level = ; qcom,bus-freq = <3>; qcom,bus-min = <1>; qcom,bus-max = <3>; qcom,acd-level = ; }; /* Low_SVS_D1 */ qcom,gpu-pwrlevel@11 { reg = <11>; qcom,gpu-freq = <310000000>; qcom,level = ; qcom,bus-freq = <1>; qcom,bus-min = <1>; qcom,bus-max = <3>; }; /* Low_SVS_D2 */ qcom,gpu-pwrlevel@12 { reg = <12>; qcom,gpu-freq = <231000000>; qcom,level = ; qcom,bus-freq = <1>; qcom,bus-min = <1>; qcom,bus-max = <3>; }; }; qcom,gpu-pwrlevels-3 { #address-cells = <1>; #size-cells = <0>; qcom,sku-codes = ; qcom,initial-pwrlevel = <10>; /* Nom_L1 */ qcom,gpu-pwrlevel@0 { reg = <0>; qcom,gpu-freq = <834000000>; qcom,level = ; qcom,bus-freq = <9>; qcom,bus-min = <9>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* Nom */ qcom,gpu-pwrlevel@1 { reg = <1>; qcom,gpu-freq = <770000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <6>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L2 */ qcom,gpu-pwrlevel@2 { reg = <2>; qcom,gpu-freq = <720000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <6>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L1 */ qcom,gpu-pwrlevel@3 { reg = <3>; qcom,gpu-freq = <680000000>; qcom,level = ; qcom,bus-freq = <7>; qcom,bus-min = <5>; qcom,bus-max = <9>; qcom,acd-level = ; }; /* SVS_L0 */ qcom,gpu-pwrlevel@4 { reg = <4>; qcom,gpu-freq = <629000000>; qcom,level = ; qcom,bus-freq = <6>; qcom,bus-min = <3>; qcom,bus-max = <7>; qcom,acd-level = ; }; /* SVS */ qcom,gpu-pwrlevel@5 { reg = <5>; qcom,gpu-freq = <578000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <2>; qcom,bus-max = <7>; qcom,acd-level = ; }; /* Low_SVS_L1 */ qcom,gpu-pwrlevel@6 { reg = <6>; qcom,gpu-freq = <500000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <1>; qcom,bus-max = <5>; qcom,acd-level = ; }; /* Low_SVS */ qcom,gpu-pwrlevel@7 { reg = <7>; qcom,gpu-freq = <422000000>; qcom,level = ; qcom,bus-freq = <5>; qcom,bus-min = <1>; qcom,bus-max = <5>; qcom,acd-level = ; }; /* Low_SVS_D0 */ qcom,gpu-pwrlevel@8 { reg = <8>; qcom,gpu-freq = <366000000>; qcom,level = ; qcom,bus-freq = <3>; qcom,bus-min = <1>; qcom,bus-max = <3>; qcom,acd-level = ; }; /* Low_SVS_D1 */ qcom,gpu-pwrlevel@9 { reg = <9>; qcom,gpu-freq = <310000000>; qcom,level = ; qcom,bus-freq = <1>; qcom,bus-min = <1>; qcom,bus-max = <3>; }; /* Low_SVS_D2 */ qcom,gpu-pwrlevel@10 { reg = <10>; qcom,gpu-freq = <231000000>; qcom,level = ; qcom,bus-freq = <1>; qcom,bus-min = <1>; qcom,bus-max = <3>; }; }; }; };