1ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2ae5de77eSEmmanuel Vadot%YAML 1.2 3ae5de77eSEmmanuel Vadot--- 4ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/opp/opp-v2-qcom-adreno.yaml# 5ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6ae5de77eSEmmanuel Vadot 7ae5de77eSEmmanuel Vadottitle: Qualcomm Adreno compatible OPP supply 8ae5de77eSEmmanuel Vadot 9ae5de77eSEmmanuel Vadotdescription: 10ae5de77eSEmmanuel Vadot Adreno GPUs present in Qualcomm's Snapdragon chipsets uses an OPP specific 11ae5de77eSEmmanuel Vadot ACD related information tailored for the specific chipset. This binding 12ae5de77eSEmmanuel Vadot provides the information needed to describe such a hardware value. 13ae5de77eSEmmanuel Vadot 14ae5de77eSEmmanuel Vadotmaintainers: 15ae5de77eSEmmanuel Vadot - Rob Clark <robdclark@gmail.com> 16ae5de77eSEmmanuel Vadot 17ae5de77eSEmmanuel VadotallOf: 18ae5de77eSEmmanuel Vadot - $ref: opp-v2-base.yaml# 19ae5de77eSEmmanuel Vadot 20ae5de77eSEmmanuel Vadotproperties: 21ae5de77eSEmmanuel Vadot compatible: 22ae5de77eSEmmanuel Vadot contains: 23ae5de77eSEmmanuel Vadot const: operating-points-v2-adreno 24ae5de77eSEmmanuel Vadot 25ae5de77eSEmmanuel VadotpatternProperties: 26*833e5d42SEmmanuel Vadot '^opp(-[0-9]+){1,2}$': 27ae5de77eSEmmanuel Vadot type: object 28ae5de77eSEmmanuel Vadot additionalProperties: false 29ae5de77eSEmmanuel Vadot 30ae5de77eSEmmanuel Vadot properties: 31ae5de77eSEmmanuel Vadot opp-hz: true 32ae5de77eSEmmanuel Vadot 33ae5de77eSEmmanuel Vadot opp-level: true 34ae5de77eSEmmanuel Vadot 35ae5de77eSEmmanuel Vadot opp-peak-kBps: true 36ae5de77eSEmmanuel Vadot 37ae5de77eSEmmanuel Vadot opp-supported-hw: true 38ae5de77eSEmmanuel Vadot 39ae5de77eSEmmanuel Vadot qcom,opp-acd-level: 40ae5de77eSEmmanuel Vadot description: | 41ae5de77eSEmmanuel Vadot A positive value representing the ACD (Adaptive Clock Distribution, 42ae5de77eSEmmanuel Vadot a fancy name for clk throttling during voltage droop) level associated 43ae5de77eSEmmanuel Vadot with this OPP node. This value is shared to a co-processor inside GPU 44ae5de77eSEmmanuel Vadot (called Graphics Management Unit a.k.a GMU) during wake up. It may not 45ae5de77eSEmmanuel Vadot be present for some OPPs and GMU will disable ACD while transitioning 46ae5de77eSEmmanuel Vadot to that OPP. This value encodes a voltage threshold, delay cycles & 47ae5de77eSEmmanuel Vadot calibration margins which are identified by characterization of the 48ae5de77eSEmmanuel Vadot SoC. So, it doesn't have any unit. This data is passed to GMU firmware 49ae5de77eSEmmanuel Vadot via 'HFI_H2F_MSG_ACD' packet. 50ae5de77eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 51ae5de77eSEmmanuel Vadot 52ae5de77eSEmmanuel Vadot required: 53ae5de77eSEmmanuel Vadot - opp-hz 54ae5de77eSEmmanuel Vadot - opp-level 55ae5de77eSEmmanuel Vadot 56ae5de77eSEmmanuel Vadotrequired: 57ae5de77eSEmmanuel Vadot - compatible 58ae5de77eSEmmanuel Vadot 59ae5de77eSEmmanuel VadotadditionalProperties: false 60ae5de77eSEmmanuel Vadot 61ae5de77eSEmmanuel Vadotexamples: 62ae5de77eSEmmanuel Vadot - | 63ae5de77eSEmmanuel Vadot #include <dt-bindings/power/qcom-rpmpd.h> 64ae5de77eSEmmanuel Vadot 65ae5de77eSEmmanuel Vadot gpu_opp_table: opp-table { 66ae5de77eSEmmanuel Vadot compatible = "operating-points-v2-adreno", "operating-points-v2"; 67ae5de77eSEmmanuel Vadot 68ae5de77eSEmmanuel Vadot opp-687000000 { 69ae5de77eSEmmanuel Vadot opp-hz = /bits/ 64 <687000000>; 70ae5de77eSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; 71ae5de77eSEmmanuel Vadot opp-peak-kBps = <8171875>; 72ae5de77eSEmmanuel Vadot qcom,opp-acd-level = <0x882e5ffd>; 73ae5de77eSEmmanuel Vadot }; 74ae5de77eSEmmanuel Vadot 75ae5de77eSEmmanuel Vadot opp-550000000 { 76ae5de77eSEmmanuel Vadot opp-hz = /bits/ 64 <550000000>; 77ae5de77eSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_SVS>; 78ae5de77eSEmmanuel Vadot opp-peak-kBps = <6074219>; 79ae5de77eSEmmanuel Vadot qcom,opp-acd-level = <0xc0285ffd>; 80ae5de77eSEmmanuel Vadot }; 81ae5de77eSEmmanuel Vadot 82ae5de77eSEmmanuel Vadot opp-390000000 { 83ae5de77eSEmmanuel Vadot opp-hz = /bits/ 64 <390000000>; 84ae5de77eSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; 85ae5de77eSEmmanuel Vadot opp-peak-kBps = <3000000>; 86ae5de77eSEmmanuel Vadot qcom,opp-acd-level = <0xc0285ffd>; 87ae5de77eSEmmanuel Vadot }; 88ae5de77eSEmmanuel Vadot 89ae5de77eSEmmanuel Vadot opp-300000000 { 90ae5de77eSEmmanuel Vadot opp-hz = /bits/ 64 <300000000>; 91ae5de77eSEmmanuel Vadot opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>; 92ae5de77eSEmmanuel Vadot opp-peak-kBps = <2136719>; 93ae5de77eSEmmanuel Vadot /* Intentionally left out qcom,opp-acd-level property here */ 94ae5de77eSEmmanuel Vadot }; 95ae5de77eSEmmanuel Vadot 96ae5de77eSEmmanuel Vadot }; 97