qcom,dwc3.txt 1.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Qualcomm SuperSpeed DWC3 USB SoC controller

Required properties:
- compatible:	should contain "qcom,dwc3"
- clocks:		A list of phandle + clock-specifier pairs for the
				clocks listed in clock-names
- clock-names:	Should contain the following:
  "core"		Master/Core clock, have to be >= 125 MHz for SS
				operation and >= 60MHz for HS operation

Optional clocks:
  "iface"		System bus AXI clock.  Not present on all platforms
  "sleep"		Sleep clock, used when USB3 core goes into low
				power mode (U3).

Required child node:
A child node must exist to represent the core DWC3 IP block. The name of
the node is not important. The content of the node is defined in dwc3.txt.

Phy documentation is provided in the following places:
21
Documentation/devicetree/bindings/phy/qcom-dwc3-usb-phy.txt
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

Example device nodes:

		hs_phy: phy@100f8800 {
			compatible = "qcom,dwc3-hs-usb-phy";
			reg = <0x100f8800 0x30>;
			clocks = <&gcc USB30_0_UTMI_CLK>;
			clock-names = "ref";
			#phy-cells = <0>;

			status = "ok";
		};

		ss_phy: phy@100f8830 {
			compatible = "qcom,dwc3-ss-usb-phy";
			reg = <0x100f8830 0x30>;
			clocks = <&gcc USB30_0_MASTER_CLK>;
			clock-names = "ref";
			#phy-cells = <0>;

			status = "ok";
		};

		usb3_0: usb30@0 {
			compatible = "qcom,dwc3";
			#address-cells = <1>;
			#size-cells = <1>;
			clocks = <&gcc USB30_0_MASTER_CLK>;
			clock-names = "core";

			ranges;

			status = "ok";

			dwc3@10000000 {
				compatible = "snps,dwc3";
				reg = <0x10000000 0xcd00>;
				interrupts = <0 205 0x4>;
				phys = <&hs_phy>, <&ss_phy>;
				phy-names = "usb2-phy", "usb3-phy";
				dr_mode = "host";
			};
		};