0158-usb-dwc3-qcom-Add-device-tree-binding.patch 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. From c7045330c5976eb31bd79bc57c5db684588d595e Mon Sep 17 00:00:00 2001
  2. From: "Ivan T. Ivanov" <[email protected]>
  3. Date: Mon, 7 Oct 2013 10:44:55 +0300
  4. Subject: [PATCH 158/182] usb: dwc3: qcom: Add device tree binding
  5. QCOM USB3.0 core wrapper consist of USB3.0 IP from Synopsys
  6. (SNPS) and HS, SS PHY's control and configuration registers.
  7. It could operate in device mode (SS, HS, FS) and host
  8. mode (SS, HS, FS, LS).
  9. Signed-off-by: Ivan T. Ivanov <[email protected]>
  10. Acked-by: Stephen Warren <[email protected]>
  11. ---
  12. .../devicetree/bindings/usb/qcom,dwc3.txt | 104 ++++++++++++++++++++
  13. 1 file changed, 104 insertions(+)
  14. create mode 100644 Documentation/devicetree/bindings/usb/qcom,dwc3.txt
  15. --- /dev/null
  16. +++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
  17. @@ -0,0 +1,104 @@
  18. +Qualcomm SuperSpeed DWC3 USB SoC controller
  19. +
  20. +
  21. +QCOM DWC3 Highspeed USB PHY
  22. +========================
  23. +Required properities:
  24. +- compatible: should contain "qcom,dwc3-hsphy";
  25. +- reg: offset and length of the register set in the memory map
  26. +- clocks: A list of phandle + clock-specifier pairs for the
  27. + clocks listed in clock-names
  28. +- clock-names: Should contain the following:
  29. + "utmi" UTMI clock
  30. +- v1p8-supply: phandle to the regulator for the 1.8v supply to HSPHY.
  31. +- v3p3-supply: phandle to the regulator for the 3.3v supply to HSPHY.
  32. +- vbus-supply: phandle to the regulator for the vbus supply for host
  33. + mode.
  34. +- vddcx-supply: phandle to the regulator for the vdd supply for HSPHY
  35. + digital circuit operation.
  36. +
  37. +Optional clocks:
  38. + "xo" External reference clock
  39. +
  40. +
  41. +QCOM DWC3 Superspeed USB PHY
  42. +=========================
  43. +Required properities:
  44. +- compatible: should contain "qcom,dwc3-ssphy";
  45. +- reg: offset and length of the register set in the memory map
  46. +- clocks: A list of phandle + clock-specifier pairs for the
  47. + clocks listed in clock-names
  48. +- clock-names: Should contain the following:
  49. + "ref" Reference clock used in host mode.
  50. +- v1p8-supply: phandle to the regulator for the 1.8v supply to HSPHY.
  51. +- vddcx-supply: phandle to the regulator for the vdd supply for HSPHY
  52. + digital circuit operation.
  53. +
  54. +Optional clocks:
  55. + "xo" External reference clock
  56. +
  57. +QCOM DWC3 controller wrapper
  58. +===========================
  59. +Required properties:
  60. +- compatible: should contain "qcom,dwc3"
  61. +- clocks: A list of phandle + clock-specifier pairs for the
  62. + clocks listed in clock-names
  63. +- clock-names: Should contain the following:
  64. + "core" Master/Core clock, have to be >= 125 MHz for SS
  65. + operation and >= 60MHz for HS operation
  66. +
  67. +Optional clocks:
  68. + "iface" System bus AXI clock. Not present on all platforms
  69. + "sleep" Sleep clock, used when USB3 core goes into low
  70. + power mode (U3).
  71. +
  72. +Optional regulator:
  73. +- gdsc-supply: phandle to the regulator from globally distributed
  74. + switch controller
  75. +
  76. +Required child node:
  77. +A child node must exist to represent the core DWC3 IP block. The name of
  78. +the node is not important. The content of the node is defined in dwc3.txt.
  79. +
  80. +Example device nodes:
  81. +
  82. + hs_phy_0: phy@110f8800 {
  83. + compatible = "qcom,dwc3-hsphy";
  84. + reg = <0x110f8800 0x30>;
  85. + clocks = <&gcc USB30_0_UTMI_CLK>;
  86. + clock-names = "utmi";
  87. +
  88. + status = "disabled";
  89. + };
  90. +
  91. + ss_phy_0: phy@110f8830 {
  92. + compatible = "qcom,dwc3-ssphy";
  93. + reg = <0x110f8830 0x30>;
  94. +
  95. + clocks = <&gcc USB30_0_MASTER_CLK>;
  96. + clock-names = "ref";
  97. +
  98. + status = "disabled";
  99. + };
  100. +
  101. + usb3_0: usb30@0 {
  102. + compatible = "qcom,dwc3";
  103. + #address-cells = <1>;
  104. + #size-cells = <1>;
  105. + clocks = <&gcc USB30_0_MASTER_CLK>;
  106. + clock-names = "core";
  107. +
  108. + ranges;
  109. +
  110. + status = "disabled";
  111. +
  112. + dwc3@11000000 {
  113. + compatible = "snps,dwc3";
  114. + reg = <0x11000000 0xcd00>;
  115. + interrupts = <0 110 0x4>;
  116. + usb-phy = <&hs_phy_0>, <&ss_phy_0>;
  117. + phy-names = "usb2-phy", "usb3-phy";
  118. + tx-fifo-resize;
  119. + dr_mode = "host";
  120. + };
  121. + };