qcom,sdm660.yaml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/interconnect/qcom,sdm660.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Qualcomm SDM660 Network-On-Chip interconnect
  7. maintainers:
  8. - Konrad Dybcio <konradybcio@kernel.org>
  9. description: |
  10. The Qualcomm SDM660 interconnect providers support adjusting the
  11. bandwidth requirements between the various NoC fabrics.
  12. properties:
  13. compatible:
  14. enum:
  15. - qcom,sdm660-a2noc
  16. - qcom,sdm660-bimc
  17. - qcom,sdm660-cnoc
  18. - qcom,sdm660-gnoc
  19. - qcom,sdm660-mnoc
  20. - qcom,sdm660-snoc
  21. reg:
  22. maxItems: 1
  23. clock-names:
  24. minItems: 1
  25. maxItems: 5
  26. clocks:
  27. minItems: 1
  28. maxItems: 5
  29. required:
  30. - compatible
  31. - reg
  32. unevaluatedProperties: false
  33. allOf:
  34. - $ref: qcom,rpm-common.yaml#
  35. - if:
  36. properties:
  37. compatible:
  38. const: qcom,sdm660-mnoc
  39. then:
  40. properties:
  41. clocks:
  42. items:
  43. - description: CPU-NoC High-performance Bus Clock.
  44. clock-names:
  45. const: iface
  46. - if:
  47. properties:
  48. compatible:
  49. const: qcom,sdm660-a2noc
  50. then:
  51. properties:
  52. clocks:
  53. items:
  54. - description: IPA Clock.
  55. - description: UFS AXI Clock.
  56. - description: Aggregate2 UFS AXI Clock.
  57. - description: Aggregate2 USB3 AXI Clock.
  58. - description: Config NoC USB2 AXI Clock.
  59. clock-names:
  60. items:
  61. - const: ipa
  62. - const: ufs_axi
  63. - const: aggre2_ufs_axi
  64. - const: aggre2_usb3_axi
  65. - const: cfg_noc_usb2_axi
  66. examples:
  67. - |
  68. #include <dt-bindings/clock/qcom,gcc-sdm660.h>
  69. #include <dt-bindings/clock/qcom,mmcc-sdm660.h>
  70. #include <dt-bindings/clock/qcom,rpmcc.h>
  71. bimc: interconnect@1008000 {
  72. compatible = "qcom,sdm660-bimc";
  73. reg = <0x01008000 0x78000>;
  74. #interconnect-cells = <1>;
  75. };
  76. a2noc: interconnect@1704000 {
  77. compatible = "qcom,sdm660-a2noc";
  78. reg = <0x01704000 0xc100>;
  79. #interconnect-cells = <1>;
  80. clocks = <&rpmcc RPM_SMD_IPA_CLK>,
  81. <&gcc GCC_UFS_AXI_CLK>,
  82. <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
  83. <&gcc GCC_AGGRE2_USB3_AXI_CLK>,
  84. <&gcc GCC_CFG_NOC_USB2_AXI_CLK>;
  85. clock-names = "ipa",
  86. "ufs_axi",
  87. "aggre2_ufs_axi",
  88. "aggre2_usb3_axi",
  89. "cfg_noc_usb2_axi";
  90. };