1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/interconnect/qcom,bcm-voter.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm BCM-Voter Interconnect 8 9maintainers: 10 - Georgi Djakov <georgi.djakov@linaro.org> 11 12description: | 13 The Bus Clock Manager (BCM) is a dedicated hardware accelerator that manages 14 shared system resources by aggregating requests from multiple Resource State 15 Coordinators (RSC). Interconnect providers are able to vote for aggregated 16 thresholds values from consumers by communicating through their respective 17 RSCs. 18 19properties: 20 compatible: 21 enum: 22 - qcom,bcm-voter 23 24 qcom,tcs-wait: 25 description: | 26 Optional mask of which TCSs (Triggered Command Sets) wait for completion 27 upon triggering. If not specified, then the AMC and WAKE sets wait for 28 completion. The mask bits are available in the QCOM_ICC_TAG_* defines. 29 30 The AMC TCS is triggered immediately when icc_set_bw() is called. The 31 WAKE/SLEEP TCSs are triggered when the RSC transitions between active and 32 sleep modes. 33 34 In most cases, it's necessary to wait in both the AMC and WAKE sets to 35 ensure resources are available before use. If a specific RSC and its use 36 cases can ensure sufficient delay by other means, then this can be 37 overridden to reduce latencies. 38 39 $ref: /schemas/types.yaml#/definitions/uint32 40 41required: 42 - compatible 43 44additionalProperties: false 45 46examples: 47 # Example 1: apps bcm_voter on SDM845 SoC should be defined inside &apps_rsc node 48 # as defined in Documentation/devicetree/bindings/soc/qcom/qcom,rpmh-rsc.yaml 49 - | 50 51 apps_bcm_voter: bcm-voter { 52 compatible = "qcom,bcm-voter"; 53 }; 54 55 # Example 2: disp bcm_voter on SDM845 should be defined inside &disp_rsc node 56 # as defined in Documentation/devicetree/bindings/soc/qcom/qcom,rpmh-rsc.yaml 57 - | 58 59 #include <dt-bindings/interconnect/qcom,icc.h> 60 61 disp_bcm_voter: bcm-voter { 62 compatible = "qcom,bcm-voter"; 63 qcom,tcs-wait = <QCOM_ICC_TAG_AMC>; 64 }; 65... 66