Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[linux-2.6-block.git] / arch / mips / boot / dts / brcm / bcm7346.dtsi
CommitLineData
8945e37e
KC
1/ {
2 #address-cells = <1>;
3 #size-cells = <1>;
4 compatible = "brcm,bcm7346";
5
6 cpus {
7 #address-cells = <1>;
8 #size-cells = <0>;
9
10 mips-hpt-frequency = <163125000>;
11
12 cpu@0 {
13 compatible = "brcm,bmips5000";
14 device_type = "cpu";
15 reg = <0>;
16 };
17
18 cpu@1 {
19 compatible = "brcm,bmips5000";
20 device_type = "cpu";
21 reg = <1>;
22 };
23 };
24
25 aliases {
26 uart0 = &uart0;
8bac078c
JS
27 uart1 = &uart1;
28 uart2 = &uart2;
8945e37e
KC
29 };
30
31 cpu_intc: cpu_intc {
32 #address-cells = <0>;
33 compatible = "mti,cpu-interrupt-controller";
34
35 interrupt-controller;
36 #interrupt-cells = <1>;
37 };
38
39 clocks {
40 uart_clk: uart_clk {
41 compatible = "fixed-clock";
42 #clock-cells = <0>;
43 clock-frequency = <81000000>;
44 };
45 };
46
47 rdb {
48 #address-cells = <1>;
49 #size-cells = <1>;
50
51 compatible = "simple-bus";
52 ranges = <0 0x10000000 0x01000000>;
53
54 periph_intc: periph_intc@411400 {
55 compatible = "brcm,bcm7038-l1-intc";
56 reg = <0x411400 0x30>, <0x411600 0x30>;
57
58 interrupt-controller;
59 #interrupt-cells = <1>;
60
61 interrupt-parent = <&cpu_intc>;
62 interrupts = <2>, <3>;
63 };
64
65 sun_l2_intc: sun_l2_intc@403000 {
66 compatible = "brcm,l2-intc";
67 reg = <0x403000 0x30>;
68 interrupt-controller;
69 #interrupt-cells = <1>;
70 interrupt-parent = <&periph_intc>;
71 interrupts = <51>;
72 };
73
74 gisb-arb@400000 {
75 compatible = "brcm,bcm7400-gisb-arb";
76 reg = <0x400000 0xdc>;
77 native-endian;
78 interrupt-parent = <&sun_l2_intc>;
79 interrupts = <0>, <2>;
80 brcm,gisb-arb-master-mask = <0x673>;
81 brcm,gisb-arb-master-names = "ssp_0", "cpu_0", "bsp_0",
82 "rdc_0", "raaga_0",
83 "jtag_0", "svd_0";
84 };
85
86 upg_irq0_intc: upg_irq0_intc@406780 {
87 compatible = "brcm,bcm7120-l2-intc";
88 reg = <0x406780 0x8>;
89
39d9b6b2 90 brcm,int-map-mask = <0x44>, <0xf000000>;
8945e37e
KC
91 brcm,int-fwd-mask = <0x70000>;
92
93 interrupt-controller;
94 #interrupt-cells = <1>;
95
96 interrupt-parent = <&periph_intc>;
39d9b6b2
JS
97 interrupts = <59>, <57>;
98 interrupt-names = "upg_main", "upg_bsc";
99 };
100
101 upg_aon_irq0_intc: upg_aon_irq0_intc@408b80 {
102 compatible = "brcm,bcm7120-l2-intc";
103 reg = <0x408b80 0x8>;
104
105 brcm,int-map-mask = <0x40>, <0x8000000>, <0x100000>;
106 brcm,int-fwd-mask = <0>;
107 brcm,irq-can-wake;
108
109 interrupt-controller;
110 #interrupt-cells = <1>;
111
112 interrupt-parent = <&periph_intc>;
113 interrupts = <60>, <58>, <62>;
114 interrupt-names = "upg_main_aon", "upg_bsc_aon",
115 "upg_spi";
8945e37e
KC
116 };
117
118 sun_top_ctrl: syscon@404000 {
119 compatible = "brcm,bcm7346-sun-top-ctrl", "syscon";
120 reg = <0x404000 0x51c>;
320549a2 121 little-endian;
8945e37e
KC
122 };
123
124 reboot {
125 compatible = "brcm,brcmstb-reboot";
126 syscon = <&sun_top_ctrl 0x304 0x308>;
127 };
128
129 uart0: serial@406900 {
130 compatible = "ns16550a";
131 reg = <0x406900 0x20>;
132 reg-io-width = <0x4>;
133 reg-shift = <0x2>;
134 native-endian;
135 interrupt-parent = <&periph_intc>;
136 interrupts = <64>;
137 clocks = <&uart_clk>;
138 status = "disabled";
139 };
140
8bac078c
JS
141 uart1: serial@406940 {
142 compatible = "ns16550a";
143 reg = <0x406940 0x20>;
144 reg-io-width = <0x4>;
145 reg-shift = <0x2>;
146 native-endian;
147 interrupt-parent = <&periph_intc>;
148 interrupts = <65>;
149 clocks = <&uart_clk>;
150 status = "disabled";
151 };
152
153 uart2: serial@406980 {
154 compatible = "ns16550a";
155 reg = <0x406980 0x20>;
156 reg-io-width = <0x4>;
157 reg-shift = <0x2>;
158 native-endian;
159 interrupt-parent = <&periph_intc>;
160 interrupts = <66>;
161 clocks = <&uart_clk>;
162 status = "disabled";
163 };
164
39d9b6b2
JS
165 bsca: i2c@406200 {
166 clock-frequency = <390000>;
167 compatible = "brcm,brcmstb-i2c";
168 interrupt-parent = <&upg_irq0_intc>;
169 reg = <0x406200 0x58>;
170 interrupts = <24>;
171 interrupt-names = "upg_bsca";
172 status = "disabled";
173 };
174
175 bscb: i2c@406280 {
176 clock-frequency = <390000>;
177 compatible = "brcm,brcmstb-i2c";
178 interrupt-parent = <&upg_irq0_intc>;
179 reg = <0x406280 0x58>;
180 interrupts = <25>;
181 interrupt-names = "upg_bscb";
182 status = "disabled";
183 };
184
185 bscc: i2c@406300 {
186 clock-frequency = <390000>;
187 compatible = "brcm,brcmstb-i2c";
188 interrupt-parent = <&upg_irq0_intc>;
189 reg = <0x406300 0x58>;
190 interrupts = <26>;
191 interrupt-names = "upg_bscc";
192 status = "disabled";
193 };
194
195 bscd: i2c@406380 {
196 clock-frequency = <390000>;
197 compatible = "brcm,brcmstb-i2c";
198 interrupt-parent = <&upg_irq0_intc>;
199 reg = <0x406380 0x58>;
200 interrupts = <27>;
201 interrupt-names = "upg_bscd";
202 status = "disabled";
203 };
204
205 bsce: i2c@408980 {
206 clock-frequency = <390000>;
207 compatible = "brcm,brcmstb-i2c";
208 interrupt-parent = <&upg_aon_irq0_intc>;
209 reg = <0x408980 0x58>;
210 interrupts = <27>;
211 interrupt-names = "upg_bsce";
212 status = "disabled";
213 };
214
8945e37e
KC
215 enet0: ethernet@430000 {
216 phy-mode = "internal";
217 phy-handle = <&phy1>;
218 mac-address = [ 00 10 18 36 23 1a ];
219 compatible = "brcm,genet-v2";
220 #address-cells = <0x1>;
221 #size-cells = <0x1>;
222 reg = <0x430000 0x4c8c>;
223 interrupts = <24>, <25>;
224 interrupt-parent = <&periph_intc>;
225 status = "disabled";
226
227 mdio@e14 {
228 compatible = "brcm,genet-mdio-v2";
229 #address-cells = <0x1>;
230 #size-cells = <0x0>;
231 reg = <0xe14 0x8>;
232
233 phy1: ethernet-phy@1 {
234 max-speed = <100>;
235 reg = <0x1>;
236 compatible = "brcm,40nm-ephy",
237 "ethernet-phy-ieee802.3-c22";
238 };
239 };
240 };
241
242 ehci0: usb@480300 {
243 compatible = "brcm,bcm7346-ehci", "generic-ehci";
244 reg = <0x480300 0x100>;
245 native-endian;
246 interrupt-parent = <&periph_intc>;
247 interrupts = <68>;
248 status = "disabled";
249 };
250
251 ohci0: usb@480400 {
252 compatible = "brcm,bcm7346-ohci", "generic-ohci";
253 reg = <0x480400 0x100>;
254 native-endian;
255 no-big-frame-no;
256 interrupt-parent = <&periph_intc>;
257 interrupts = <70>;
258 status = "disabled";
259 };
260
261 ehci1: usb@480500 {
262 compatible = "brcm,bcm7346-ehci", "generic-ehci";
263 reg = <0x480500 0x100>;
264 native-endian;
265 interrupt-parent = <&periph_intc>;
266 interrupts = <69>;
267 status = "disabled";
268 };
269
270 ohci1: usb@480600 {
271 compatible = "brcm,bcm7346-ohci", "generic-ohci";
272 reg = <0x480600 0x100>;
273 native-endian;
274 no-big-frame-no;
275 interrupt-parent = <&periph_intc>;
276 interrupts = <71>;
277 status = "disabled";
278 };
279
280 ehci2: usb@490300 {
281 compatible = "brcm,bcm7346-ehci", "generic-ehci";
282 reg = <0x490300 0x100>;
283 native-endian;
284 interrupt-parent = <&periph_intc>;
285 interrupts = <73>;
286 status = "disabled";
287 };
288
289 ohci2: usb@490400 {
290 compatible = "brcm,bcm7346-ohci", "generic-ohci";
291 reg = <0x490400 0x100>;
292 native-endian;
293 no-big-frame-no;
294 interrupt-parent = <&periph_intc>;
295 interrupts = <75>;
296 status = "disabled";
297 };
298
299 ehci3: usb@490500 {
300 compatible = "brcm,bcm7346-ehci", "generic-ehci";
301 reg = <0x490500 0x100>;
302 native-endian;
303 interrupt-parent = <&periph_intc>;
304 interrupts = <74>;
305 status = "disabled";
306 };
307
308 ohci3: usb@490600 {
309 compatible = "brcm,bcm7346-ohci", "generic-ohci";
310 reg = <0x490600 0x100>;
311 native-endian;
312 no-big-frame-no;
313 interrupt-parent = <&periph_intc>;
314 interrupts = <76>;
315 status = "disabled";
316 };
19e88101
JS
317
318 sata: sata@181000 {
319 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
320 reg-names = "ahci", "top-ctrl";
321 reg = <0x181000 0xa9c>, <0x180020 0x1c>;
322 interrupt-parent = <&periph_intc>;
323 interrupts = <40>;
324 #address-cells = <1>;
325 #size-cells = <0>;
326 brcm,broken-ncq;
327 brcm,broken-phy;
328 status = "disabled";
329
330 sata0: sata-port@0 {
331 reg = <0>;
332 phys = <&sata_phy0>;
333 };
334
335 sata1: sata-port@1 {
336 reg = <1>;
337 phys = <&sata_phy1>;
338 };
339 };
340
341 sata_phy: sata-phy@1800000 {
342 compatible = "brcm,bcm7425-sata-phy", "brcm,phy-sata3";
343 reg = <0x180100 0x0eff>;
344 reg-names = "phy";
345 #address-cells = <1>;
346 #size-cells = <0>;
347 status = "disabled";
348
349 sata_phy0: sata-phy@0 {
350 reg = <0>;
351 #phy-cells = <0>;
352 };
353
354 sata_phy1: sata-phy@1 {
355 reg = <1>;
356 #phy-cells = <0>;
357 };
358 };
8945e37e
KC
359 };
360};