66 lines
2.1 KiB
YAML
66 lines
2.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/interconnect/qcom,bcm-voter.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm BCM-Voter Interconnect
|
|
|
|
maintainers:
|
|
- Georgi Djakov <georgi.djakov@linaro.org>
|
|
|
|
description: |
|
|
The Bus Clock Manager (BCM) is a dedicated hardware accelerator that manages
|
|
shared system resources by aggregating requests from multiple Resource State
|
|
Coordinators (RSC). Interconnect providers are able to vote for aggregated
|
|
thresholds values from consumers by communicating through their respective
|
|
RSCs.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- qcom,bcm-voter
|
|
|
|
qcom,tcs-wait:
|
|
description: |
|
|
Optional mask of which TCSs (Triggered Command Sets) wait for completion
|
|
upon triggering. If not specified, then the AMC and WAKE sets wait for
|
|
completion. The mask bits are available in the QCOM_ICC_TAG_* defines.
|
|
|
|
The AMC TCS is triggered immediately when icc_set_bw() is called. The
|
|
WAKE/SLEEP TCSs are triggered when the RSC transitions between active and
|
|
sleep modes.
|
|
|
|
In most cases, it's necessary to wait in both the AMC and WAKE sets to
|
|
ensure resources are available before use. If a specific RSC and its use
|
|
cases can ensure sufficient delay by other means, then this can be
|
|
overridden to reduce latencies.
|
|
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
|
|
required:
|
|
- compatible
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
# Example 1: apps bcm_voter on SDM845 SoC should be defined inside &apps_rsc node
|
|
# as defined in Documentation/devicetree/bindings/soc/qcom/qcom,rpmh-rsc.yaml
|
|
- |
|
|
|
|
apps_bcm_voter: bcm-voter {
|
|
compatible = "qcom,bcm-voter";
|
|
};
|
|
|
|
# Example 2: disp bcm_voter on SDM845 should be defined inside &disp_rsc node
|
|
# as defined in Documentation/devicetree/bindings/soc/qcom/qcom,rpmh-rsc.yaml
|
|
- |
|
|
|
|
#include <dt-bindings/interconnect/qcom,icc.h>
|
|
|
|
disp_bcm_voter: bcm-voter {
|
|
compatible = "qcom,bcm-voter";
|
|
qcom,tcs-wait = <QCOM_ICC_TAG_AMC>;
|
|
};
|
|
...
|