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