| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- # 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>;
- };
- ...
|