lantiq: Switch to the new SPI driver
[openwrt.git] / target / linux / lantiq / dts / FRITZ3370.dts
1 /dts-v1/;
2
3 /include/ "vr9.dtsi"
4
5 / {
6         model = "FRITZ3370 - Fritz!Box WLAN 3370";
7
8         chosen {
9                 bootargs = "console=ttyLTQ0,115200 ubi.mtd=1,512 root=/dev/mtdblock9";
10
11                 leds {
12                         boot = &power_green;
13                         failsafe = &power_red;
14                         running = &power_green;
15
16                         dsl = &dsl;
17                         internet = &info_green;
18                         wifi = &wifi;
19                 };
20         };
21
22         memory@0 {
23                 reg = <0x0 0x8000000>;
24         };
25
26         fpi@10000000 {
27                 localbus@0 {
28                         nand-parts@0 {
29                                 compatible = "gen_nand", "lantiq,nand-xway";
30                                 bank-width = <2>;
31                                 reg = <1 0x0 0x2000000>;
32                                 #address-cells = <1>;
33                                 #size-cells = <1>;
34
35                                 partition@0 {
36                                         label = "kernel";
37                                         reg = <0x0 0x400000>;
38                                 };
39
40                                 partition@400000 {
41                                         label = "rootfs_ubi";
42                                         reg = <0x400000 0x3000000>;
43                                 };
44
45                                 partition@3400000 {
46                                         label = "vr9_firmware";
47                                         reg = <0x3400000 0x400000>;
48                                 };
49                                 partition@3800000 {
50                                         label = "reserved";
51                                         reg = <0x3800000 0x3000000>;
52                                 };
53                                 partition@6800000 {
54                                         label = "config";
55                                         reg = <0x6800000 0x200000>;
56                                 };
57                                 partition@6a00000 {
58                                         label = "nand-filesystem";
59                                         reg = <0x6a00000 0x1600000>;
60                                 };
61                         };
62                 };
63
64                 gpio: pinmux@E100B10 {
65                         pinctrl-names = "default";
66                         pinctrl-0 = <&state_default>;
67
68                         state_default: pinmux {
69                                 mdio {
70                                         lantiq,groups = "mdio";
71                                         lantiq,function = "mdio";
72                                 };
73                                 nand {
74                                         lantiq,groups = "nand cle", "nand ale",
75                                                         "nand rd", "nand cs1", "nand rdy";
76                                         lantiq,function = "ebu";
77                                         lantiq,pull = <1>;
78                                 };
79                                 phy-rst {
80                                         lantiq,pins = "io37", "io44";
81                                         lantiq,pull = <0>;
82                                         lantiq,open-drain = <0>;
83                                         lantiq,output = <1>;
84                                 };
85                                 pcie-rst {
86                                         lantiq,pins = "io38";
87                                         lantiq,pull = <0>;
88                                         lantiq,output = <1>;
89                                 };
90                         };
91                         pins_spi_default: pins_spi_default {
92                                 spi_in {
93                                         lantiq,groups = "spi_di";
94                                         lantiq,function = "spi";
95                                 };
96                                 spi_out {
97                                         lantiq,groups = "spi_do", "spi_clk",
98                                                 "spi_cs4";
99                                         lantiq,function = "spi";
100                                         lantiq,output = <1>;
101                                 };
102                         };
103                 };
104
105                 eth@E108000 {
106                         #address-cells = <1>;
107                         #size-cells = <0>;
108                         compatible = "lantiq,xrx200-net";
109                         reg = < 0xE108000 0x3000 /* switch */
110                                 0xE10B100 0x70 /* mdio */
111                                 0xE10B1D8 0x30 /* mii */
112                                 0xE10B308 0x30 /* pmac */
113                         >;
114                         interrupt-parent = <&icu0>;
115                         interrupts = <73 72>;
116
117                         lan: interface@0 {
118                                 compatible = "lantiq,xrx200-pdi";
119                                 #address-cells = <1>;
120                                 #size-cells = <0>;
121                                 reg = <0>;
122                                 mac-address = [ 00 11 22 33 44 55 ];
123                                 lantiq,switch;
124
125                                 ethernet@0 {
126                                         compatible = "lantiq,xrx200-pdi-port";
127                                         reg = <0>;
128                                         phy-mode = "rgmii";
129                                         phy-handle = <&phy0>;
130                                         gpios = <&gpio 37 0>;
131                                 };
132                                 ethernet@1 {
133                                         compatible = "lantiq,xrx200-pdi-port";
134                                         reg = <1>;
135                                         phy-mode = "rgmii";
136                                         phy-handle = <&phy1>;
137                                         gpios = <&gpio 44 0>;
138                                 };
139                                 ethernet@2 {
140                                         compatible = "lantiq,xrx200-pdi-port";
141                                         reg = <2>;
142                                         phy-mode = "gmii";
143                                         phy-handle = <&phy11>;
144                                 };
145                                 ethernet@3 {
146                                         compatible = "lantiq,xrx200-pdi-port";
147                                         reg = <4>;
148                                         phy-mode = "gmii";
149                                         phy-handle = <&phy13>;
150                                 };
151                         };
152
153                         mdio@0 {
154                                 #address-cells = <1>;
155                                 #size-cells = <0>;
156                                 compatible = "lantiq,xrx200-mdio";
157                                 phy0: ethernet-phy@0 {
158                                         reg = <0x0>;
159                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
160                                 };
161                                 phy1: ethernet-phy@1 {
162                                         reg = <0x1>;
163                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
164                                 };
165                                 phy11: ethernet-phy@11 {
166                                         reg = <0x11>;
167                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
168                                 };
169                                 phy13: ethernet-phy@13 {
170                                         reg = <0x13>;
171                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
172                                 };
173                         };
174                 };
175
176                 ifxhcd@E101000 {
177                         status = "okay";
178                         gpios = <&gpio 5 0
179                                 &gpio 14 0>;
180                         lantiq,portmask = <0x3>;
181                 };
182         };
183
184         ath9k_eep {
185                 compatible = "ath9k,eeprom";
186                 ath,eep-flash = <&ath9k_cal 0x985>;
187                 ath,eep-endian;
188                 ath,eep-swap;
189         };
190
191         gphy-xrx200 {
192                 compatible = "lantiq,phy-xrx200";
193                 firmware = "lantiq/vr9_phy11g_a1x.bin";
194                 phys = [ 00 01 ];
195         };
196
197         gpio-keys-polled {
198                 compatible = "gpio-keys-polled";
199                 #address-cells = <1>;
200                 #size-cells = <0>;
201                 poll-interval = <100>;
202                 power {
203                         label = "power";
204                         gpios = <&gpio 1 0>;
205                         linux,code = <0x100>;
206                 };
207 /*              wifi {
208                         label = "wifi";
209                         gpios = <&gpio 29 0>;
210                         linux,code = <0x101>;
211                 };*/
212         };
213
214         gpio-leds {
215                 compatible = "gpio-leds";
216
217                 power_green: power {
218                         label = "fritz3370:green:power";
219                         gpios = <&gpio 32 1>;
220                         default-state = "keep";
221                 };
222                 power_red: power2 {
223                         label = "fritz3370:red:power";
224                         gpios = <&gpio 33 1>;
225                 };
226                 info_red {
227                         label = "fritz3370:red:info";
228                         gpios = <&gpio 34 1>;
229                 };
230                 wifi: wifi {
231                         label = "fritz3370:green:wlan";
232                         gpios = <&gpio 35 1>;
233                 };
234                 dsl: dsl {
235                         label = "fritz3370:green:dsl";
236                         gpios = <&gpio 36 1>;
237                 };
238                 lan {
239                         label = "fritz3370:green:lan";
240                         gpios = <&gpio 38 1>;
241                 };
242                 info_green: info_green {
243                         label = "fritz3370:green:info";
244                         gpios = <&gpio 47 1>;
245                 };
246         };
247 };
248
249 &spi {
250         pinctrl-names = "default";
251         pinctrl-0 = <&pins_spi_default>;
252
253         status = "ok";
254
255         m25p80@4 {
256                 #address-cells = <1>;
257                 #size-cells = <1>;
258                 compatible = "jedec,spi-nor";
259                 reg = <4 0>;
260                 spi-max-frequency = <1000000>;
261
262                 ath9k_cal: partition@0 {
263                         reg = <0x0 0x20000>;
264                         label = "urlader";
265                         read-only;
266                 };
267
268                 partition@20000 {
269                         reg = <0x20000 0x10000>;
270                         label = "tffs (1)";
271                         read-only;
272                 };
273
274                 partition@30000 {
275                         reg = <0x30000 0x10000>;
276                         label = "tffs (2)";
277                         read-only;
278                 };
279         };
280 };