qcom,msm8996.yaml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/interconnect/qcom,msm8996.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Qualcomm MSM8996 Network-On-Chip interconnect
  7. maintainers:
  8. - Konrad Dybcio <konradybcio@kernel.org>
  9. description: |
  10. The Qualcomm MSM8996 interconnect providers support adjusting the
  11. bandwidth requirements between the various NoC fabrics.
  12. properties:
  13. compatible:
  14. enum:
  15. - qcom,msm8996-a0noc
  16. - qcom,msm8996-a1noc
  17. - qcom,msm8996-a2noc
  18. - qcom,msm8996-bimc
  19. - qcom,msm8996-cnoc
  20. - qcom,msm8996-mnoc
  21. - qcom,msm8996-pnoc
  22. - qcom,msm8996-snoc
  23. reg:
  24. maxItems: 1
  25. clock-names:
  26. minItems: 1
  27. maxItems: 3
  28. clocks:
  29. minItems: 1
  30. maxItems: 3
  31. power-domains:
  32. maxItems: 1
  33. required:
  34. - compatible
  35. - reg
  36. unevaluatedProperties: false
  37. allOf:
  38. - $ref: qcom,rpm-common.yaml#
  39. - if:
  40. properties:
  41. compatible:
  42. const: qcom,msm8996-a0noc
  43. then:
  44. properties:
  45. clocks:
  46. items:
  47. - description: Aggregate0 System NoC AXI Clock.
  48. - description: Aggregate0 Config NoC AHB Clock.
  49. - description: Aggregate0 NoC MPU Clock.
  50. clock-names:
  51. items:
  52. - const: aggre0_snoc_axi
  53. - const: aggre0_cnoc_ahb
  54. - const: aggre0_noc_mpu_cfg
  55. required:
  56. - power-domains
  57. - if:
  58. properties:
  59. compatible:
  60. const: qcom,msm8996-mnoc
  61. then:
  62. properties:
  63. clocks:
  64. items:
  65. - description: CPU-NoC High-performance Bus Clock.
  66. clock-names:
  67. const: iface
  68. - if:
  69. properties:
  70. compatible:
  71. const: qcom,msm8996-a2noc
  72. then:
  73. properties:
  74. clocks:
  75. items:
  76. - description: Aggregate2 NoC UFS AXI Clock
  77. - description: UFS AXI Clock
  78. clock-names:
  79. items:
  80. - const: aggre2_ufs_axi
  81. - const: ufs_axi
  82. examples:
  83. - |
  84. #include <dt-bindings/clock/qcom,gcc-msm8996.h>
  85. #include <dt-bindings/clock/qcom,mmcc-msm8996.h>
  86. #include <dt-bindings/clock/qcom,rpmcc.h>
  87. bimc: interconnect@408000 {
  88. compatible = "qcom,msm8996-bimc";
  89. reg = <0x00408000 0x5a000>;
  90. #interconnect-cells = <1>;
  91. };
  92. a0noc: interconnect@543000 {
  93. compatible = "qcom,msm8996-a0noc";
  94. reg = <0x00543000 0x6000>;
  95. #interconnect-cells = <1>;
  96. clocks = <&gcc GCC_AGGRE0_SNOC_AXI_CLK>,
  97. <&gcc GCC_AGGRE0_CNOC_AHB_CLK>,
  98. <&gcc GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK>;
  99. clock-names = "aggre0_snoc_axi",
  100. "aggre0_cnoc_ahb",
  101. "aggre0_noc_mpu_cfg";
  102. power-domains = <&gcc AGGRE0_NOC_GDSC>;
  103. };