blob: 9e3c921be16473b79934384b6145c97b17a3e186 [file] [log] [blame]
Marian Balakowicz0238aa52007-11-10 04:12:49 +11001/*
2 * Motion-PRO board Device Tree Source
3 *
4 * Copyright (C) 2007 Semihalf
5 * Marian Balakowicz <m8@semihalf.com>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License as published by the
9 * Free Software Foundation; either version 2 of the License, or (at your
10 * option) any later version.
11 */
12
Grant Likelya2884f32008-04-29 07:19:07 -060013/dts-v1/;
14
Marian Balakowicz0238aa52007-11-10 04:12:49 +110015/ {
16 model = "promess,motionpro";
17 compatible = "promess,motionpro";
18 #address-cells = <1>;
19 #size-cells = <1>;
20
21 cpus {
22 #address-cells = <1>;
23 #size-cells = <0>;
24
25 PowerPC,5200@0 {
26 device_type = "cpu";
27 reg = <0>;
Grant Likelya2884f32008-04-29 07:19:07 -060028 d-cache-line-size = <32>;
29 i-cache-line-size = <32>;
30 d-cache-size = <0x4000>; // L1, 16K
31 i-cache-size = <0x4000>; // L1, 16K
Marian Balakowicz0238aa52007-11-10 04:12:49 +110032 timebase-frequency = <0>; // from bootloader
33 bus-frequency = <0>; // from bootloader
34 clock-frequency = <0>; // from bootloader
35 };
36 };
37
38 memory {
39 device_type = "memory";
Grant Likelya2884f32008-04-29 07:19:07 -060040 reg = <0x00000000 0x04000000>; // 64MB
Marian Balakowicz0238aa52007-11-10 04:12:49 +110041 };
42
43 soc5200@f0000000 {
Paul Gortmaker58a5be32008-01-26 07:33:20 +110044 #address-cells = <1>;
45 #size-cells = <1>;
Grant Likely24ce6bc2008-01-24 22:25:31 -070046 compatible = "fsl,mpc5200b-immr";
Grant Likelya2884f32008-04-29 07:19:07 -060047 ranges = <0 0xf0000000 0x0000c000>;
48 reg = <0xf0000000 0x00000100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110049 bus-frequency = <0>; // from bootloader
50 system-frequency = <0>; // from bootloader
51
52 cdm@200 {
Grant Likely24ce6bc2008-01-24 22:25:31 -070053 compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm";
Grant Likelya2884f32008-04-29 07:19:07 -060054 reg = <0x200 0x38>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110055 };
56
Grant Likely24ce6bc2008-01-24 22:25:31 -070057 mpc5200_pic: interrupt-controller@500 {
Marian Balakowicz0238aa52007-11-10 04:12:49 +110058 // 5200 interrupts are encoded into two levels;
59 interrupt-controller;
60 #interrupt-cells = <3>;
Grant Likely24ce6bc2008-01-24 22:25:31 -070061 compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic";
Grant Likelya2884f32008-04-29 07:19:07 -060062 reg = <0x500 0x80>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110063 };
64
Grant Likely24ce6bc2008-01-24 22:25:31 -070065 timer@600 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +110066 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060067 reg = <0x600 0x10>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110068 interrupts = <1 9 0>;
69 interrupt-parent = <&mpc5200_pic>;
70 fsl,has-wdt;
71 };
72
Grant Likely24ce6bc2008-01-24 22:25:31 -070073 timer@610 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +110074 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060075 reg = <0x610 0x10>;
76 interrupts = <1 10 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110077 interrupt-parent = <&mpc5200_pic>;
78 };
79
Grant Likely24ce6bc2008-01-24 22:25:31 -070080 timer@620 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +110081 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060082 reg = <0x620 0x10>;
83 interrupts = <1 11 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110084 interrupt-parent = <&mpc5200_pic>;
85 };
86
Grant Likely24ce6bc2008-01-24 22:25:31 -070087 timer@630 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +110088 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060089 reg = <0x630 0x10>;
90 interrupts = <1 12 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110091 interrupt-parent = <&mpc5200_pic>;
92 };
93
Grant Likely24ce6bc2008-01-24 22:25:31 -070094 timer@640 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +110095 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060096 reg = <0x640 0x10>;
97 interrupts = <1 13 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110098 interrupt-parent = <&mpc5200_pic>;
99 };
100
Grant Likely24ce6bc2008-01-24 22:25:31 -0700101 timer@650 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100102 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -0600103 reg = <0x650 0x10>;
104 interrupts = <1 14 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100105 interrupt-parent = <&mpc5200_pic>;
106 };
107
108 motionpro-led@660 { // Motion-PRO status LED
109 compatible = "promess,motionpro-led";
110 label = "motionpro-statusled";
Grant Likelya2884f32008-04-29 07:19:07 -0600111 reg = <0x660 0x10>;
112 interrupts = <1 15 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100113 interrupt-parent = <&mpc5200_pic>;
Grant Likelya2884f32008-04-29 07:19:07 -0600114 blink-delay = <100>; // 100 msec
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100115 };
116
117 motionpro-led@670 { // Motion-PRO ready LED
118 compatible = "promess,motionpro-led";
119 label = "motionpro-readyled";
Grant Likelya2884f32008-04-29 07:19:07 -0600120 reg = <0x670 0x10>;
121 interrupts = <1 16 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100122 interrupt-parent = <&mpc5200_pic>;
123 };
124
125 rtc@800 { // Real time clock
Grant Likely24ce6bc2008-01-24 22:25:31 -0700126 compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc";
Grant Likelya2884f32008-04-29 07:19:07 -0600127 reg = <0x800 0x100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100128 interrupts = <1 5 0 1 6 0>;
129 interrupt-parent = <&mpc5200_pic>;
130 };
131
Grant Likelya2884f32008-04-29 07:19:07 -0600132 can@980 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700133 compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan";
Grant Likelya2884f32008-04-29 07:19:07 -0600134 interrupts = <2 18 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100135 interrupt-parent = <&mpc5200_pic>;
Grant Likelya2884f32008-04-29 07:19:07 -0600136 reg = <0x980 0x80>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100137 };
138
139 gpio@b00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700140 compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
Grant Likelya2884f32008-04-29 07:19:07 -0600141 reg = <0xb00 0x40>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100142 interrupts = <1 7 0>;
143 interrupt-parent = <&mpc5200_pic>;
144 };
145
Grant Likely24ce6bc2008-01-24 22:25:31 -0700146 gpio@c00 {
147 compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
Grant Likelya2884f32008-04-29 07:19:07 -0600148 reg = <0xc00 0x40>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100149 interrupts = <1 8 0 0 3 0>;
150 interrupt-parent = <&mpc5200_pic>;
151 };
152
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100153 spi@f00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700154 compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
Grant Likelya2884f32008-04-29 07:19:07 -0600155 reg = <0xf00 0x20>;
156 interrupts = <2 13 0 2 14 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100157 interrupt-parent = <&mpc5200_pic>;
158 };
159
160 usb@1000 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700161 compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
Grant Likelya2884f32008-04-29 07:19:07 -0600162 reg = <0x1000 0xff>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100163 interrupts = <2 6 0>;
164 interrupt-parent = <&mpc5200_pic>;
165 };
166
167 dma-controller@1200 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700168 compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm";
Grant Likelya2884f32008-04-29 07:19:07 -0600169 reg = <0x1200 0x80>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100170 interrupts = <3 0 0 3 1 0 3 2 0 3 3 0
171 3 4 0 3 5 0 3 6 0 3 7 0
Grant Likelya2884f32008-04-29 07:19:07 -0600172 3 8 0 3 9 0 3 10 0 3 11 0
173 3 12 0 3 13 0 3 14 0 3 15 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100174 interrupt-parent = <&mpc5200_pic>;
175 };
176
177 xlb@1f00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700178 compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb";
Grant Likelya2884f32008-04-29 07:19:07 -0600179 reg = <0x1f00 0x100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100180 };
181
182 serial@2000 { // PSC1
183 device_type = "serial";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700184 compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100185 port-number = <0>; // Logical port assignment
Grant Likelya2884f32008-04-29 07:19:07 -0600186 reg = <0x2000 0x100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100187 interrupts = <2 1 0>;
188 interrupt-parent = <&mpc5200_pic>;
189 };
190
191 // PSC2 in spi master mode
192 spi@2200 { // PSC2
Grant Likely24ce6bc2008-01-24 22:25:31 -0700193 compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi";
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100194 cell-index = <1>;
Grant Likelya2884f32008-04-29 07:19:07 -0600195 reg = <0x2200 0x100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100196 interrupts = <2 2 0>;
197 interrupt-parent = <&mpc5200_pic>;
198 };
199
200 // PSC5 in uart mode
201 serial@2800 { // PSC5
202 device_type = "serial";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700203 compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100204 port-number = <4>; // Logical port assignment
Grant Likelya2884f32008-04-29 07:19:07 -0600205 reg = <0x2800 0x100>;
206 interrupts = <2 12 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100207 interrupt-parent = <&mpc5200_pic>;
208 };
209
210 ethernet@3000 {
211 device_type = "network";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700212 compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
Grant Likelya2884f32008-04-29 07:19:07 -0600213 reg = <0x3000 0x400>;
Grant Likely24ce6bc2008-01-24 22:25:31 -0700214 local-mac-address = [ 00 00 00 00 00 00 ];
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100215 interrupts = <2 5 0>;
216 interrupt-parent = <&mpc5200_pic>;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100217 phy-handle = <&phy0>;
218 };
219
220 mdio@3000 {
221 #address-cells = <1>;
222 #size-cells = <0>;
223 compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
Grant Likelya2884f32008-04-29 07:19:07 -0600224 reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100225 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
226 interrupt-parent = <&mpc5200_pic>;
227
228 phy0: ethernet-phy@2 {
229 device_type = "ethernet-phy";
230 reg = <2>;
231 };
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100232 };
233
234 ata@3a00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700235 compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata";
Grant Likelya2884f32008-04-29 07:19:07 -0600236 reg = <0x3a00 0x100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100237 interrupts = <2 7 0>;
238 interrupt-parent = <&mpc5200_pic>;
239 };
240
241 i2c@3d40 {
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100242 #address-cells = <1>;
243 #size-cells = <0>;
Grant Likely24ce6bc2008-01-24 22:25:31 -0700244 compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
Grant Likelya2884f32008-04-29 07:19:07 -0600245 reg = <0x3d40 0x40>;
246 interrupts = <2 16 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100247 interrupt-parent = <&mpc5200_pic>;
248 fsl5200-clocking;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100249
250 rtc@68 {
251 device_type = "rtc";
252 compatible = "dallas,ds1339";
Grant Likelya2884f32008-04-29 07:19:07 -0600253 reg = <0x68>;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100254 };
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100255 };
256
257 sram@8000 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700258 compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram";
Grant Likelya2884f32008-04-29 07:19:07 -0600259 reg = <0x8000 0x4000>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100260 };
261 };
262
263 lpb {
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100264 compatible = "fsl,lpb";
265 #address-cells = <2>;
266 #size-cells = <1>;
Grant Likelya2884f32008-04-29 07:19:07 -0600267 ranges = <0 0 0xff000000 0x01000000
268 1 0 0x50000000 0x00010000
269 2 0 0x50010000 0x00010000
270 3 0 0x50020000 0x00010000>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100271
272 // 8-bit DualPort SRAM on LocalPlus Bus CS1
273 kollmorgen@1,0 {
274 compatible = "promess,motionpro-kollmorgen";
Grant Likelya2884f32008-04-29 07:19:07 -0600275 reg = <1 0 0x10000>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100276 interrupts = <1 1 0>;
277 interrupt-parent = <&mpc5200_pic>;
278 };
279
280 // 8-bit board CPLD on LocalPlus Bus CS2
281 cpld@2,0 {
282 compatible = "promess,motionpro-cpld";
Grant Likelya2884f32008-04-29 07:19:07 -0600283 reg = <2 0 0x10000>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100284 };
285
286 // 8-bit custom Anybus Module on LocalPlus Bus CS3
287 anybus@3,0 {
288 compatible = "promess,motionpro-anybus";
Grant Likelya2884f32008-04-29 07:19:07 -0600289 reg = <3 0 0x10000>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100290 };
291 pro_module_general@3,0 {
292 compatible = "promess,pro_module_general";
293 reg = <3 0 3>;
294 };
295 pro_module_dio@3,800 {
296 compatible = "promess,pro_module_dio";
Grant Likelya2884f32008-04-29 07:19:07 -0600297 reg = <3 0x800 2>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100298 };
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100299
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100300 // 16-bit flash device at LocalPlus Bus CS0
301 flash@0,0 {
302 compatible = "cfi-flash";
Grant Likelya2884f32008-04-29 07:19:07 -0600303 reg = <0 0 0x01000000>;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100304 bank-width = <2>;
305 device-width = <2>;
306 #size-cells = <1>;
307 #address-cells = <1>;
308 };
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100309 };
310};