Merge tag 'ceph-for-4.17-rc1' of git://github.com/ceph/ceph-client
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / kirkwood-dir665.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (C) 2014 Claudio Leite <leitec@staticky.com>
4  *
5  */
6
7 /dts-v1/;
8
9 #include "kirkwood.dtsi"
10 #include "kirkwood-6281.dtsi"
11
12 / {
13         model = "D-Link DIR-665";
14         compatible = "dlink,dir-665", "marvell,kirkwood-88f6281", "marvell,kirkwood";
15
16         memory {
17                 device_type = "memory";
18                 reg = <0x00000000 0x8000000>; /* 128 MB */
19         };
20
21         chosen {
22                 bootargs = "console=ttyS0,115200n8 earlyprintk";
23                 stdout-path = &uart0;
24         };
25
26         ocp@f1000000 {
27                 pinctrl: pin-controller@10000 {
28                         pinctrl-0 =< &pmx_led_usb
29                                      &pmx_led_internet_blue
30                                      &pmx_led_internet_amber
31                                      &pmx_led_5g &pmx_led_status_blue
32                                      &pmx_led_wps &pmx_led_status_amber
33                                      &pmx_led_24g
34                                      &pmx_btn_restart &pmx_btn_wps>;
35                         pinctrl-names = "default";
36
37                         pmx_led_usb: pmx-led-usb {
38                                 marvell,pins = "mpp12";
39                                 marvell,function = "gpio";
40                         };
41                         pmx_led_internet_blue: pmx-led-internet-blue {
42                                 marvell,pins = "mpp42";
43                                 marvell,function = "gpio";
44                         };
45                         pmx_led_internet_amber: pmx-led-internet-amber {
46                                 marvell,pins = "mpp43";
47                                 marvell,function = "gpio";
48                         };
49                         pmx_led_5g: pmx-led-5g {
50                                 marvell,pins = "mpp44";
51                                 marvell,function = "gpio";
52                         };
53                         pmx_led_status_blue: pmx-led-status-blue {
54                                 marvell,pins = "mpp45";
55                                 marvell,function = "gpio";
56                         };
57                         pmx_led_wps: pmx-led-wps {
58                                 marvell,pins = "mpp47";
59                                 marvell,function = "gpio";
60                         };
61                         pmx_led_status_amber: pmx-led-status-amber {
62                                 marvell,pins = "mpp48";
63                                 marvell,function = "gpio";
64                         };
65                         pmx_led_24g: pmx-led-24g {
66                                 marvell,pins = "mpp49";
67                                 marvell,function = "gpio";
68                         };
69                         pmx_btn_restart: pmx-btn-restart {
70                                 marvell,pins = "mpp28";
71                                 marvell,function = "gpio";
72                         };
73                         pmx_btn_wps: pmx-btn-wps {
74                                 marvell,pins = "mpp46";
75                                 marvell,function = "gpio";
76                         };
77                 };
78
79                 spi@10600 {
80                         status = "okay";
81                         m25p80@0 {
82                                 #address-cells = <1>;
83                                 #size-cells = <1>;
84                                 compatible = "mxicy,mx25l12805d", "jedec,spi-nor";
85                                 spi-max-frequency = <50000000>;
86                                 reg = <0>;
87
88                                 partition@0 {
89                                         label = "uboot";
90                                         reg = <0x0 0x30000>;
91                                         read-only;
92                                 };
93
94                                 partition@30000 {
95                                         label = "nvram";
96                                         reg = <0x30000 0x10000>;
97                                         read-only;
98                                 };
99
100                                 partition@40000 {
101                                         label = "kernel";
102                                         reg = <0x40000 0x180000>;
103                                 };
104
105                                 partition@1c0000 {
106                                         label = "rootfs";
107                                         reg = <0x1c0000 0xe00000>;
108                                 };
109
110                                 cal_data: partition@fc0000 {
111                                         label = "cal_data";
112                                         reg = <0xfc0000 0x10000>;
113                                         read-only;
114                                 };
115
116                                 partition@fd0000 {
117                                         label = "lang_pack";
118                                         reg = <0xfd0000 0x30000>;
119                                         read-only;
120                                 };
121                         };
122                 };
123
124                 serial@12000 {
125                         status = "okay";
126                 };
127
128                 i2c@11000 {
129                         status = "okay";
130                 };
131
132                 ehci@50000 {
133                         status = "okay";
134                 };
135         };
136
137         gpio-leds {
138                 compatible = "gpio-leds";
139
140                 blue-usb {
141                         label = "dir665:blue:usb";
142                         gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
143                 };
144                 blue-internet {
145                         /* Can only be turned on if the Internet
146                          * Ethernet port has Link
147                          */
148                         label = "dir665:blue:internet";
149                         gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
150                 };
151                 amber-internet {
152                         label = "dir665:amber:internet";
153                         gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
154                 };
155                 blue-wifi5g {
156                         label = "dir665:blue:5g";
157                         gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
158                 };
159                 blue-status {
160                         label = "dir665:blue:status";
161                         gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
162                 };
163                 blue-wps {
164                         label = "dir665:blue:wps";
165                         gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
166                 };
167                 amber-status {
168                         label = "dir665:amber:status";
169                         gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
170                 };
171                 blue-24g {
172                         label = "dir665:blue:24g";
173                         gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
174                 };
175         };
176
177         gpio-keys {
178                 compatible = "gpio-keys";
179                 #address-cells = <1>;
180                 #size-cells = <0>;
181
182                 reset {
183                         label = "reset";
184                         linux,code = <KEY_RESTART>;
185                         gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
186                 };
187                 wps {
188                         label = "wps";
189                         linux,code = <KEY_WPS_BUTTON>;
190                         gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
191                 };
192         };
193
194         dsa {
195                 status = "disabled";
196
197                 compatible = "marvell,dsa";
198                 #address-cells = <2>;
199                 #size-cells = <0>;
200
201                 dsa,ethernet = <&eth0port>;
202                 dsa,mii-bus = <&mdio>;
203
204                 switch@0 {
205                         #address-cells = <1>;
206                         #size-cells = <0>;
207                         reg = <0 0>;    /* MDIO address 0, switch 0 in tree */
208
209                         port@0 {
210                                 reg = <0>;
211                                 label = "lan4";
212                         };
213
214                         port@1 {
215                                reg = <1>;
216                                label = "lan3";
217                         };
218
219                         port@2 {
220                                reg = <2>;
221                                label = "lan2";
222                         };
223
224                         port@3 {
225                                reg = <3>;
226                                label = "lan1";
227                         };
228
229                         port@4 {
230                                 reg = <4>;
231                                 label = "wan";
232                         };
233
234                         port@6 {
235                                reg = <6>;
236                                label = "cpu";
237                         };
238                 };
239         };
240 };
241
242 &mdio {
243         status = "okay";
244
245         switch@0 {
246                 compatible = "marvell,mv88e6085";
247                 #address-cells = <1>;
248                 #size-cells = <0>;
249                 reg = <0>;
250
251                 ports {
252                         #address-cells = <1>;
253                         #size-cells = <0>;
254
255                         port@0 {
256                                 reg = <0>;
257                                 label = "lan4";
258                         };
259
260                         port@1 {
261                                reg = <1>;
262                                label = "lan3";
263                         };
264
265                         port@2 {
266                                reg = <2>;
267                                label = "lan2";
268                         };
269
270                         port@3 {
271                                reg = <3>;
272                                label = "lan1";
273                         };
274
275                         port@4 {
276                                 reg = <4>;
277                                 label = "wan";
278                         };
279
280                         port@6 {
281                                 reg = <6>;
282                                 label = "cpu";
283                                 ethernet = <&eth0port>;
284                                 fixed-link {
285                                         speed = <1000>;
286                                         full-duplex;
287                                 };
288                         };
289                 };
290         };
291 };
292
293 /* eth0 is connected to a Marvell 88E6171 switch, without a PHY. So set
294  * fixed speed and duplex. */
295 &eth0 {
296         status = "okay";
297
298         ethernet0-port@0 {
299                 speed = <1000>;
300                 duplex = <1>;
301         };
302 };
303
304 /* eth1 is connected to the switch as well. However DSA only supports a
305  * single CPU port. So leave this port disabled to avoid confusion. */
306
307 &eth1 {
308         status = "disabled";
309 };
310
311 /* There is no battery on the boards, so the RTC does not keep time
312  * when there is no power, making it useless. */
313 &rtc {
314         status = "disabled";
315 };
316
317 &pciec {
318         status = "okay";
319 };
320
321 &pcie0 {
322         status = "okay";
323 };