lantiq: Switch to the new SPI driver
[openwrt/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 };