Back to home page

OSCL-LXR

 
 

    


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 ...