lantiq: Switch FRITZ3370 from spi-gpio to the hardware SPI driver
[openwrt/staging/yousong.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 spi {
70 lantiq,groups = "spi", "spi_cs4";
71 lantiq,function = "spi";
72 };
73 mdio {
74 lantiq,groups = "mdio";
75 lantiq,function = "mdio";
76 };
77 nand {
78 lantiq,groups = "nand cle", "nand ale",
79 "nand rd", "nand cs1", "nand rdy";
80 lantiq,function = "ebu";
81 lantiq,pull = <1>;
82 };
83 phy-rst {
84 lantiq,pins = "io37", "io44";
85 lantiq,pull = <0>;
86 lantiq,open-drain = <0>;
87 lantiq,output = <1>;
88 };
89 pcie-rst {
90 lantiq,pins = "io38";
91 lantiq,pull = <0>;
92 lantiq,output = <1>;
93 };
94 };
95 };
96
97 eth@E108000 {
98 #address-cells = <1>;
99 #size-cells = <0>;
100 compatible = "lantiq,xrx200-net";
101 reg = < 0xE108000 0x3000 /* switch */
102 0xE10B100 0x70 /* mdio */
103 0xE10B1D8 0x30 /* mii */
104 0xE10B308 0x30 /* pmac */
105 >;
106 interrupt-parent = <&icu0>;
107 interrupts = <73 72>;
108
109 lan: interface@0 {
110 compatible = "lantiq,xrx200-pdi";
111 #address-cells = <1>;
112 #size-cells = <0>;
113 reg = <0>;
114 mac-address = [ 00 11 22 33 44 55 ];
115 lantiq,switch;
116
117 ethernet@0 {
118 compatible = "lantiq,xrx200-pdi-port";
119 reg = <0>;
120 phy-mode = "rgmii";
121 phy-handle = <&phy0>;
122 gpios = <&gpio 37 0>;
123 };
124 ethernet@1 {
125 compatible = "lantiq,xrx200-pdi-port";
126 reg = <1>;
127 phy-mode = "rgmii";
128 phy-handle = <&phy1>;
129 gpios = <&gpio 44 0>;
130 };
131 ethernet@2 {
132 compatible = "lantiq,xrx200-pdi-port";
133 reg = <2>;
134 phy-mode = "gmii";
135 phy-handle = <&phy11>;
136 };
137 ethernet@3 {
138 compatible = "lantiq,xrx200-pdi-port";
139 reg = <4>;
140 phy-mode = "gmii";
141 phy-handle = <&phy13>;
142 };
143 };
144
145 mdio@0 {
146 #address-cells = <1>;
147 #size-cells = <0>;
148 compatible = "lantiq,xrx200-mdio";
149 phy0: ethernet-phy@0 {
150 reg = <0x0>;
151 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
152 };
153 phy1: ethernet-phy@1 {
154 reg = <0x1>;
155 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
156 };
157 phy11: ethernet-phy@11 {
158 reg = <0x11>;
159 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
160 };
161 phy13: ethernet-phy@13 {
162 reg = <0x13>;
163 compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
164 };
165 };
166 };
167
168 ifxhcd@E101000 {
169 status = "okay";
170 gpios = <&gpio 5 0
171 &gpio 14 0>;
172 lantiq,portmask = <0x3>;
173 };
174 };
175
176 ath9k_eep {
177 compatible = "ath9k,eeprom";
178 ath,eep-flash = <&ath9k_cal 0x985>;
179 ath,eep-endian;
180 ath,eep-swap;
181 };
182
183 gphy-xrx200 {
184 compatible = "lantiq,phy-xrx200";
185 firmware = "lantiq/vr9_phy11g_a1x.bin";
186 phys = [ 00 01 ];
187 };
188
189 gpio-keys-polled {
190 compatible = "gpio-keys-polled";
191 #address-cells = <1>;
192 #size-cells = <0>;
193 poll-interval = <100>;
194 power {
195 label = "power";
196 gpios = <&gpio 1 0>;
197 linux,code = <0x100>;
198 };
199 /* wifi {
200 label = "wifi";
201 gpios = <&gpio 29 0>;
202 linux,code = <0x101>;
203 };*/
204 };
205
206 gpio-leds {
207 compatible = "gpio-leds";
208
209 power_green: power {
210 label = "fritz3370:green:power";
211 gpios = <&gpio 32 1>;
212 default-state = "keep";
213 };
214 power_red: power2 {
215 label = "fritz3370:red:power";
216 gpios = <&gpio 33 1>;
217 };
218 info_red {
219 label = "fritz3370:red:info";
220 gpios = <&gpio 34 1>;
221 };
222 wifi: wifi {
223 label = "fritz3370:green:wlan";
224 gpios = <&gpio 35 1>;
225 };
226 dsl: dsl {
227 label = "fritz3370:green:dsl";
228 gpios = <&gpio 36 1>;
229 };
230 lan {
231 label = "fritz3370:green:lan";
232 gpios = <&gpio 38 1>;
233 };
234 info_green: info_green {
235 label = "fritz3370:green:info";
236 gpios = <&gpio 47 1>;
237 };
238 };
239 };
240
241 &spi {
242 status = "ok";
243
244 m25p80@3 {
245 #address-cells = <1>;
246 #size-cells = <1>;
247 compatible = "jedec,spi-nor";
248 reg = <3 0>;
249 spi-max-frequency = <1000000>;
250
251 ath9k_cal: partition@0 {
252 reg = <0x0 0x20000>;
253 label = "urlader";
254 read-only;
255 };
256
257 partition@20000 {
258 reg = <0x20000 0x10000>;
259 label = "tffs (1)";
260 read-only;
261 };
262
263 partition@30000 {
264 reg = <0x30000 0x10000>;
265 label = "tffs (2)";
266 read-only;
267 };
268 };
269 };