qcom,bcm-voter.yaml 2.1 KB

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