blob: 39acb084bce96989cd86e023e1450b3b0fb536f0 [file] [log] [blame]
Ivan T. Ivanovbbfc6cb2014-09-12 14:28:06 -05001Qualcomm SuperSpeed DWC3 USB SoC controller
2
3Required properties:
4- compatible: should contain "qcom,dwc3"
5- clocks: A list of phandle + clock-specifier pairs for the
6 clocks listed in clock-names
7- clock-names: Should contain the following:
8 "core" Master/Core clock, have to be >= 125 MHz for SS
9 operation and >= 60MHz for HS operation
10
11Optional clocks:
12 "iface" System bus AXI clock. Not present on all platforms
13 "sleep" Sleep clock, used when USB3 core goes into low
14 power mode (U3).
15
16Required child node:
17A child node must exist to represent the core DWC3 IP block. The name of
18the node is not important. The content of the node is defined in dwc3.txt.
19
20Phy documentation is provided in the following places:
21Documentation/devicetree/bindings/phy/qcom,dwc3-usb-phy.txt
22
23Example device nodes:
24
25 hs_phy: phy@100f8800 {
26 compatible = "qcom,dwc3-hs-usb-phy";
27 reg = <0x100f8800 0x30>;
28 clocks = <&gcc USB30_0_UTMI_CLK>;
29 clock-names = "ref";
30 #phy-cells = <0>;
31
32 status = "ok";
33 };
34
35 ss_phy: phy@100f8830 {
36 compatible = "qcom,dwc3-ss-usb-phy";
37 reg = <0x100f8830 0x30>;
38 clocks = <&gcc USB30_0_MASTER_CLK>;
39 clock-names = "ref";
40 #phy-cells = <0>;
41
42 status = "ok";
43 };
44
45 usb3_0: usb30@0 {
46 compatible = "qcom,dwc3";
47 #address-cells = <1>;
48 #size-cells = <1>;
49 clocks = <&gcc USB30_0_MASTER_CLK>;
50 clock-names = "core";
51
52 ranges;
53
54 status = "ok";
55
56 dwc3@10000000 {
57 compatible = "snps,dwc3";
58 reg = <0x10000000 0xcd00>;
59 interrupts = <0 205 0x4>;
60 phys = <&hs_phy>, <&ss_phy>;
61 phy-names = "usb2-phy", "usb3-phy";
Ivan T. Ivanovbbfc6cb2014-09-12 14:28:06 -050062 dr_mode = "host";
63 };
64 };
65