gemini: Add v4.19 kernel patches
[oweals/openwrt.git] / target / linux / gemini / patches-4.19 / 0018-ARM-dts-Add-the-FOTG210-USB-host-to-Gemini-boards.patch
1 From 1ff9a279dbeb0034929042faef186ce934474c2b Mon Sep 17 00:00:00 2001
2 From: Linus Walleij <linus.walleij@linaro.org>
3 Date: Fri, 21 Apr 2017 20:50:22 +0200
4 Subject: [PATCH 18/18] ARM: dts: Add the FOTG210 USB host to Gemini boards
5
6 This adds the FOTG210 USB host controller to the Gemini
7 device trees. In the main SoC DTSI it is flagged as disabled
8 and then it is selectively enabled on the devices that utilize
9 it.
10
11 Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
12 ---
13 ChangeLog v1->v2:
14 - Rebased to kernel v4.19-rc1
15 - Drop pinctrl-0 handle from the second USB port
16 - Add comment on how to deal with the USB pin control
17 ---
18  arch/arm/boot/dts/gemini-dlink-dir-685.dts |  8 ++++++
19  arch/arm/boot/dts/gemini-nas4220b.dts      |  8 ++++++
20  arch/arm/boot/dts/gemini-rut1xx.dts        | 20 ++++++++++++++
21  arch/arm/boot/dts/gemini-sl93512r.dts      |  8 ++++++
22  arch/arm/boot/dts/gemini-sq201.dts         |  8 ++++++
23  arch/arm/boot/dts/gemini-wbd111.dts        |  8 ++++++
24  arch/arm/boot/dts/gemini-wbd222.dts        |  8 ++++++
25  arch/arm/boot/dts/gemini.dtsi              | 32 ++++++++++++++++++++++
26  8 files changed, 100 insertions(+)
27
28 diff --git a/arch/arm/boot/dts/gemini-dlink-dir-685.dts b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
29 index 850a605124eb..848b16375873 100644
30 --- a/arch/arm/boot/dts/gemini-dlink-dir-685.dts
31 +++ b/arch/arm/boot/dts/gemini-dlink-dir-685.dts
32 @@ -452,5 +452,13 @@
33                                 };
34                         };
35                 };
36 +
37 +               usb@68000000 {
38 +                       status = "okay";
39 +               };
40 +
41 +               usb@69000000 {
42 +                       status = "okay";
43 +               };
44         };
45  };
46 diff --git a/arch/arm/boot/dts/gemini-nas4220b.dts b/arch/arm/boot/dts/gemini-nas4220b.dts
47 index 963ea890c87f..53b65ebe8454 100644
48 --- a/arch/arm/boot/dts/gemini-nas4220b.dts
49 +++ b/arch/arm/boot/dts/gemini-nas4220b.dts
50 @@ -204,5 +204,13 @@
51                 ata@63400000 {
52                         status = "okay";
53                 };
54 +
55 +               usb@68000000 {
56 +                       status = "okay";
57 +               };
58 +
59 +               usb@69000000 {
60 +                       status = "okay";
61 +               };
62         };
63  };
64 diff --git a/arch/arm/boot/dts/gemini-rut1xx.dts b/arch/arm/boot/dts/gemini-rut1xx.dts
65 index eb4f0bf074da..b2354c215a84 100644
66 --- a/arch/arm/boot/dts/gemini-rut1xx.dts
67 +++ b/arch/arm/boot/dts/gemini-rut1xx.dts
68 @@ -124,5 +124,25 @@
69                                 /* Not used in this platform */
70                         };
71                 };
72 +
73 +               ethernet@60000000 {
74 +                       status = "okay";
75 +
76 +                       ethernet-port@0 {
77 +                               phy-mode = "rgmii";
78 +                               phy-handle = <&phy0>;
79 +                       };
80 +                       ethernet-port@1 {
81 +                               /* Not used in this platform */
82 +                       };
83 +               };
84 +
85 +               usb@68000000 {
86 +                       status = "okay";
87 +               };
88 +
89 +               usb@69000000 {
90 +                       status = "okay";
91 +               };
92         };
93  };
94 diff --git a/arch/arm/boot/dts/gemini-sl93512r.dts b/arch/arm/boot/dts/gemini-sl93512r.dts
95 index ebefb7297379..2bb953440793 100644
96 --- a/arch/arm/boot/dts/gemini-sl93512r.dts
97 +++ b/arch/arm/boot/dts/gemini-sl93512r.dts
98 @@ -324,5 +324,13 @@
99                 ata@63400000 {
100                         status = "okay";
101                 };
102 +
103 +               usb@68000000 {
104 +                       status = "okay";
105 +               };
106 +
107 +               usb@69000000 {
108 +                       status = "okay";
109 +               };
110         };
111  };
112 diff --git a/arch/arm/boot/dts/gemini-sq201.dts b/arch/arm/boot/dts/gemini-sq201.dts
113 index c5bb24102b75..ecbc27d93b2d 100644
114 --- a/arch/arm/boot/dts/gemini-sq201.dts
115 +++ b/arch/arm/boot/dts/gemini-sq201.dts
116 @@ -292,5 +292,13 @@
117                 ata@63000000 {
118                         status = "okay";
119                 };
120 +
121 +               usb@68000000 {
122 +                       status = "okay";
123 +               };
124 +
125 +               usb@69000000 {
126 +                       status = "okay";
127 +               };
128         };
129  };
130 diff --git a/arch/arm/boot/dts/gemini-wbd111.dts b/arch/arm/boot/dts/gemini-wbd111.dts
131 index 29af86cd10f7..6831d2aed17a 100644
132 --- a/arch/arm/boot/dts/gemini-wbd111.dts
133 +++ b/arch/arm/boot/dts/gemini-wbd111.dts
134 @@ -171,5 +171,13 @@
135                                 /* Not used in this platform */
136                         };
137                 };
138 +
139 +               usb@68000000 {
140 +                       status = "okay";
141 +               };
142 +
143 +               usb@69000000 {
144 +                       status = "okay";
145 +               };
146         };
147  };
148 diff --git a/arch/arm/boot/dts/gemini-wbd222.dts b/arch/arm/boot/dts/gemini-wbd222.dts
149 index 24e6ae3616f7..ed38d48ef5f6 100644
150 --- a/arch/arm/boot/dts/gemini-wbd222.dts
151 +++ b/arch/arm/boot/dts/gemini-wbd222.dts
152 @@ -183,5 +183,13 @@
153                                 phy-handle = <&phy1>;
154                         };
155                 };
156 +
157 +               usb@68000000 {
158 +                       status = "okay";
159 +               };
160 +
161 +               usb@69000000 {
162 +                       status = "okay";
163 +               };
164         };
165  };
166 diff --git a/arch/arm/boot/dts/gemini.dtsi b/arch/arm/boot/dts/gemini.dtsi
167 index eb752e9495de..8cf67b11751f 100644
168 --- a/arch/arm/boot/dts/gemini.dtsi
169 +++ b/arch/arm/boot/dts/gemini.dtsi
170 @@ -409,5 +409,37 @@
171                         #size-cells = <0>;
172                         status = "disabled";
173                 };
174 +
175 +               usb@68000000 {
176 +                       compatible = "cortina,gemini-usb", "faraday,fotg210";
177 +                       reg = <0x68000000 0x1000>;
178 +                       interrupts = <10 IRQ_TYPE_LEVEL_HIGH>;
179 +                       resets = <&syscon GEMINI_RESET_USB0>;
180 +                       clocks = <&syscon GEMINI_CLK_GATE_USB0>;
181 +                       clock-names = "PCLK";
182 +                       /*
183 +                        * This will claim pins for USB0 and USB1 at the same
184 +                        * time as they are using some common pins. If you for
185 +                        * some reason have a system using USB1 at 96000000 but
186 +                        * NOT using USB0 at 68000000 you wll have to add the
187 +                        * usb_default_pins to the USB controller at 96000000
188 +                        * in your .dts for the board.
189 +                        */
190 +                       pinctrl-names = "default";
191 +                       pinctrl-0 = <&usb_default_pins>;
192 +                       syscon = <&syscon>;
193 +                       status = "disabled";
194 +               };
195 +
196 +               usb@69000000 {
197 +                       compatible = "cortina,gemini-usb", "faraday,fotg210";
198 +                       reg = <0x69000000 0x1000>;
199 +                       interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
200 +                       resets = <&syscon GEMINI_RESET_USB1>;
201 +                       clocks = <&syscon GEMINI_CLK_GATE_USB1>;
202 +                       clock-names = "PCLK";
203 +                       syscon = <&syscon>;
204 +                       status = "disabled";
205 +               };
206         };
207  };
208 -- 
209 2.19.2
210