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