97 lines
2.8 KiB
YAML
97 lines
2.8 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/opp/opp-v2-qcom-adreno.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm Adreno compatible OPP supply
|
|
|
|
description:
|
|
Adreno GPUs present in Qualcomm's Snapdragon chipsets uses an OPP specific
|
|
ACD related information tailored for the specific chipset. This binding
|
|
provides the information needed to describe such a hardware value.
|
|
|
|
maintainers:
|
|
- Rob Clark <robdclark@gmail.com>
|
|
|
|
allOf:
|
|
- $ref: opp-v2-base.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: operating-points-v2-adreno
|
|
|
|
patternProperties:
|
|
'^opp(-[0-9]+){1,2}$':
|
|
type: object
|
|
additionalProperties: false
|
|
|
|
properties:
|
|
opp-hz: true
|
|
|
|
opp-level: true
|
|
|
|
opp-peak-kBps: true
|
|
|
|
opp-supported-hw: true
|
|
|
|
qcom,opp-acd-level:
|
|
description: |
|
|
A positive value representing the ACD (Adaptive Clock Distribution,
|
|
a fancy name for clk throttling during voltage droop) level associated
|
|
with this OPP node. This value is shared to a co-processor inside GPU
|
|
(called Graphics Management Unit a.k.a GMU) during wake up. It may not
|
|
be present for some OPPs and GMU will disable ACD while transitioning
|
|
to that OPP. This value encodes a voltage threshold, delay cycles &
|
|
calibration margins which are identified by characterization of the
|
|
SoC. So, it doesn't have any unit. This data is passed to GMU firmware
|
|
via 'HFI_H2F_MSG_ACD' packet.
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
|
|
required:
|
|
- opp-hz
|
|
- opp-level
|
|
|
|
required:
|
|
- compatible
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/power/qcom-rpmpd.h>
|
|
|
|
gpu_opp_table: opp-table {
|
|
compatible = "operating-points-v2-adreno", "operating-points-v2";
|
|
|
|
opp-687000000 {
|
|
opp-hz = /bits/ 64 <687000000>;
|
|
opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
|
|
opp-peak-kBps = <8171875>;
|
|
qcom,opp-acd-level = <0x882e5ffd>;
|
|
};
|
|
|
|
opp-550000000 {
|
|
opp-hz = /bits/ 64 <550000000>;
|
|
opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
|
|
opp-peak-kBps = <6074219>;
|
|
qcom,opp-acd-level = <0xc0285ffd>;
|
|
};
|
|
|
|
opp-390000000 {
|
|
opp-hz = /bits/ 64 <390000000>;
|
|
opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
|
|
opp-peak-kBps = <3000000>;
|
|
qcom,opp-acd-level = <0xc0285ffd>;
|
|
};
|
|
|
|
opp-300000000 {
|
|
opp-hz = /bits/ 64 <300000000>;
|
|
opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_D1>;
|
|
opp-peak-kBps = <2136719>;
|
|
/* Intentionally left out qcom,opp-acd-level property here */
|
|
};
|
|
|
|
};
|