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