2 * Copyright (C) 2012 Marvell Technology Group Ltd.
3 * Author: Haojian Zhuang <haojian.zhuang@marvell.com>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * publishhed by the Free Software Foundation.
10 #include <dt-bindings/clock/marvell,mmp2.h>
28 compatible = "simple-bus";
29 interrupt-parent = <&intc>;
33 compatible = "marvell,tauros2-cache";
34 marvell,tauros2-cache-features = <0x3>;
37 axi@d4200000 { /* AXI */
38 compatible = "mrvl,axi-bus", "simple-bus";
41 reg = <0xd4200000 0x00200000>;
44 intc: interrupt-controller@d4282000 {
45 compatible = "mrvl,mmp2-intc";
47 #interrupt-cells = <1>;
48 reg = <0xd4282000 0x1000>;
49 mrvl,intc-nr-irqs = <64>;
52 intcmux4: interrupt-controller@d4282150 {
53 compatible = "mrvl,mmp2-mux-intc";
56 #interrupt-cells = <1>;
57 reg = <0x150 0x4>, <0x168 0x4>;
58 reg-names = "mux status", "mux mask";
59 mrvl,intc-nr-irqs = <2>;
62 intcmux5: interrupt-controller@d4282154 {
63 compatible = "mrvl,mmp2-mux-intc";
66 #interrupt-cells = <1>;
67 reg = <0x154 0x4>, <0x16c 0x4>;
68 reg-names = "mux status", "mux mask";
69 mrvl,intc-nr-irqs = <2>;
70 mrvl,clr-mfp-irq = <1>;
73 intcmux9: interrupt-controller@d4282180 {
74 compatible = "mrvl,mmp2-mux-intc";
77 #interrupt-cells = <1>;
78 reg = <0x180 0x4>, <0x17c 0x4>;
79 reg-names = "mux status", "mux mask";
80 mrvl,intc-nr-irqs = <3>;
83 intcmux17: interrupt-controller@d4282158 {
84 compatible = "mrvl,mmp2-mux-intc";
87 #interrupt-cells = <1>;
88 reg = <0x158 0x4>, <0x170 0x4>;
89 reg-names = "mux status", "mux mask";
90 mrvl,intc-nr-irqs = <5>;
93 intcmux35: interrupt-controller@d428215c {
94 compatible = "mrvl,mmp2-mux-intc";
97 #interrupt-cells = <1>;
98 reg = <0x15c 0x4>, <0x174 0x4>;
99 reg-names = "mux status", "mux mask";
100 mrvl,intc-nr-irqs = <15>;
103 intcmux51: interrupt-controller@d4282160 {
104 compatible = "mrvl,mmp2-mux-intc";
106 interrupt-controller;
107 #interrupt-cells = <1>;
108 reg = <0x160 0x4>, <0x178 0x4>;
109 reg-names = "mux status", "mux mask";
110 mrvl,intc-nr-irqs = <2>;
113 intcmux55: interrupt-controller@d4282188 {
114 compatible = "mrvl,mmp2-mux-intc";
116 interrupt-controller;
117 #interrupt-cells = <1>;
118 reg = <0x188 0x4>, <0x184 0x4>;
119 reg-names = "mux status", "mux mask";
120 mrvl,intc-nr-irqs = <2>;
123 usb_otg_phy0: usb-otg-phy@d4207000 {
124 compatible = "marvell,mmp2-usb-phy";
125 reg = <0xd4207000 0x40>;
130 usb_otg0: usb-otg@d4208000 {
131 compatible = "marvell,pxau2o-ehci";
132 reg = <0xd4208000 0x200>;
134 clocks = <&soc_clocks MMP2_CLK_USB>;
135 clock-names = "USBCLK";
136 phys = <&usb_otg_phy0>;
142 compatible = "mrvl,pxav3-mmc";
143 reg = <0xd4280000 0x120>;
144 clocks = <&soc_clocks MMP2_CLK_SDH0>;
151 compatible = "mrvl,pxav3-mmc";
152 reg = <0xd4280800 0x120>;
153 clocks = <&soc_clocks MMP2_CLK_SDH1>;
160 compatible = "mrvl,pxav3-mmc";
161 reg = <0xd4281000 0x120>;
162 clocks = <&soc_clocks MMP2_CLK_SDH2>;
169 compatible = "mrvl,pxav3-mmc";
170 reg = <0xd4281800 0x120>;
171 clocks = <&soc_clocks MMP2_CLK_SDH3>;
178 apb@d4000000 { /* APB */
179 compatible = "mrvl,apb-bus", "simple-bus";
180 #address-cells = <1>;
182 reg = <0xd4000000 0x00200000>;
185 timer0: timer@d4014000 {
186 compatible = "mrvl,mmp-timer";
187 reg = <0xd4014000 0x100>;
189 clocks = <&soc_clocks MMP2_CLK_TIMER>;
192 uart1: uart@d4030000 {
193 compatible = "mrvl,mmp-uart";
194 reg = <0xd4030000 0x1000>;
196 clocks = <&soc_clocks MMP2_CLK_UART0>;
197 resets = <&soc_clocks MMP2_CLK_UART0>;
201 uart2: uart@d4017000 {
202 compatible = "mrvl,mmp-uart";
203 reg = <0xd4017000 0x1000>;
205 clocks = <&soc_clocks MMP2_CLK_UART1>;
206 resets = <&soc_clocks MMP2_CLK_UART1>;
210 uart3: uart@d4018000 {
211 compatible = "mrvl,mmp-uart";
212 reg = <0xd4018000 0x1000>;
214 clocks = <&soc_clocks MMP2_CLK_UART2>;
215 resets = <&soc_clocks MMP2_CLK_UART2>;
219 uart4: uart@d4016000 {
220 compatible = "mrvl,mmp-uart";
221 reg = <0xd4016000 0x1000>;
223 clocks = <&soc_clocks MMP2_CLK_UART3>;
224 resets = <&soc_clocks MMP2_CLK_UART3>;
228 gpio: gpio@d4019000 {
229 compatible = "marvell,mmp2-gpio";
230 #address-cells = <1>;
232 reg = <0xd4019000 0x1000>;
236 interrupt-names = "gpio_mux";
237 clocks = <&soc_clocks MMP2_CLK_GPIO>;
238 resets = <&soc_clocks MMP2_CLK_GPIO>;
239 interrupt-controller;
240 #interrupt-cells = <2>;
243 gcb0: gpio@d4019000 {
244 reg = <0xd4019000 0x4>;
247 gcb1: gpio@d4019004 {
248 reg = <0xd4019004 0x4>;
251 gcb2: gpio@d4019008 {
252 reg = <0xd4019008 0x4>;
255 gcb3: gpio@d4019100 {
256 reg = <0xd4019100 0x4>;
259 gcb4: gpio@d4019104 {
260 reg = <0xd4019104 0x4>;
263 gcb5: gpio@d4019108 {
264 reg = <0xd4019108 0x4>;
268 twsi1: i2c@d4011000 {
269 compatible = "mrvl,mmp-twsi";
270 reg = <0xd4011000 0x1000>;
272 clocks = <&soc_clocks MMP2_CLK_TWSI0>;
273 resets = <&soc_clocks MMP2_CLK_TWSI0>;
274 #address-cells = <1>;
280 twsi2: i2c@d4031000 {
281 compatible = "mrvl,mmp-twsi";
282 reg = <0xd4031000 0x1000>;
283 interrupt-parent = <&intcmux17>;
285 clocks = <&soc_clocks MMP2_CLK_TWSI1>;
286 resets = <&soc_clocks MMP2_CLK_TWSI1>;
287 #address-cells = <1>;
292 twsi3: i2c@d4032000 {
293 compatible = "mrvl,mmp-twsi";
294 reg = <0xd4032000 0x1000>;
295 interrupt-parent = <&intcmux17>;
297 clocks = <&soc_clocks MMP2_CLK_TWSI2>;
298 resets = <&soc_clocks MMP2_CLK_TWSI2>;
299 #address-cells = <1>;
304 twsi4: i2c@d4033000 {
305 compatible = "mrvl,mmp-twsi";
306 reg = <0xd4033000 0x1000>;
307 interrupt-parent = <&intcmux17>;
309 clocks = <&soc_clocks MMP2_CLK_TWSI3>;
310 resets = <&soc_clocks MMP2_CLK_TWSI3>;
311 #address-cells = <1>;
317 twsi5: i2c@d4033800 {
318 compatible = "mrvl,mmp-twsi";
319 reg = <0xd4033800 0x1000>;
320 interrupt-parent = <&intcmux17>;
322 clocks = <&soc_clocks MMP2_CLK_TWSI4>;
323 resets = <&soc_clocks MMP2_CLK_TWSI4>;
324 #address-cells = <1>;
329 twsi6: i2c@d4034000 {
330 compatible = "mrvl,mmp-twsi";
331 reg = <0xd4034000 0x1000>;
332 interrupt-parent = <&intcmux17>;
334 clocks = <&soc_clocks MMP2_CLK_TWSI5>;
335 resets = <&soc_clocks MMP2_CLK_TWSI5>;
336 #address-cells = <1>;
342 compatible = "mrvl,mmp-rtc";
343 reg = <0xd4010000 0x1000>;
345 interrupt-names = "rtc 1Hz", "rtc alarm";
346 interrupt-parent = <&intcmux5>;
347 clocks = <&soc_clocks MMP2_CLK_RTC>;
348 resets = <&soc_clocks MMP2_CLK_RTC>;
353 compatible = "marvell,mmp2-ssp";
354 reg = <0xd4035000 0x1000>;
355 clocks = <&soc_clocks MMP2_CLK_SSP0>;
361 compatible = "marvell,mmp2-ssp";
362 reg = <0xd4036000 0x1000>;
363 clocks = <&soc_clocks MMP2_CLK_SSP1>;
369 compatible = "marvell,mmp2-ssp";
370 reg = <0xd4037000 0x1000>;
371 clocks = <&soc_clocks MMP2_CLK_SSP2>;
377 compatible = "marvell,mmp2-ssp";
378 reg = <0xd4039000 0x1000>;
379 clocks = <&soc_clocks MMP2_CLK_SSP3>;
386 compatible = "marvell,mmp2-clock";
387 reg = <0xd4050000 0x1000>,
390 reg-names = "mpmu", "apmu", "apbc";