lantiq: Enable SPI for the EASY80920 board again
[openwrt.git] / target / linux / lantiq / dts / EASY80920.dtsi
1 /include/ "vr9.dtsi"
2
3 / {
4         chosen {
5                 bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
6
7                 leds {
8                         boot = &power;
9                         failsafe = &power;
10                         running = &power;
11
12                         usb = &usb1;
13                         usb2 = &usb2;
14                 };
15         };
16
17         memory@0 {
18                 reg = <0x0 0x4000000>;
19         };
20
21         fpi@10000000 {
22                 #address-cells = <1>;
23                 #size-cells = <1>;
24                 compatible = "lantiq,fpi", "simple-bus";
25                 ranges = <0x0 0x10000000 0xEEFFFFF>;
26                 reg = <0x10000000 0xEF00000>;
27
28                 localbus@0 {
29                         #address-cells = <2>;
30                         #size-cells = <1>;
31                         compatible = "lantiq,localbus", "simple-bus";
32
33                 };
34
35                 gpio: pinmux@E100B10 {
36                         compatible = "lantiq,pinctrl-xr9";
37                         pinctrl-names = "default";
38                         pinctrl-0 = <&state_default>;
39
40                         interrupt-parent = <&icu0>;
41                         interrupts = <166 135 66 40 41 42 38>;
42
43                         #gpio-cells = <2>;
44                         gpio-controller;
45                         reg = <0xE100B10 0xA0>;
46
47                         state_default: pinmux {
48                                 exin3 {
49                                         lantiq,groups = "exin3";
50                                         lantiq,function = "exin";
51                                 };
52                                 stp {
53                                         lantiq,groups = "stp";
54                                         lantiq,function = "stp";
55                                 };
56                                 spi {
57                                         lantiq,groups = "spi", "spi_cs4";
58                                         lantiq,function = "spi";
59                                 };
60                                 nand {
61                                         lantiq,groups = "nand cle", "nand ale",
62                                                         "nand rd", "nand rdy";
63                                         lantiq,function = "ebu";
64                                 };
65                                 mdio {
66                                         lantiq,groups = "mdio";
67                                         lantiq,function = "mdio";
68                                 };
69                                 pci {
70                                         lantiq,groups = "gnt1", "req1";
71                                         lantiq,function = "pci";
72                                 };
73                                 conf_out {
74                                         lantiq,pins = "io24", "io13", "io49", /* nand cle, ale and rd */
75                                                         "io4", "io5", "io6", /* stp */
76                                                         "io21",
77                                                         "io33";
78                                         lantiq,open-drain;
79                                         lantiq,pull = <0>;
80                                         lantiq,output = <1>;
81                                 };
82                                 pcie-rst {
83                                         lantiq,pins = "io38";
84                                         lantiq,pull = <0>;
85                                         lantiq,output = <1>;
86                                 };
87                                 conf_in {
88                                         lantiq,pins = "io39", /* exin3 */
89                                                         "io48"; /* nand rdy */
90                                         lantiq,pull = <2>;
91                                 };
92                         };
93                 };
94
95                 eth@E108000 {
96                         #address-cells = <1>;
97                         #size-cells = <0>;
98                         compatible = "lantiq,xrx200-net";
99                         reg = < 0xE108000 0x3000 /* switch */
100                                 0xE10B100 0x70 /* mdio */
101                                 0xE10B1D8 0x30 /* mii */
102                                 0xE10B308 0x30 /* pmac */
103                         >;
104                         interrupt-parent = <&icu0>;
105                         interrupts = <73 72>;
106
107                         lan: interface@0 {
108                                 compatible = "lantiq,xrx200-pdi";
109                                 #address-cells = <1>;
110                                 #size-cells = <0>;
111                                 reg = <0>;
112                                 mac-address = [ 00 11 22 33 44 55 ];
113
114                                 ethernet@0 {
115                                         compatible = "lantiq,xrx200-pdi-port";
116                                         reg = <0>;
117                                         phy-mode = "rgmii";
118                                         phy-handle = <&phy0>;
119                                 };
120                                 ethernet@1 {
121                                         compatible = "lantiq,xrx200-pdi-port";
122                                         reg = <1>;
123                                         phy-mode = "rgmii";
124                                         phy-handle = <&phy1>;
125                                 };
126                                 ethernet@2 {
127                                         compatible = "lantiq,xrx200-pdi-port";
128                                         reg = <2>;
129                                         phy-mode = "gmii";
130                                         phy-handle = <&phy11>;
131                                 };
132                         };
133
134                         wan: interface@1 {
135                                 compatible = "lantiq,xrx200-pdi";
136                                 #address-cells = <1>;
137                                 #size-cells = <0>;
138                                 reg = <1>;
139                                 mac-address = [ 00 11 22 33 44 56 ];
140                                 lantiq,wan;
141                                 ethernet@5 {
142                                         compatible = "lantiq,xrx200-pdi-port";
143                                         reg = <5>;
144                                         phy-mode = "rgmii";
145                                         phy-handle = <&phy5>;
146                                 };
147                         };
148
149                         test: interface@2 {
150                                 compatible = "lantiq,xrx200-pdi";
151                                 #address-cells = <1>;
152                                 #size-cells = <0>;
153                                 reg = <2>;
154                                 mac-address = [ 00 11 22 33 44 57 ];
155                                 ethernet@4 {
156                                         compatible = "lantiq,xrx200-pdi-port";
157                                         reg = <4>;
158                                         phynmode0 = "gmii";
159                                         phy-handle = <&phy13>;
160                                 };
161                         };
162
163                         mdio@0 {
164                                 #address-cells = <1>;
165                                 #size-cells = <0>;
166                                 compatible = "lantiq,xrx200-mdio";
167                                 phy0: ethernet-phy@0 {
168                                         reg = <0x0>;
169                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
170                                 };
171                                 phy1: ethernet-phy@1 {
172                                         reg = <0x1>;
173                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
174                                 };
175                                 phy5: ethernet-phy@5 {
176                                         reg = <0x5>;
177                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
178                                 };
179                                 phy11: ethernet-phy@11 {
180                                         reg = <0x11>;
181                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
182                                 };
183                                 phy13: ethernet-phy@13 {
184                                         reg = <0x13>;
185                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
186                                 };
187                         };
188                 };
189
190                 stp: stp@E100BB0 {
191                         compatible = "lantiq,gpio-stp-xway";
192                         reg = <0xE100BB0 0x40>;
193                         #gpio-cells = <2>;
194                         gpio-controller;
195
196                         lantiq,shadow = <0xffff>;
197                         lantiq,groups = <0x7>;
198                         lantiq,dsl = <0x3>;
199                         lantiq,phy1 = <0x7>;
200                         lantiq,phy2 = <0x7>;
201                         /* lantiq,rising; */
202                 };
203
204                 ifxhcd@E101000 {
205                         status = "okay";
206                         gpios = <&gpio 33 0>;
207                         lantiq,portmask = <0x3>;
208                 };
209
210                 pci@E105400 {
211                         #address-cells = <3>;
212                         #size-cells = <2>;
213                         #interrupt-cells = <1>;
214                         compatible = "lantiq,pci-xway1";
215                         bus-range = <0x0 0x0>;
216                         ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000   /* pci memory */
217                                 0x1000000 0 0x00000000 0xAE00000 0 0x200000>; /* io space */
218                         reg = <0x7000000 0x8000         /* config space */
219                                 0xE105400 0x400>;       /* pci bridge */
220                         lantiq,bus-clock = <33333333>;
221                         /*lantiq,external-clock;*/
222                         lantiq,delay-hi = <0>; /* 0ns delay */
223                         lantiq,delay-lo = <0>; /* 0.0ns delay */
224                         interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
225                         interrupt-map = <
226                                 0x7000 0 0 1 &icu0 29 1 // slot 14, irq 29
227                                 >;
228                         gpios-reset = <&gpio 21 0>;
229                         req-mask = <0x1>;       /* GNT1 */
230                 };
231         };
232
233         gphy-xrx200 {
234                 compatible = "lantiq,phy-xrx200";
235                 firmware = "lantiq/vr9_phy11g_a2x.bin";
236                 phys = [ 00 01 ];
237         };
238
239         gpio-keys-polled {
240                 compatible = "gpio-keys-polled";
241                 #address-cells = <1>;
242                 #size-cells = <0>;
243                 poll-interval = <100>;
244 /*              reset {
245                         label = "reset";
246                         gpios = <&gpio 7 1>;
247                         linux,code = <0x198>;
248                 };*/
249                 paging {
250                         label = "paging";
251                         gpios = <&gpio 11 1>;
252                         linux,code = <0x100>;
253                 };
254         };
255
256         gpio-leds {
257                 compatible = "gpio-leds";
258
259                 power: power {
260                         label = "easy80920:green:power";
261                         gpios = <&stp 9 0>;
262                         default-state = "keep";
263                 };
264                 warning {
265                         label = "easy80920:green:warning";
266                         gpios = <&stp 22 0>;
267                 };
268                 fxs1 {
269                         label = "easy80920:green:fxs1";
270                         gpios = <&stp 21 0>;
271                 };
272                 fxs2 {
273                         label = "easy80920:green:fxs2";
274                         gpios = <&stp 20 0>;
275                 };
276                 fxo {
277                         label = "easy80920:green:fxo";
278                         gpios = <&stp 19 0>;
279                 };
280                 usb1: usb1 {
281                         label = "easy80920:green:usb1";
282                         gpios = <&stp 18 0>;
283                 };
284                 usb2: usb2 {
285                         label = "easy80920:green:usb2";
286                         gpios = <&stp 15 0>;
287                 };
288                 sd {
289                         label = "easy80920:green:sd";
290                         gpios = <&stp 14 0>;
291                 };
292                 wps {
293                         label = "easy80920:green:wps";
294                         gpios = <&stp 12 0>;
295                 };
296         };
297 };
298
299 &spi {
300         status = "ok";
301
302         m25p80@3 {
303                 #address-cells = <1>;
304                 #size-cells = <1>;
305                 compatible = "jedec,spi-nor";
306                 reg = <3 0>;
307                 spi-max-frequency = <1000000>;
308
309                 partition@0 {
310                         reg = <0x0 0x20000>;
311                         label = "SPI (RO) U-Boot Image";
312                         read-only;
313                 };
314
315                 partition@20000 {
316                         reg = <0x20000 0x10000>;
317                         label = "ENV_MAC";
318                         read-only;
319                 };
320
321                 partition@30000 {
322                         reg = <0x30000 0x10000>;
323                         label = "DPF";
324                         read-only;
325                 };
326
327                 partition@40000 {
328                         reg = <0x40000 0x10000>;
329                         label = "NVRAM";
330                         read-only;
331                 };
332
333                 partition@500000 {
334                         reg = <0x50000 0x003a0000>;
335                         label = "kernel";
336                 };
337         };
338 };