qcom,sc8280xp-qmp-usb3-uni-phy.yaml 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-usb3-uni-phy.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Qualcomm QMP PHY controller (USB, SC8280XP)
  7. maintainers:
  8. - Vinod Koul <vkoul@kernel.org>
  9. description:
  10. The QMP PHY controller supports physical layer functionality for a number of
  11. controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB.
  12. properties:
  13. compatible:
  14. enum:
  15. - qcom,ipq6018-qmp-usb3-phy
  16. - qcom,ipq8074-qmp-usb3-phy
  17. - qcom,ipq9574-qmp-usb3-phy
  18. - qcom,msm8996-qmp-usb3-phy
  19. - qcom,qdu1000-qmp-usb3-uni-phy
  20. - qcom,sa8775p-qmp-usb3-uni-phy
  21. - qcom,sc8180x-qmp-usb3-uni-phy
  22. - qcom,sc8280xp-qmp-usb3-uni-phy
  23. - qcom,sdm845-qmp-usb3-uni-phy
  24. - qcom,sdx55-qmp-usb3-uni-phy
  25. - qcom,sdx65-qmp-usb3-uni-phy
  26. - qcom,sdx75-qmp-usb3-uni-phy
  27. - qcom,sm8150-qmp-usb3-uni-phy
  28. - qcom,sm8250-qmp-usb3-uni-phy
  29. - qcom,sm8350-qmp-usb3-uni-phy
  30. - qcom,x1e80100-qmp-usb3-uni-phy
  31. reg:
  32. maxItems: 1
  33. clocks:
  34. minItems: 4
  35. maxItems: 5
  36. clock-names:
  37. minItems: 4
  38. maxItems: 5
  39. power-domains:
  40. maxItems: 1
  41. resets:
  42. maxItems: 2
  43. reset-names:
  44. items:
  45. - const: phy
  46. - const: phy_phy
  47. vdda-phy-supply: true
  48. vdda-pll-supply: true
  49. "#clock-cells":
  50. const: 0
  51. clock-output-names:
  52. maxItems: 1
  53. "#phy-cells":
  54. const: 0
  55. required:
  56. - compatible
  57. - reg
  58. - clocks
  59. - clock-names
  60. - resets
  61. - reset-names
  62. - vdda-phy-supply
  63. - vdda-pll-supply
  64. - "#clock-cells"
  65. - clock-output-names
  66. - "#phy-cells"
  67. allOf:
  68. - if:
  69. properties:
  70. compatible:
  71. contains:
  72. enum:
  73. - qcom,ipq6018-qmp-usb3-phy
  74. - qcom,ipq8074-qmp-usb3-phy
  75. - qcom,ipq9574-qmp-usb3-phy
  76. - qcom,msm8996-qmp-usb3-phy
  77. - qcom,sdx55-qmp-usb3-uni-phy
  78. - qcom,sdx65-qmp-usb3-uni-phy
  79. - qcom,sdx75-qmp-usb3-uni-phy
  80. then:
  81. properties:
  82. clocks:
  83. maxItems: 4
  84. clock-names:
  85. items:
  86. - const: aux
  87. - const: ref
  88. - const: cfg_ahb
  89. - const: pipe
  90. - if:
  91. properties:
  92. compatible:
  93. contains:
  94. enum:
  95. - qcom,qdu1000-qmp-usb3-uni-phy
  96. - qcom,sa8775p-qmp-usb3-uni-phy
  97. - qcom,sc8180x-qmp-usb3-uni-phy
  98. - qcom,sc8280xp-qmp-usb3-uni-phy
  99. - qcom,sm8150-qmp-usb3-uni-phy
  100. - qcom,sm8250-qmp-usb3-uni-phy
  101. - qcom,sm8350-qmp-usb3-uni-phy
  102. - qcom,x1e80100-qmp-usb3-uni-phy
  103. then:
  104. properties:
  105. clocks:
  106. maxItems: 4
  107. clock-names:
  108. items:
  109. - const: aux
  110. - const: ref
  111. - const: com_aux
  112. - const: pipe
  113. - if:
  114. properties:
  115. compatible:
  116. contains:
  117. enum:
  118. - qcom,sdm845-qmp-usb3-uni-phy
  119. then:
  120. properties:
  121. clocks:
  122. maxItems: 5
  123. clock-names:
  124. items:
  125. - const: aux
  126. - const: cfg_ahb
  127. - const: ref
  128. - const: com_aux
  129. - const: pipe
  130. - if:
  131. properties:
  132. compatible:
  133. contains:
  134. enum:
  135. - qcom,sa8775p-qmp-usb3-uni-phy
  136. - qcom,sc8180x-qmp-usb3-uni-phy
  137. - qcom,sc8280xp-qmp-usb3-uni-phy
  138. - qcom,x1e80100-qmp-usb3-uni-phy
  139. then:
  140. required:
  141. - power-domains
  142. additionalProperties: false
  143. examples:
  144. - |
  145. #include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
  146. #include <dt-bindings/clock/qcom,rpmh.h>
  147. phy@88ef000 {
  148. compatible = "qcom,sc8280xp-qmp-usb3-uni-phy";
  149. reg = <0x088ef000 0x2000>;
  150. clocks = <&gcc GCC_USB3_MP_PHY_AUX_CLK>,
  151. <&gcc GCC_USB3_MP0_CLKREF_CLK>,
  152. <&gcc GCC_USB3_MP_PHY_COM_AUX_CLK>,
  153. <&gcc GCC_USB3_MP_PHY_PIPE_0_CLK>;
  154. clock-names = "aux", "ref", "com_aux", "pipe";
  155. power-domains = <&gcc USB30_MP_GDSC>;
  156. resets = <&gcc GCC_USB3_UNIPHY_MP0_BCR>,
  157. <&gcc GCC_USB3UNIPHY_PHY_MP0_BCR>;
  158. reset-names = "phy", "phy_phy";
  159. vdda-phy-supply = <&vreg_l3a>;
  160. vdda-pll-supply = <&vreg_l5a>;
  161. #clock-cells = <0>;
  162. clock-output-names = "usb2_phy0_pipe_clk";
  163. #phy-cells = <0>;
  164. };