0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/interconnect/qcom,bcm-voter.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Qualcomm BCM-Voter Interconnect
0008
0009 maintainers:
0010 - Georgi Djakov <georgi.djakov@linaro.org>
0011
0012 description: |
0013 The Bus Clock Manager (BCM) is a dedicated hardware accelerator that manages
0014 shared system resources by aggregating requests from multiple Resource State
0015 Coordinators (RSC). Interconnect providers are able to vote for aggregated
0016 thresholds values from consumers by communicating through their respective
0017 RSCs.
0018
0019 properties:
0020 compatible:
0021 enum:
0022 - qcom,bcm-voter
0023
0024 qcom,tcs-wait:
0025 description: |
0026 Optional mask of which TCSs (Triggered Command Sets) wait for completion
0027 upon triggering. If not specified, then the AMC and WAKE sets wait for
0028 completion. The mask bits are available in the QCOM_ICC_TAG_* defines.
0029
0030 The AMC TCS is triggered immediately when icc_set_bw() is called. The
0031 WAKE/SLEEP TCSs are triggered when the RSC transitions between active and
0032 sleep modes.
0033
0034 In most cases, it's necessary to wait in both the AMC and WAKE sets to
0035 ensure resources are available before use. If a specific RSC and its use
0036 cases can ensure sufficient delay by other means, then this can be
0037 overridden to reduce latencies.
0038
0039 $ref: /schemas/types.yaml#/definitions/uint32
0040
0041 required:
0042 - compatible
0043
0044 additionalProperties: false
0045
0046 examples:
0047 # Example 1: apps bcm_voter on SDM845 SoC should be defined inside &apps_rsc node
0048 # as defined in Documentation/devicetree/bindings/soc/qcom/qcom,rpmh-rsc.yaml
0049 - |
0050
0051 apps_bcm_voter: bcm-voter {
0052 compatible = "qcom,bcm-voter";
0053 };
0054
0055 # Example 2: disp bcm_voter on SDM845 should be defined inside &disp_rsc node
0056 # as defined in Documentation/devicetree/bindings/soc/qcom/qcom,rpmh-rsc.yaml
0057 - |
0058
0059 #include <dt-bindings/interconnect/qcom,icc.h>
0060
0061 disp_bcm_voter: bcm-voter {
0062 compatible = "qcom,bcm-voter";
0063 qcom,tcs-wait = <QCOM_ICC_TAG_AMC>;
0064 };
0065 ...