aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
authorStefan Agner <stefan@agner.ch>2015-03-01 17:41:29 -0500
committerShawn Guo <shawn.guo@linaro.org>2015-03-30 04:43:48 -0400
commitc09d0f7ce05fb2d85edab12c99f0beb8f5c8f487 (patch)
tree56089003de506bbf70b826e395c8ec7eb27c27d1 /arch/arm/boot
parent649b1fe856ad577a5db1b613c9fb0167a10abd8c (diff)
ARM: dts: vf610: add Miscellaneous System Control Module (MSCM)
Add the Miscellaneous System Control Module (MSCM) to the base device tree for Vybrid SoC's. This module contains registers to get information of the individual and current (accessing) CPU. In a second block, there is an interrupt router, which handles the routing of the interrupts between the two CPU cores on VF6xx variants of the SoC. However, also on single core variants the interrupt router needs to be configured in order to receive interrupts on the CPU's interrupt controller. Almost all peripheral interrupts are routed through the router, hence the MSCM module is the default interrupt parent for this SoC. In a earlier commit the interrupt nodes were moved out of the peripheral nodes and specified in the CPU specific vf500.dtsi device tree. This allowed to use the base device tree vfxxx.dtsi also for a Cortex-M4 specific device tree, which uses different interrupt nodes due to the NVIC interrupt controller. However, since the interrupt parent for peripherals is the MSCM module independently which CPU the device tree is used for, we can move the interrupt nodes into the base device tree vfxxx.dtsi again. Depending on which CPU this base device tree will be used with, the correct parent interrupt controller has to be assigned to the MSCM-IR node (GIC or NVIC). The driver takes care of the parent interrupt controller specific needs (interrupt-cells). Acked-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r--arch/arm/boot/dts/vf500.dtsi141
-rw-r--r--arch/arm/boot/dts/vfxxx.dtsi50
2 files changed, 54 insertions, 137 deletions
diff --git a/arch/arm/boot/dts/vf500.dtsi b/arch/arm/boot/dts/vf500.dtsi
index f5f807c77ba7..e976d2fa1527 100644
--- a/arch/arm/boot/dts/vf500.dtsi
+++ b/arch/arm/boot/dts/vf500.dtsi
@@ -24,14 +24,13 @@
24 }; 24 };
25 25
26 soc { 26 soc {
27 interrupt-parent = <&intc>;
28
29 aips-bus@40000000 { 27 aips-bus@40000000 {
30 28
31 intc: interrupt-controller@40002000 { 29 intc: interrupt-controller@40002000 {
32 compatible = "arm,cortex-a9-gic"; 30 compatible = "arm,cortex-a9-gic";
33 #interrupt-cells = <3>; 31 #interrupt-cells = <3>;
34 interrupt-controller; 32 interrupt-controller;
33 interrupt-parent = <&intc>;
35 reg = <0x40003000 0x1000>, 34 reg = <0x40003000 0x1000>,
36 <0x40002100 0x100>; 35 <0x40002100 0x100>;
37 }; 36 };
@@ -40,149 +39,17 @@
40 compatible = "arm,cortex-a9-global-timer"; 39 compatible = "arm,cortex-a9-global-timer";
41 reg = <0x40002200 0x20>; 40 reg = <0x40002200 0x20>;
42 interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>; 41 interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
42 interrupt-parent = <&intc>;
43 clocks = <&clks VF610_CLK_PLATFORM_BUS>; 43 clocks = <&clks VF610_CLK_PLATFORM_BUS>;
44 }; 44 };
45 }; 45 };
46 }; 46 };
47}; 47};
48 48
49&adc0 { 49&mscm_ir {
50 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 50 interrupt-parent = <&intc>;
51};
52
53&adc1 {
54 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
55};
56
57&can0 {
58 interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
59};
60
61&can1 {
62 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
63};
64
65&dspi0 {
66 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
67};
68
69&dspi1 {
70 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
71};
72
73&edma0 {
74 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
75 <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
76 interrupt-names = "edma-tx", "edma-err";
77};
78
79&edma1 {
80 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
81 <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
82 interrupt-names = "edma-tx", "edma-err";
83};
84
85&esdhc1 {
86 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
87};
88
89&fec0 {
90 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
91};
92
93&fec1 {
94 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
95};
96
97&ftm {
98 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
99};
100
101&gpio0 {
102 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
103};
104
105&gpio1 {
106 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
107};
108
109&gpio2 {
110 interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
111};
112
113&gpio3 {
114 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
115};
116
117&gpio4 {
118 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
119};
120
121&i2c0 {
122 interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
123};
124
125&pit {
126 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
127};
128
129&qspi0 {
130 interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
131};
132
133&sai2 {
134 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
135};
136
137&snvsrtc {
138 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
139};
140
141&src {
142 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
143};
144
145&uart0 {
146 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
147};
148
149&uart1 {
150 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
151};
152
153&uart2 {
154 interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
155};
156
157&uart3 {
158 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
159};
160
161&uart4 {
162 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
163};
164
165&uart5 {
166 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
167};
168
169&usbdev0 {
170 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
171};
172
173&usbh1 {
174 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
175};
176
177&usbphy0 {
178 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
179};
180
181&usbphy1 {
182 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
183}; 51};
184 52
185&wdoga5 { 53&wdoga5 {
186 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
187 status = "okay"; 54 status = "okay";
188}; 55};
diff --git a/arch/arm/boot/dts/vfxxx.dtsi b/arch/arm/boot/dts/vfxxx.dtsi
index 8dc3f339785b..e2536a4570fc 100644
--- a/arch/arm/boot/dts/vfxxx.dtsi
+++ b/arch/arm/boot/dts/vfxxx.dtsi
@@ -54,6 +54,7 @@
54 #address-cells = <1>; 54 #address-cells = <1>;
55 #size-cells = <1>; 55 #size-cells = <1>;
56 compatible = "simple-bus"; 56 compatible = "simple-bus";
57 interrupt-parent = <&mscm_ir>;
57 ranges; 58 ranges;
58 59
59 aips0: aips-bus@40000000 { 60 aips0: aips-bus@40000000 {
@@ -62,6 +63,19 @@
62 #size-cells = <1>; 63 #size-cells = <1>;
63 ranges; 64 ranges;
64 65
66 mscm_cpucfg: cpucfg@40001000 {
67 compatible = "fsl,vf610-mscm-cpucfg", "syscon";
68 reg = <0x40001000 0x800>;
69 };
70
71 mscm_ir: interrupt-controller@40001800 {
72 compatible = "fsl,vf610-mscm-ir";
73 reg = <0x40001800 0x400>;
74 fsl,cpucfg = <&mscm_cpucfg>;
75 interrupt-controller;
76 #interrupt-cells = <2>;
77 };
78
65 edma0: dma-controller@40018000 { 79 edma0: dma-controller@40018000 {
66 #dma-cells = <2>; 80 #dma-cells = <2>;
67 compatible = "fsl,vf610-edma"; 81 compatible = "fsl,vf610-edma";
@@ -69,6 +83,9 @@
69 <0x40024000 0x1000>, 83 <0x40024000 0x1000>,
70 <0x40025000 0x1000>; 84 <0x40025000 0x1000>;
71 dma-channels = <32>; 85 dma-channels = <32>;
86 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>,
87 <9 IRQ_TYPE_LEVEL_HIGH>;
88 interrupt-names = "edma-tx", "edma-err";
72 clock-names = "dmamux0", "dmamux1"; 89 clock-names = "dmamux0", "dmamux1";
73 clocks = <&clks VF610_CLK_DMAMUX0>, 90 clocks = <&clks VF610_CLK_DMAMUX0>,
74 <&clks VF610_CLK_DMAMUX1>; 91 <&clks VF610_CLK_DMAMUX1>;
@@ -78,6 +95,7 @@
78 can0: flexcan@40020000 { 95 can0: flexcan@40020000 {
79 compatible = "fsl,vf610-flexcan"; 96 compatible = "fsl,vf610-flexcan";
80 reg = <0x40020000 0x4000>; 97 reg = <0x40020000 0x4000>;
98 interrupts = <58 IRQ_TYPE_LEVEL_HIGH>;
81 clocks = <&clks VF610_CLK_FLEXCAN0>, 99 clocks = <&clks VF610_CLK_FLEXCAN0>,
82 <&clks VF610_CLK_FLEXCAN0>; 100 <&clks VF610_CLK_FLEXCAN0>;
83 clock-names = "ipg", "per"; 101 clock-names = "ipg", "per";
@@ -87,6 +105,7 @@
87 uart0: serial@40027000 { 105 uart0: serial@40027000 {
88 compatible = "fsl,vf610-lpuart"; 106 compatible = "fsl,vf610-lpuart";
89 reg = <0x40027000 0x1000>; 107 reg = <0x40027000 0x1000>;
108 interrupts = <61 IRQ_TYPE_LEVEL_HIGH>;
90 clocks = <&clks VF610_CLK_UART0>; 109 clocks = <&clks VF610_CLK_UART0>;
91 clock-names = "ipg"; 110 clock-names = "ipg";
92 dmas = <&edma0 0 2>, 111 dmas = <&edma0 0 2>,
@@ -98,6 +117,7 @@
98 uart1: serial@40028000 { 117 uart1: serial@40028000 {
99 compatible = "fsl,vf610-lpuart"; 118 compatible = "fsl,vf610-lpuart";
100 reg = <0x40028000 0x1000>; 119 reg = <0x40028000 0x1000>;
120 interrupts = <62 IRQ_TYPE_LEVEL_HIGH>;
101 clocks = <&clks VF610_CLK_UART1>; 121 clocks = <&clks VF610_CLK_UART1>;
102 clock-names = "ipg"; 122 clock-names = "ipg";
103 dmas = <&edma0 0 4>, 123 dmas = <&edma0 0 4>,
@@ -109,6 +129,7 @@
109 uart2: serial@40029000 { 129 uart2: serial@40029000 {
110 compatible = "fsl,vf610-lpuart"; 130 compatible = "fsl,vf610-lpuart";
111 reg = <0x40029000 0x1000>; 131 reg = <0x40029000 0x1000>;
132 interrupts = <63 IRQ_TYPE_LEVEL_HIGH>;
112 clocks = <&clks VF610_CLK_UART2>; 133 clocks = <&clks VF610_CLK_UART2>;
113 clock-names = "ipg"; 134 clock-names = "ipg";
114 dmas = <&edma0 0 6>, 135 dmas = <&edma0 0 6>,
@@ -120,6 +141,7 @@
120 uart3: serial@4002a000 { 141 uart3: serial@4002a000 {
121 compatible = "fsl,vf610-lpuart"; 142 compatible = "fsl,vf610-lpuart";
122 reg = <0x4002a000 0x1000>; 143 reg = <0x4002a000 0x1000>;
144 interrupts = <64 IRQ_TYPE_LEVEL_HIGH>;
123 clocks = <&clks VF610_CLK_UART3>; 145 clocks = <&clks VF610_CLK_UART3>;
124 clock-names = "ipg"; 146 clock-names = "ipg";
125 dmas = <&edma0 0 8>, 147 dmas = <&edma0 0 8>,
@@ -133,6 +155,7 @@
133 #size-cells = <0>; 155 #size-cells = <0>;
134 compatible = "fsl,vf610-dspi"; 156 compatible = "fsl,vf610-dspi";
135 reg = <0x4002c000 0x1000>; 157 reg = <0x4002c000 0x1000>;
158 interrupts = <67 IRQ_TYPE_LEVEL_HIGH>;
136 clocks = <&clks VF610_CLK_DSPI0>; 159 clocks = <&clks VF610_CLK_DSPI0>;
137 clock-names = "dspi"; 160 clock-names = "dspi";
138 spi-num-chipselects = <5>; 161 spi-num-chipselects = <5>;
@@ -144,6 +167,7 @@
144 #size-cells = <0>; 167 #size-cells = <0>;
145 compatible = "fsl,vf610-dspi"; 168 compatible = "fsl,vf610-dspi";
146 reg = <0x4002d000 0x1000>; 169 reg = <0x4002d000 0x1000>;
170 interrupts = <68 IRQ_TYPE_LEVEL_HIGH>;
147 clocks = <&clks VF610_CLK_DSPI1>; 171 clocks = <&clks VF610_CLK_DSPI1>;
148 clock-names = "dspi"; 172 clock-names = "dspi";
149 spi-num-chipselects = <5>; 173 spi-num-chipselects = <5>;
@@ -153,6 +177,7 @@
153 sai2: sai@40031000 { 177 sai2: sai@40031000 {
154 compatible = "fsl,vf610-sai"; 178 compatible = "fsl,vf610-sai";
155 reg = <0x40031000 0x1000>; 179 reg = <0x40031000 0x1000>;
180 interrupts = <86 IRQ_TYPE_LEVEL_HIGH>;
156 clocks = <&clks VF610_CLK_SAI2>; 181 clocks = <&clks VF610_CLK_SAI2>;
157 clock-names = "sai"; 182 clock-names = "sai";
158 dma-names = "tx", "rx"; 183 dma-names = "tx", "rx";
@@ -164,6 +189,7 @@
164 pit: pit@40037000 { 189 pit: pit@40037000 {
165 compatible = "fsl,vf610-pit"; 190 compatible = "fsl,vf610-pit";
166 reg = <0x40037000 0x1000>; 191 reg = <0x40037000 0x1000>;
192 interrupts = <39 IRQ_TYPE_LEVEL_HIGH>;
167 clocks = <&clks VF610_CLK_PIT>; 193 clocks = <&clks VF610_CLK_PIT>;
168 clock-names = "pit"; 194 clock-names = "pit";
169 }; 195 };
@@ -197,6 +223,7 @@
197 adc0: adc@4003b000 { 223 adc0: adc@4003b000 {
198 compatible = "fsl,vf610-adc"; 224 compatible = "fsl,vf610-adc";
199 reg = <0x4003b000 0x1000>; 225 reg = <0x4003b000 0x1000>;
226 interrupts = <53 IRQ_TYPE_LEVEL_HIGH>;
200 clocks = <&clks VF610_CLK_ADC0>; 227 clocks = <&clks VF610_CLK_ADC0>;
201 clock-names = "adc"; 228 clock-names = "adc";
202 status = "disabled"; 229 status = "disabled";
@@ -205,6 +232,7 @@
205 wdoga5: wdog@4003e000 { 232 wdoga5: wdog@4003e000 {
206 compatible = "fsl,vf610-wdt", "fsl,imx21-wdt"; 233 compatible = "fsl,vf610-wdt", "fsl,imx21-wdt";
207 reg = <0x4003e000 0x1000>; 234 reg = <0x4003e000 0x1000>;
235 interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
208 clocks = <&clks VF610_CLK_WDT>; 236 clocks = <&clks VF610_CLK_WDT>;
209 clock-names = "wdog"; 237 clock-names = "wdog";
210 status = "disabled"; 238 status = "disabled";
@@ -215,6 +243,7 @@
215 #size-cells = <0>; 243 #size-cells = <0>;
216 compatible = "fsl,vf610-qspi"; 244 compatible = "fsl,vf610-qspi";
217 reg = <0x40044000 0x1000>; 245 reg = <0x40044000 0x1000>;
246 interrupts = <24 IRQ_TYPE_LEVEL_HIGH>;
218 clocks = <&clks VF610_CLK_QSPI0_EN>, 247 clocks = <&clks VF610_CLK_QSPI0_EN>,
219 <&clks VF610_CLK_QSPI0>; 248 <&clks VF610_CLK_QSPI0>;
220 clock-names = "qspi_en", "qspi"; 249 clock-names = "qspi_en", "qspi";
@@ -231,6 +260,7 @@
231 reg = <0x40049000 0x1000 0x400ff000 0x40>; 260 reg = <0x40049000 0x1000 0x400ff000 0x40>;
232 gpio-controller; 261 gpio-controller;
233 #gpio-cells = <2>; 262 #gpio-cells = <2>;
263 interrupts = <107 IRQ_TYPE_LEVEL_HIGH>;
234 interrupt-controller; 264 interrupt-controller;
235 #interrupt-cells = <2>; 265 #interrupt-cells = <2>;
236 gpio-ranges = <&iomuxc 0 0 32>; 266 gpio-ranges = <&iomuxc 0 0 32>;
@@ -241,6 +271,7 @@
241 reg = <0x4004a000 0x1000 0x400ff040 0x40>; 271 reg = <0x4004a000 0x1000 0x400ff040 0x40>;
242 gpio-controller; 272 gpio-controller;
243 #gpio-cells = <2>; 273 #gpio-cells = <2>;
274 interrupts = <108 IRQ_TYPE_LEVEL_HIGH>;
244 interrupt-controller; 275 interrupt-controller;
245 #interrupt-cells = <2>; 276 #interrupt-cells = <2>;
246 gpio-ranges = <&iomuxc 0 32 32>; 277 gpio-ranges = <&iomuxc 0 32 32>;
@@ -251,6 +282,7 @@
251 reg = <0x4004b000 0x1000 0x400ff080 0x40>; 282 reg = <0x4004b000 0x1000 0x400ff080 0x40>;
252 gpio-controller; 283 gpio-controller;
253 #gpio-cells = <2>; 284 #gpio-cells = <2>;
285 interrupts = <109 IRQ_TYPE_LEVEL_HIGH>;
254 interrupt-controller; 286 interrupt-controller;
255 #interrupt-cells = <2>; 287 #interrupt-cells = <2>;
256 gpio-ranges = <&iomuxc 0 64 32>; 288 gpio-ranges = <&iomuxc 0 64 32>;
@@ -261,6 +293,7 @@
261 reg = <0x4004c000 0x1000 0x400ff0c0 0x40>; 293 reg = <0x4004c000 0x1000 0x400ff0c0 0x40>;
262 gpio-controller; 294 gpio-controller;
263 #gpio-cells = <2>; 295 #gpio-cells = <2>;
296 interrupts = <110 IRQ_TYPE_LEVEL_HIGH>;
264 interrupt-controller; 297 interrupt-controller;
265 #interrupt-cells = <2>; 298 #interrupt-cells = <2>;
266 gpio-ranges = <&iomuxc 0 96 32>; 299 gpio-ranges = <&iomuxc 0 96 32>;
@@ -271,6 +304,7 @@
271 reg = <0x4004d000 0x1000 0x400ff100 0x40>; 304 reg = <0x4004d000 0x1000 0x400ff100 0x40>;
272 gpio-controller; 305 gpio-controller;
273 #gpio-cells = <2>; 306 #gpio-cells = <2>;
307 interrupts = <111 IRQ_TYPE_LEVEL_HIGH>;
274 interrupt-controller; 308 interrupt-controller;
275 #interrupt-cells = <2>; 309 #interrupt-cells = <2>;
276 gpio-ranges = <&iomuxc 0 128 7>; 310 gpio-ranges = <&iomuxc 0 128 7>;
@@ -284,6 +318,7 @@
284 usbphy0: usbphy@40050800 { 318 usbphy0: usbphy@40050800 {
285 compatible = "fsl,vf610-usbphy"; 319 compatible = "fsl,vf610-usbphy";
286 reg = <0x40050800 0x400>; 320 reg = <0x40050800 0x400>;
321 interrupts = <50 IRQ_TYPE_LEVEL_HIGH>;
287 clocks = <&clks VF610_CLK_USBPHY0>; 322 clocks = <&clks VF610_CLK_USBPHY0>;
288 fsl,anatop = <&anatop>; 323 fsl,anatop = <&anatop>;
289 status = "disabled"; 324 status = "disabled";
@@ -292,6 +327,7 @@
292 usbphy1: usbphy@40050c00 { 327 usbphy1: usbphy@40050c00 {
293 compatible = "fsl,vf610-usbphy"; 328 compatible = "fsl,vf610-usbphy";
294 reg = <0x40050c00 0x400>; 329 reg = <0x40050c00 0x400>;
330 interrupts = <51 IRQ_TYPE_LEVEL_HIGH>;
295 clocks = <&clks VF610_CLK_USBPHY1>; 331 clocks = <&clks VF610_CLK_USBPHY1>;
296 fsl,anatop = <&anatop>; 332 fsl,anatop = <&anatop>;
297 status = "disabled"; 333 status = "disabled";
@@ -302,6 +338,7 @@
302 #size-cells = <0>; 338 #size-cells = <0>;
303 compatible = "fsl,vf610-i2c"; 339 compatible = "fsl,vf610-i2c";
304 reg = <0x40066000 0x1000>; 340 reg = <0x40066000 0x1000>;
341 interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
305 clocks = <&clks VF610_CLK_I2C0>; 342 clocks = <&clks VF610_CLK_I2C0>;
306 clock-names = "ipg"; 343 clock-names = "ipg";
307 dmas = <&edma0 0 50>, 344 dmas = <&edma0 0 50>,
@@ -321,6 +358,7 @@
321 usbdev0: usb@40034000 { 358 usbdev0: usb@40034000 {
322 compatible = "fsl,vf610-usb", "fsl,imx27-usb"; 359 compatible = "fsl,vf610-usb", "fsl,imx27-usb";
323 reg = <0x40034000 0x800>; 360 reg = <0x40034000 0x800>;
361 interrupts = <75 IRQ_TYPE_LEVEL_HIGH>;
324 clocks = <&clks VF610_CLK_USBC0>; 362 clocks = <&clks VF610_CLK_USBC0>;
325 fsl,usbphy = <&usbphy0>; 363 fsl,usbphy = <&usbphy0>;
326 fsl,usbmisc = <&usbmisc0 0>; 364 fsl,usbmisc = <&usbmisc0 0>;
@@ -355,6 +393,9 @@
355 <0x400a1000 0x1000>, 393 <0x400a1000 0x1000>,
356 <0x400a2000 0x1000>; 394 <0x400a2000 0x1000>;
357 dma-channels = <32>; 395 dma-channels = <32>;
396 interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
397 <11 IRQ_TYPE_LEVEL_HIGH>;
398 interrupt-names = "edma-tx", "edma-err";
358 clock-names = "dmamux0", "dmamux1"; 399 clock-names = "dmamux0", "dmamux1";
359 clocks = <&clks VF610_CLK_DMAMUX2>, 400 clocks = <&clks VF610_CLK_DMAMUX2>,
360 <&clks VF610_CLK_DMAMUX3>; 401 <&clks VF610_CLK_DMAMUX3>;
@@ -378,6 +419,7 @@
378 uart4: serial@400a9000 { 419 uart4: serial@400a9000 {
379 compatible = "fsl,vf610-lpuart"; 420 compatible = "fsl,vf610-lpuart";
380 reg = <0x400a9000 0x1000>; 421 reg = <0x400a9000 0x1000>;
422 interrupts = <65 IRQ_TYPE_LEVEL_HIGH>;
381 clocks = <&clks VF610_CLK_UART4>; 423 clocks = <&clks VF610_CLK_UART4>;
382 clock-names = "ipg"; 424 clock-names = "ipg";
383 status = "disabled"; 425 status = "disabled";
@@ -386,6 +428,7 @@
386 uart5: serial@400aa000 { 428 uart5: serial@400aa000 {
387 compatible = "fsl,vf610-lpuart"; 429 compatible = "fsl,vf610-lpuart";
388 reg = <0x400aa000 0x1000>; 430 reg = <0x400aa000 0x1000>;
431 interrupts = <66 IRQ_TYPE_LEVEL_HIGH>;
389 clocks = <&clks VF610_CLK_UART5>; 432 clocks = <&clks VF610_CLK_UART5>;
390 clock-names = "ipg"; 433 clock-names = "ipg";
391 status = "disabled"; 434 status = "disabled";
@@ -394,6 +437,7 @@
394 adc1: adc@400bb000 { 437 adc1: adc@400bb000 {
395 compatible = "fsl,vf610-adc"; 438 compatible = "fsl,vf610-adc";
396 reg = <0x400bb000 0x1000>; 439 reg = <0x400bb000 0x1000>;
440 interrupts = <54 IRQ_TYPE_LEVEL_HIGH>;
397 clocks = <&clks VF610_CLK_ADC1>; 441 clocks = <&clks VF610_CLK_ADC1>;
398 clock-names = "adc"; 442 clock-names = "adc";
399 status = "disabled"; 443 status = "disabled";
@@ -402,6 +446,7 @@
402 esdhc1: esdhc@400b2000 { 446 esdhc1: esdhc@400b2000 {
403 compatible = "fsl,imx53-esdhc"; 447 compatible = "fsl,imx53-esdhc";
404 reg = <0x400b2000 0x1000>; 448 reg = <0x400b2000 0x1000>;
449 interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
405 clocks = <&clks VF610_CLK_IPG_BUS>, 450 clocks = <&clks VF610_CLK_IPG_BUS>,
406 <&clks VF610_CLK_PLATFORM_BUS>, 451 <&clks VF610_CLK_PLATFORM_BUS>,
407 <&clks VF610_CLK_ESDHC1>; 452 <&clks VF610_CLK_ESDHC1>;
@@ -412,6 +457,7 @@
412 usbh1: usb@400b4000 { 457 usbh1: usb@400b4000 {
413 compatible = "fsl,vf610-usb", "fsl,imx27-usb"; 458 compatible = "fsl,vf610-usb", "fsl,imx27-usb";
414 reg = <0x400b4000 0x800>; 459 reg = <0x400b4000 0x800>;
460 interrupts = <76 IRQ_TYPE_LEVEL_HIGH>;
415 clocks = <&clks VF610_CLK_USBC1>; 461 clocks = <&clks VF610_CLK_USBC1>;
416 fsl,usbphy = <&usbphy1>; 462 fsl,usbphy = <&usbphy1>;
417 fsl,usbmisc = <&usbmisc1 0>; 463 fsl,usbmisc = <&usbmisc1 0>;
@@ -430,6 +476,7 @@
430 ftm: ftm@400b8000 { 476 ftm: ftm@400b8000 {
431 compatible = "fsl,ftm-timer"; 477 compatible = "fsl,ftm-timer";
432 reg = <0x400b8000 0x1000 0x400b9000 0x1000>; 478 reg = <0x400b8000 0x1000 0x400b9000 0x1000>;
479 interrupts = <44 IRQ_TYPE_LEVEL_HIGH>;
433 clock-names = "ftm-evt", "ftm-src", 480 clock-names = "ftm-evt", "ftm-src",
434 "ftm-evt-counter-en", "ftm-src-counter-en"; 481 "ftm-evt-counter-en", "ftm-src-counter-en";
435 clocks = <&clks VF610_CLK_FTM2>, 482 clocks = <&clks VF610_CLK_FTM2>,
@@ -442,6 +489,7 @@
442 fec0: ethernet@400d0000 { 489 fec0: ethernet@400d0000 {
443 compatible = "fsl,mvf600-fec"; 490 compatible = "fsl,mvf600-fec";
444 reg = <0x400d0000 0x1000>; 491 reg = <0x400d0000 0x1000>;
492 interrupts = <78 IRQ_TYPE_LEVEL_HIGH>;
445 clocks = <&clks VF610_CLK_ENET0>, 493 clocks = <&clks VF610_CLK_ENET0>,
446 <&clks VF610_CLK_ENET0>, 494 <&clks VF610_CLK_ENET0>,
447 <&clks VF610_CLK_ENET>; 495 <&clks VF610_CLK_ENET>;
@@ -452,6 +500,7 @@
452 fec1: ethernet@400d1000 { 500 fec1: ethernet@400d1000 {
453 compatible = "fsl,mvf600-fec"; 501 compatible = "fsl,mvf600-fec";
454 reg = <0x400d1000 0x1000>; 502 reg = <0x400d1000 0x1000>;
503 interrupts = <79 IRQ_TYPE_LEVEL_HIGH>;
455 clocks = <&clks VF610_CLK_ENET1>, 504 clocks = <&clks VF610_CLK_ENET1>,
456 <&clks VF610_CLK_ENET1>, 505 <&clks VF610_CLK_ENET1>,
457 <&clks VF610_CLK_ENET>; 506 <&clks VF610_CLK_ENET>;
@@ -462,6 +511,7 @@
462 can1: flexcan@400d4000 { 511 can1: flexcan@400d4000 {
463 compatible = "fsl,vf610-flexcan"; 512 compatible = "fsl,vf610-flexcan";
464 reg = <0x400d4000 0x4000>; 513 reg = <0x400d4000 0x4000>;
514 interrupts = <59 IRQ_TYPE_LEVEL_HIGH>;
465 clocks = <&clks VF610_CLK_FLEXCAN1>, 515 clocks = <&clks VF610_CLK_FLEXCAN1>,
466 <&clks VF610_CLK_FLEXCAN1>; 516 <&clks VF610_CLK_FLEXCAN1>;
467 clock-names = "ipg", "per"; 517 clock-names = "ipg", "per";