kernel: update 3.14 to 3.14.18
[openwrt.git] / target / linux / ipq806x / patches / 0159-arm-ipq8064-Add-USB3-DT-information.patch
1 From 269a71c81438604d27f01ec703daa7f5e3f39e8b Mon Sep 17 00:00:00 2001
2 From: Andy Gross <agross@codeaurora.org>
3 Date: Sun, 15 Jun 2014 00:48:18 -0500
4 Subject: [PATCH 159/182] arm: ipq8064: Add USB3 DT information
5
6 This patch fleshes out the USB3 specific information for the IPQ8064 platform.
7
8 Signed-off-by: Andy Gross <agross@codeaurora.org>
9 ---
10  arch/arm/boot/dts/qcom-ipq8064-ap148.dts |   29 ++++++++++
11  arch/arm/boot/dts/qcom-ipq8064.dtsi      |   90 ++++++++++++++++++++++++++++++
12  2 files changed, 119 insertions(+)
13
14 --- a/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
15 +++ b/arch/arm/boot/dts/qcom-ipq8064-ap148.dts
16 @@ -160,5 +160,34 @@
17                         pinctrl-0 = <&nand_pins>;
18                         pinctrl-names = "default";
19                 };
20 +
21 +               tcsr@1a400000 {
22 +                       status = "ok";
23 +                       qcom,usb-ctrl-select = <TCSR_USB_SELECT_USB3_DUAL>;
24 +               };
25 +
26 +               phy@100f8800 {          /* USB3 port 1 HS phy */
27 +                       status = "ok";
28 +               };
29 +
30 +               phy@100f8830 {          /* USB3 port 1 SS phy */
31 +                       status = "ok";
32 +               };
33 +
34 +               phy@110f8800 {          /* USB3 port 0 HS phy */
35 +                       status = "ok";
36 +               };
37 +
38 +               phy@110f8830 {          /* USB3 port 0 SS phy */
39 +                       status = "ok";
40 +               };
41 +
42 +               usb30@0 {
43 +                       status = "ok";
44 +               };
45 +
46 +               usb30@1 {
47 +                       status = "ok";
48 +               };
49         };
50  };
51 --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
52 +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
53 @@ -4,6 +4,7 @@
54  #include <dt-bindings/clock/qcom,gcc-ipq806x.h>
55  #include <dt-bindings/reset/qcom,gcc-ipq806x.h>
56  #include <dt-bindings/soc/qcom,gsbi.h>
57 +#include <dt-bindings/soc/qcom,tcsr.h>
58  
59  / {
60         model = "Qualcomm IPQ8064";
61 @@ -402,5 +403,94 @@
62  
63                         status = "disabled";
64                 };
65 +
66 +               tcsr: tcsr@1a400000 {
67 +                       compatible = "qcom,tcsr";
68 +                       reg = <0x1a400000 0x100>;
69 +
70 +                       status = "disabled";
71 +               };
72 +
73 +               hs_phy_1: phy@100f8800 {
74 +                       compatible = "qcom,dwc3-hsphy";
75 +                       reg = <0x100f8800 0x30>;
76 +                       clocks = <&gcc USB30_1_UTMI_CLK>;
77 +                       clock-names = "utmi";
78 +
79 +                       status = "disabled";
80 +               };
81 +
82 +               ss_phy_1: phy@100f8830 {
83 +                       compatible = "qcom,dwc3-ssphy";
84 +                       reg = <0x100f8830 0x30>;
85 +
86 +                       clocks = <&gcc USB30_1_MASTER_CLK>;
87 +                       clock-names = "ref";
88 +
89 +                       status = "disabled";
90 +               };
91 +
92 +               hs_phy_0: phy@110f8800 {
93 +                       compatible = "qcom,dwc3-hsphy";
94 +                       reg = <0x110f8800 0x30>;
95 +                       clocks = <&gcc USB30_0_UTMI_CLK>;
96 +                       clock-names = "utmi";
97 +
98 +                       status = "disabled";
99 +               };
100 +
101 +               ss_phy_0: phy@110f8830 {
102 +                       compatible = "qcom,dwc3-ssphy";
103 +                       reg = <0x110f8830 0x30>;
104 +
105 +                       clocks = <&gcc USB30_0_MASTER_CLK>;
106 +                       clock-names = "ref";
107 +
108 +                       status = "disabled";
109 +               };
110 +
111 +               usb3_0: usb30@0 {
112 +                       compatible = "qcom,dwc3";
113 +                       #address-cells = <1>;
114 +                       #size-cells = <1>;
115 +                       clocks = <&gcc USB30_0_MASTER_CLK>;
116 +                       clock-names = "core";
117 +
118 +                       ranges;
119 +
120 +                       status = "disabled";
121 +
122 +                       dwc3@11000000 {
123 +                               compatible = "snps,dwc3";
124 +                               reg = <0x11000000 0xcd00>;
125 +                               interrupts = <0 110 0x4>;
126 +                               usb-phy = <&hs_phy_0>, <&ss_phy_0>;
127 +                               phy-names = "usb2-phy", "usb3-phy";
128 +                               tx-fifo-resize;
129 +                               dr_mode = "host";
130 +                       };
131 +               };
132 +
133 +               usb3_1: usb30@1 {
134 +                       compatible = "qcom,dwc3";
135 +                       #address-cells = <1>;
136 +                       #size-cells = <1>;
137 +                       clocks = <&gcc USB30_1_MASTER_CLK>;
138 +                       clock-names = "core";
139 +
140 +                       ranges;
141 +
142 +                       status = "disabled";
143 +
144 +                       dwc3@10000000 {
145 +                               compatible = "snps,dwc3";
146 +                               reg = <0x10000000 0xcd00>;
147 +                               interrupts = <0 205 0x4>;
148 +                               usb-phy = <&hs_phy_1>, <&ss_phy_1>;
149 +                               phy-names = "usb2-phy", "usb3-phy";
150 +                               tx-fifo-resize;
151 +                               dr_mode = "host";
152 +                       };
153 +               };
154         };
155  };