lantiq BTHOMEHUBV2B - update dts for automatic detection of ubi partition and rootfs...
[openwrt/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 };