3d1db0b137a23f88bea27def6850f6e059aefb82
[openwrt/staging/mkresin.git] / target / linux / lantiq / files / arch / mips / boot / dts / lantiq / danube.dtsi
1 /dts-v1/;
2
3 #include <dt-bindings/gpio/gpio.h>
4
5 / {
6 #address-cells = <1>;
7 #size-cells = <1>;
8 compatible = "lantiq,xway", "lantiq,danube";
9
10 aliases {
11 serial0 = &asc1;
12 };
13
14 chosen {
15 stdout-path = "serial0:115200n8";
16 };
17
18 cpus {
19 #address-cells = <1>;
20 #size-cells = <0>;
21
22 cpu@0 {
23 compatible = "mips,mips24Kc";
24 reg = <0>;
25 };
26 };
27
28 reboot {
29 compatible = "syscon-reboot";
30
31 regmap = <&rcu0>;
32 offset = <0x10>;
33 mask = <0x40000000>;
34 };
35
36 biu@1f800000 {
37 #address-cells = <1>;
38 #size-cells = <1>;
39 compatible = "lantiq,biu", "simple-bus";
40 reg = <0x1f800000 0x800000>;
41 ranges = <0x0 0x1f800000 0x7fffff>;
42
43 icu0: icu@80200 {
44 #address-cells = <0>;
45 #interrupt-cells = <1>;
46 interrupt-controller;
47 compatible = "lantiq,icu";
48 /*
49 * There is a second ICU, but the SoC is not SMP
50 * capable.
51 */
52 reg = <0x80200 0xc8>;
53 };
54
55 watchdog@803f0 {
56 compatible = "lantiq,wdt";
57 reg = <0x803f0 0x10>;
58 };
59 };
60
61 sram@1f000000 {
62 #address-cells = <1>;
63 #size-cells = <1>;
64 compatible = "lantiq,sram", "simple-bus";
65 reg = <0x1f000000 0x800000>;
66 ranges = <0x0 0x1f000000 0x7fffff>;
67
68 eiu0: eiu@101000 {
69 #address-cells = <0>;
70 #interrupt-cells = <1>;
71 interrupt-controller;
72 compatible = "lantiq,eiu-xway";
73 reg = <0x101000 0x1000>;
74 interrupt-parent = <&icu0>;
75 lantiq,eiu-irqs = <166 135 66>;
76 };
77
78 pmu0: pmu@102000 {
79 compatible = "lantiq,pmu-xway";
80 reg = <0x102000 0x1000>;
81 };
82
83 cgu0: cgu@103000 {
84 compatible = "lantiq,cgu-xway";
85 reg = <0x103000 0x1000>;
86 #clock-cells = <1>;
87 };
88
89 vmmc: vmmc@107000 {
90 status = "disabled";
91 compatible = "lantiq,vmmc-xway";
92 reg = <0x107000 0x400>;
93 interrupt-parent = <&icu0>;
94 interrupts = <150 151 152 153 154 155>;
95 };
96
97 rcu0: rcu@203000 {
98 #address-cells = <1>;
99 #size-cells = <1>;
100 compatible = "lantiq,danube-rcu", "simple-mfd", "syscon";
101 reg = <0x203000 0x1000>;
102 ranges = <0x0 0x203000 0x100>;
103 big-endian;
104
105 reset: reset-controller@10 {
106 compatible = "lantiq,danube-reset";
107 reg = <0x10 4>, <0x14 4>;
108
109 #reset-cells = <2>;
110 };
111
112 usb_phy: usb2-phy@18 {
113 compatible = "lantiq,danube-usb2-phy";
114 reg = <0x18 4>;
115 status = "disabled";
116
117 resets = <&reset 4 4>;
118 reset-names = "ctrl";
119 #phy-cells = <0>;
120 };
121 };
122 };
123
124 fpi@10000000 {
125 #address-cells = <1>;
126 #size-cells = <1>;
127 compatible = "lantiq,fpi", "simple-bus";
128 ranges = <0x0 0x10000000 0xeefffff>;
129 reg = <0x10000000 0xef00000>;
130
131 localbus: localbus@0 {
132 #address-cells = <2>;
133 #size-cells = <1>;
134 ranges = <0 0 0x0 0x3ffffff /* addrsel0 */
135 1 0 0x4000000 0x4000010>; /* addsel1 */
136 compatible = "lantiq,localbus", "simple-bus";
137 };
138
139 gptu@e100a00 {
140 compatible = "lantiq,gptu-xway";
141 reg = <0xe100a00 0x100>;
142 interrupt-parent = <&icu0>;
143 interrupts = <126 127 128 129 130 131>;
144 };
145
146 gpios: stp@e100bb0 {
147 #gpio-cells = <2>;
148 compatible = "lantiq,gpio-stp-xway";
149 gpio-controller;
150 reg = <0xe100bb0 0x40>;
151
152 pinctrl-0 = <&stp_pins>;
153 pinctrl-names = "default";
154
155 lantiq,shadow = <0xfff>;
156 lantiq,groups = <0x3>;
157 status = "disabled";
158 };
159
160 asc0: serial@e100400 {
161 compatible = "lantiq,asc";
162 reg = <0xe100400 0x400>;
163 interrupt-parent = <&icu0>;
164 interrupts = <104 105 106>;
165 status = "disabled";
166 };
167
168 gpio: pinmux@e100b10 {
169 compatible = "lantiq,danube-pinctrl";
170 #gpio-cells = <2>;
171 gpio-controller;
172 reg = <0xe100b10 0xa0>;
173
174 nand_pins: nand-pins {
175 mux-0 {
176 lantiq,groups = "nand cle", "nand ale",
177 "nand rd";
178 lantiq,function = "ebu";
179 lantiq,output = <1>;
180 lantiq,open-drain = <0>;
181 lantiq,pull = <0>;
182 };
183 mux-1 {
184 lantiq,groups = "nand rdy";
185 lantiq,function = "ebu";
186 lantiq,output = <0>;
187 lantiq,pull = <2>;
188 };
189 };
190
191 nand_cs1_pins: nand-cs1 {
192 mux {
193 lantiq,groups = "nand cs1";
194 lantiq,function = "ebu";
195 lantiq,open-drain = <0>;
196 lantiq,pull = <0>;
197 };
198 };
199
200 pci_gnt1_pins: pci-gnt1 {
201 mux {
202 lantiq,groups = "gnt1";
203 lantiq,function = "pci";
204 lantiq,output = <1>;
205 lantiq,open-drain = <0>;
206 lantiq,pull = <0>;
207 };
208 };
209
210 pci_gnt2_pins: pci-gnt2 {
211 mux {
212 lantiq,groups = "gnt2";
213 lantiq,function = "pci";
214 lantiq,output = <1>;
215 lantiq,open-drain = <0>;
216 lantiq,pull = <0>;
217 };
218 };
219
220 pci_req1_pins: pci-req1 {
221 mux {
222 lantiq,groups = "req1";
223 lantiq,function = "pci";
224 lantiq,output = <0>;
225 lantiq,open-drain = <1>;
226 lantiq,pull = <2>;
227 };
228 };
229
230 pci_req2_pins: pci-req2 {
231 mux {
232 lantiq,groups = "req2";
233 lantiq,function = "pci";
234 lantiq,output = <0>;
235 lantiq,open-drain = <1>;
236 lantiq,pull = <2>;
237 };
238 };
239
240 stp_pins: stp-pins {
241 mux {
242 lantiq,groups = "stp";
243 lantiq,function = "stp";
244 lantiq,pull = <0>;
245 lantiq,open-drain = <0>;
246 lantiq,output = <1>;
247 };
248 };
249 };
250
251 asc1: serial@e100c00 {
252 compatible = "lantiq,asc";
253 reg = <0xe100c00 0x400>;
254 interrupt-parent = <&icu0>;
255 interrupts = <112 113 114>;
256 };
257
258 usb: usb@e101000 {
259 #address-cells = <1>;
260 #size-cells = <0>;
261 compatible = "lantiq,danube-usb";
262 reg = <0xe101000 0x1000
263 0xe120000 0x3f000>;
264 interrupt-parent = <&icu0>;
265 interrupts = <62>;
266 dr_mode = "host";
267 phys = <&usb_phy>;
268 phy-names = "usb2-phy";
269 status = "disabled";
270
271 ehci_port1: port@1 {
272 reg = <1>;
273 #trigger-source-cells = <0>;
274 };
275 };
276
277 deu@e103100 {
278 compatible = "lantiq,deu-danube";
279 reg = <0xe103100 0xf00>;
280 };
281
282 dma0: dma@e104100 {
283 compatible = "lantiq,dma-xway";
284 reg = <0xe104100 0x800>;
285 };
286
287 ebu0: ebu@e105300 {
288 compatible = "lantiq,ebu-xway";
289 reg = <0xe105300 0x100>;
290 };
291
292 mei@e116000 {
293 compatible = "lantiq,mei-xway";
294 reg = <0xe116000 0x400>;
295 interrupt-parent = <&icu0>;
296 interrupts = <63>;
297 };
298
299 gsw: etop@e180000 {
300 compatible = "lantiq,etop-xway";
301 reg = <0xe180000 0x40000>;
302 interrupt-parent = <&icu0>;
303 interrupts = <73 78>;
304 mac-address = [ 00 11 22 33 44 55 ];
305 };
306
307 ppe@e234000 {
308 compatible = "lantiq,ppe-danube";
309 reg = <0xe234000 0x40000>;
310 interrupt-parent = <&icu0>;
311 interrupts = <96>;
312 };
313
314 pci0: pci@e105400 {
315 status = "disabled";
316
317 #address-cells = <3>;
318 #size-cells = <2>;
319 #interrupt-cells = <1>;
320 compatible = "lantiq,pci-xway";
321 bus-range = <0x0 0x0>;
322 ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */
323 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */
324
325 reg = <0xe105400 0x400>, <0x7000000 0x8000>;
326 reg-names = "ctrl", "config";
327
328 lantiq,bus-clock = <33333333>;
329 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
330 interrupt-map = <0x7000 0 0 1 &icu0 30 1>; /* slot 14, irq 30 */
331 req-mask = <0x1>; /* GNT1 */
332
333 resets = <&reset 13 13>;
334 reset-names = "pci";
335
336 device_type = "pci";
337 };
338 };
339
340 adsl {
341 compatible = "lantiq,adsl-danube";
342 };
343 };