qcom,qusb2-phy.yaml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/phy/qcom,qusb2-phy.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Qualcomm QUSB2 phy controller
  7. maintainers:
  8. - Wesley Cheng <quic_wcheng@quicinc.com>
  9. description:
  10. QUSB2 controller supports LS/FS/HS usb connectivity on Qualcomm chipsets.
  11. properties:
  12. compatible:
  13. oneOf:
  14. - items:
  15. - enum:
  16. - qcom,ipq6018-qusb2-phy
  17. - qcom,ipq8074-qusb2-phy
  18. - qcom,ipq9574-qusb2-phy
  19. - qcom,msm8953-qusb2-phy
  20. - qcom,msm8996-qusb2-phy
  21. - qcom,msm8998-qusb2-phy
  22. - qcom,qcm2290-qusb2-phy
  23. - qcom,sdm660-qusb2-phy
  24. - qcom,sm4250-qusb2-phy
  25. - qcom,sm6115-qusb2-phy
  26. - items:
  27. - enum:
  28. - qcom,sc7180-qusb2-phy
  29. - qcom,sdm670-qusb2-phy
  30. - qcom,sdm845-qusb2-phy
  31. - qcom,sm6350-qusb2-phy
  32. - const: qcom,qusb2-v2-phy
  33. reg:
  34. maxItems: 1
  35. "#phy-cells":
  36. const: 0
  37. clocks:
  38. minItems: 2
  39. items:
  40. - description: phy config clock
  41. - description: 19.2 MHz ref clk
  42. - description: phy interface clock (Optional)
  43. clock-names:
  44. minItems: 2
  45. items:
  46. - const: cfg_ahb
  47. - const: ref
  48. - const: iface
  49. vdd-supply:
  50. description:
  51. Phandle to 0.9V regulator supply to PHY digital circuit.
  52. vdda-pll-supply:
  53. description:
  54. Phandle to 1.8V regulator supply to PHY refclk pll block.
  55. vdda-phy-dpdm-supply:
  56. description:
  57. Phandle to 3.1V regulator supply to Dp/Dm port signals.
  58. resets:
  59. maxItems: 1
  60. description:
  61. Phandle to reset to phy block.
  62. nvmem-cells:
  63. maxItems: 1
  64. description:
  65. Phandle to nvmem cell that contains 'HS Tx trim'
  66. tuning parameter value for qusb2 phy.
  67. qcom,tcsr-syscon:
  68. description:
  69. Phandle to TCSR syscon register region.
  70. $ref: /schemas/types.yaml#/definitions/phandle
  71. qcom,imp-res-offset-value:
  72. description:
  73. It is a 6 bit value that specifies offset to be
  74. added to PHY refgen RESCODE via IMP_CTRL1 register. It is a PHY
  75. tuning parameter that may vary for different boards of same SOC.
  76. $ref: /schemas/types.yaml#/definitions/uint32
  77. minimum: 0
  78. maximum: 63
  79. default: 0
  80. qcom,bias-ctrl-value:
  81. description:
  82. It is a 6 bit value that specifies bias-ctrl-value. It is a PHY
  83. tuning parameter that may vary for different boards of same SOC.
  84. $ref: /schemas/types.yaml#/definitions/uint32
  85. minimum: 0
  86. maximum: 63
  87. default: 32
  88. qcom,charge-ctrl-value:
  89. description:
  90. It is a 2 bit value that specifies charge-ctrl-value. It is a PHY
  91. tuning parameter that may vary for different boards of same SOC.
  92. $ref: /schemas/types.yaml#/definitions/uint32
  93. minimum: 0
  94. maximum: 3
  95. default: 0
  96. qcom,hstx-trim-value:
  97. description:
  98. It is a 4 bit value that specifies tuning for HSTX
  99. output current.
  100. Possible range is - 15mA to 24mA (stepsize of 600 uA).
  101. See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
  102. $ref: /schemas/types.yaml#/definitions/uint32
  103. minimum: 0
  104. maximum: 15
  105. default: 3
  106. qcom,preemphasis-level:
  107. description:
  108. It is a 2 bit value that specifies pre-emphasis level.
  109. Possible range is 0 to 15% (stepsize of 5%).
  110. See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
  111. $ref: /schemas/types.yaml#/definitions/uint32
  112. minimum: 0
  113. maximum: 3
  114. default: 2
  115. qcom,preemphasis-width:
  116. description:
  117. It is a 1 bit value that specifies how long the HSTX
  118. pre-emphasis (specified using qcom,preemphasis-level) must be in
  119. effect. Duration could be half-bit of full-bit.
  120. See dt-bindings/phy/phy-qcom-qusb2.h for applicable values.
  121. $ref: /schemas/types.yaml#/definitions/uint32
  122. minimum: 0
  123. maximum: 1
  124. default: 0
  125. qcom,hsdisc-trim-value:
  126. description:
  127. It is a 2 bit value tuning parameter that control disconnect
  128. threshold and may vary for different boards of same SOC.
  129. $ref: /schemas/types.yaml#/definitions/uint32
  130. minimum: 0
  131. maximum: 3
  132. default: 0
  133. required:
  134. - compatible
  135. - reg
  136. - "#phy-cells"
  137. - clocks
  138. - clock-names
  139. - vdd-supply
  140. - vdda-pll-supply
  141. - vdda-phy-dpdm-supply
  142. - resets
  143. allOf:
  144. - if:
  145. not:
  146. properties:
  147. compatible:
  148. contains:
  149. const: qcom,qusb2-v2-phy
  150. then:
  151. properties:
  152. qcom,imp-res-offset-value: false
  153. qcom,bias-ctrl-value: false
  154. qcom,charge-ctrl-value: false
  155. qcom,hstx-trim-value: false
  156. qcom,preemphasis-level: false
  157. qcom,preemphasis-width: false
  158. qcom,hsdisc-trim-value: false
  159. additionalProperties: false
  160. examples:
  161. - |
  162. #include <dt-bindings/clock/qcom,gcc-msm8996.h>
  163. hsusb_phy: phy@7411000 {
  164. compatible = "qcom,msm8996-qusb2-phy";
  165. reg = <0x7411000 0x180>;
  166. #phy-cells = <0>;
  167. clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
  168. <&gcc GCC_RX1_USB2_CLKREF_CLK>;
  169. clock-names = "cfg_ahb", "ref";
  170. vdd-supply = <&pm8994_l28>;
  171. vdda-pll-supply = <&pm8994_l12>;
  172. vdda-phy-dpdm-supply = <&pm8994_l24>;
  173. resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
  174. nvmem-cells = <&qusb2p_hstx_trim>;
  175. };