5af10d49f3d6b1df010828c0581864a67db51f15
[openwrt.git] / target / linux / lantiq / dts / P2812HNUFX.dts
1 /dts-v1/;
2
3 /include/ "vr9.dtsi"
4
5 / {
6         model = "P2812HNUFX - ZyXEL P-2812HNU-Fx";
7         
8         chosen {
9                 /*bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";*/
10         };
11
12         memory@0 {
13                 reg = <0x0 0x8000000>;
14         };
15         
16         fpi@10000000 {
17                 #address-cells = <1>;
18                 #size-cells = <1>;
19                 compatible = "lantiq,fpi", "simple-bus";
20                 ranges = <0x0 0x10000000 0xEEFFFFF>;
21                 reg = <0x10000000 0xEF00000>;
22
23                 localbus@0 {
24                         #address-cells = <2>;
25                         #size-cells = <1>;
26                         compatible = "lantiq,localbus", "simple-bus";
27
28                         nand-parts@0 {
29                                 compatible = "gen_nand", "lantiq,nand-xway";
30                                 lantiq,cs = <1>;
31                                 bank-width = <2>;
32                                 reg = <0 0x0 0x2000000>;
33                                 #address-cells = <1>;
34                                 #size-cells = <1>;
35
36                                 partition@0 {
37                                         label = "u-boot";
38                                         reg = <0x00000 0x40000>;
39                                 };
40
41                                 partition@40000 {
42                                         label = "u-boot environment";
43                                         reg = <0x40000 0x20000>;
44                                 };
45
46                                 partition@60000 {
47                                         label = "root";
48                                         reg = <0x60000 0x7fa0000>;
49                                 };
50                         };
51                 };
52
53                 gpio: pinmux@E100B10 {
54                         compatible = "lantiq,pinctrl-xr9";
55                         pinctrl-names = "default";
56                         pinctrl-0 = <&state_default>;
57                         
58                         interrupt-parent = <&icu0>;
59                         interrupts = <166 135 66 40 41 42 38>;
60
61                         #gpio-cells = <2>;
62                         gpio-controller;
63                         reg = <0xE100B10 0xA0>;
64
65                         state_default: pinmux {
66                                 mdio {
67                                         lantiq,groups = "mdio";
68                                         lantiq,function = "mdio";
69                                 };
70                                 gphy-leds {
71                                         lantiq,groups = "gphy0 led1", "gphy1 led1",
72                                                         "gphy0 led2", "gphy1 led2";
73                                         lantiq,function = "gphy";
74                                         lantiq,pull = <2>;
75                                         lantiq,open-drain = <0>;
76                                         lantiq,output = <1>;
77                                 };
78                                 stp {
79                                         lantiq,groups = "stp";
80                                         lantiq,function = "stp";
81                                         lantiq,pull = <2>;
82                                         lantiq,open-drain = <0>;
83                                         lantiq,output = <1>;
84                                 };
85                                 pci {
86                                         lantiq,groups = "gnt1", "req1";
87                                         lantiq,function = "pci";
88                                 };
89                                 pci-rst {
90                                         lantiq,pins = "io21";
91                                         lantiq,pull = <0>;
92                                         lantiq,open-drain = <0>;
93                                         lantiq,output = <1>;
94                                 };
95                                 ifxhcd-rst {
96                                         lantiq,pins = "io33";
97                                         lantiq,pull = <0>;
98                                         lantiq,open-drain = <0>;
99                                         lantiq,output = <1>;
100                                 };
101                                 nand {
102                                         lantiq,groups = "nand cle", "nand ale",
103                                                         "nand rd", "nand cs1", "nand rdy";
104                                         lantiq,function = "ebu";
105                                         lantiq,pull = <1>;
106                                 };
107                         };
108                 };
109
110                 eth@E108000 {
111                         #address-cells = <1>;
112                         #size-cells = <0>;
113                         compatible = "lantiq,xrx200-net";
114                         reg = < 0xE108000 0x3000 /* switch */
115                                 0xE10B100 0x70 /* mdio */
116                                 0xE10B1D8 0x30 /* mii */
117                                 0xE10B308 0x30 /* pmac */
118                         >;
119                         interrupt-parent = <&icu0>;
120                         interrupts = <73 72>;
121
122                         lan: interface@0 {
123                                 compatible = "lantiq,xrx200-pdi";
124                                 #address-cells = <1>;
125                                 #size-cells = <0>;
126                                 reg = <0>;
127                                 mac-address = [ 00 11 22 33 44 55 ];
128                                 lantiq,switch;
129
130                                 ethernet@0 {
131                                         compatible = "lantiq,xrx200-pdi-port";
132                                         reg = <0>;
133                                         phy-mode = "rgmii";
134                                         phy-handle = <&phy0>;
135                                 };
136                                 ethernet@1 {
137                                         compatible = "lantiq,xrx200-pdi-port";
138                                         reg = <1>;
139                                         phy-mode = "rgmii";
140                                         phy-handle = <&phy1>;
141                                 };
142                                 ethernet@2 {
143                                         compatible = "lantiq,xrx200-pdi-port";
144                                         reg = <2>;
145                                         phy-mode = "gmii";
146                                         phy-handle = <&phy11>;
147                                 };
148                                 ethernet@4 {
149                                         compatible = "lantiq,xrx200-pdi-port";
150                                         reg = <4>;
151                                         phy-mode = "gmii";
152                                         phy-handle = <&phy13>;
153                                 };
154                                 ethernet@5 {
155                                         compatible = "lantiq,xrx200-pdi-port";
156                                         reg = <5>;
157                                         phy-mode = "rgmii";
158                                         phy-handle = <&phy5>;
159                                 };
160                         };
161
162                         mdio@0 {
163                                 #address-cells = <1>;
164                                 #size-cells = <0>;
165                                 compatible = "lantiq,xrx200-mdio";
166                                 phy0: ethernet-phy@0 {
167                                         reg = <0x0>;
168                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
169                                 };
170                                 phy1: ethernet-phy@1 {
171                                         reg = <0x1>;
172                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
173                                 };
174                                 phy5: ethernet-phy@5 {
175                                         reg = <0x5>;
176                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
177                                 };
178                                 phy11: ethernet-phy@11 {
179                                         reg = <0x11>;
180                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
181                                 };
182                                 phy13: ethernet-phy@13 {
183                                         reg = <0x13>;
184                                         compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22";
185                                 };
186                         };
187                 };
188
189                 stp: stp@E100BB0 {
190                         compatible = "lantiq,gpio-stp-xway";
191                         reg = <0xE100BB0 0x40>;
192                         #gpio-cells = <2>;
193                         gpio-controller;
194
195                         lantiq,shadow = <0xffffff>;
196                         lantiq,groups = <0x7>;
197                         /*
198                         lantiq,dsl = <0x3>;
199                         lantiq,phy1 = <0x7>;
200                         lantiq,phy2 = <0x7>;
201                         */
202                 };
203
204                 ifxhcd@E101000 {
205                         status = "okay";
206                         gpios = <&gpio 33 0>;
207                         lantiq,portmask = <0x3>;
208                 };
209
210                 pci@E105400 {
211                         lantiq,bus-clock = <33333333>;
212                         /* lantiq,external-clock; */
213                         lantiq,delay-hi = <0>; /* 0ns delay */
214                         lantiq,delay-lo = <0>; /* 0.0ns delay */
215                         interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
216                         interrupt-map = <
217                                 0x7000 0 0 1 &icu0 29 //1 // slot 14, irq 29
218                                 >;
219                         gpio-reset = <&gpio 21 0>;
220                         req-mask = <0x1>;       /* GNT1 */
221                         status = "okay";
222                 };
223         };
224
225         gphy-xrx200 {
226                 compatible = "lantiq,phy-xrx200";
227                 firmware = "lantiq/vr9_phy11g_a1x.bin";
228                 phys = [ 00 01 ];
229         };
230
231         gpio-keys-polled {
232                 compatible = "gpio-keys-polled";
233                 #address-cells = <1>;
234                 #size-cells = <0>;
235                 poll-interval = <100>;
236                 reset {
237                         label = "reset";
238                         gpios = <&gpio 39 1>;
239                         linux,code = <0x198>;
240                 };
241                 rfkill {
242                         label = "rfkill";
243                         gpios = <&gpio 1 1>;
244                         linux,code = <0xf7>;
245                 };
246         };
247
248         gpio-leds {
249                 compatible = "gpio-leds";
250
251                 internet2 {
252                         label = "internet2";
253                         gpios = <&stp 16 1>;
254                 };
255                 internet {
256                         label = "internet";
257                         gpios = <&stp 17 1>;
258                 };
259                 dsl {
260                         label = "dsl";
261                         gpios = <&stp 18 1>;
262                 };
263                 dsl2 {
264                         label = "dsl2";
265                         gpios = <&stp 19 1>;
266                 };
267                 wifi2 {
268                         label = "wifi2";
269                         gpios = <&stp 20 1>;
270                 };
271                 wlan {
272                         label = "wifi";
273                         gpios = <&stp 21 1>;
274                 };
275                 power2 {
276                         label = "power2";
277                         gpios = <&stp 22 1>;
278                 };
279                 power {
280                         label = "power";
281                         gpios = <&stp 23 1>;
282                 };
283                 usb1 {
284                         label = "usb";
285                         gpios = <&gpio 38 1>;
286                 };
287                 usb2 {
288                         label = "usb2";
289                         gpios = <&gpio 44 1>;
290                 };
291                 phone1 {
292                         label = "phone1";
293                         gpios = <&gpio 11 1>;
294                 };
295                 phone1warn {
296                         label = "phone1warn";
297                         gpios = <&gpio 12 1>;
298                 };
299                 phone2 {
300                         label = "phone2";
301                         gpios = <&gpio 28 1>;
302                 };
303                 phone2warn {
304                         label = "phone2warn";
305                         gpios = <&gpio 26 1>;
306                 };
307         };
308 };