blob: 6ca4fc144a33a6b4344c1ee02e70d6bdbf04a7d8 [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>;
Grant Likelyb8842452009-02-03 12:30:26 -070020 interrupt-parent = <&mpc5200_pic>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110021
22 cpus {
23 #address-cells = <1>;
24 #size-cells = <0>;
25
26 PowerPC,5200@0 {
27 device_type = "cpu";
28 reg = <0>;
Grant Likelya2884f32008-04-29 07:19:07 -060029 d-cache-line-size = <32>;
30 i-cache-line-size = <32>;
31 d-cache-size = <0x4000>; // L1, 16K
32 i-cache-size = <0x4000>; // L1, 16K
Marian Balakowicz0238aa52007-11-10 04:12:49 +110033 timebase-frequency = <0>; // from bootloader
34 bus-frequency = <0>; // from bootloader
35 clock-frequency = <0>; // from bootloader
36 };
37 };
38
39 memory {
40 device_type = "memory";
Grant Likelya2884f32008-04-29 07:19:07 -060041 reg = <0x00000000 0x04000000>; // 64MB
Marian Balakowicz0238aa52007-11-10 04:12:49 +110042 };
43
44 soc5200@f0000000 {
Paul Gortmaker58a5be32008-01-26 07:33:20 +110045 #address-cells = <1>;
46 #size-cells = <1>;
Grant Likely24ce6bc2008-01-24 22:25:31 -070047 compatible = "fsl,mpc5200b-immr";
Grant Likelya2884f32008-04-29 07:19:07 -060048 ranges = <0 0xf0000000 0x0000c000>;
49 reg = <0xf0000000 0x00000100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110050 bus-frequency = <0>; // from bootloader
51 system-frequency = <0>; // from bootloader
52
53 cdm@200 {
Grant Likely24ce6bc2008-01-24 22:25:31 -070054 compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm";
Grant Likelya2884f32008-04-29 07:19:07 -060055 reg = <0x200 0x38>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110056 };
57
Grant Likely24ce6bc2008-01-24 22:25:31 -070058 mpc5200_pic: interrupt-controller@500 {
Marian Balakowicz0238aa52007-11-10 04:12:49 +110059 // 5200 interrupts are encoded into two levels;
60 interrupt-controller;
61 #interrupt-cells = <3>;
Grant Likely24ce6bc2008-01-24 22:25:31 -070062 compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic";
Grant Likelya2884f32008-04-29 07:19:07 -060063 reg = <0x500 0x80>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110064 };
65
Grant Likely24ce6bc2008-01-24 22:25:31 -070066 timer@600 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +110067 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060068 reg = <0x600 0x10>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110069 interrupts = <1 9 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110070 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 };
78
Grant Likely24ce6bc2008-01-24 22:25:31 -070079 timer@620 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +110080 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060081 reg = <0x620 0x10>;
82 interrupts = <1 11 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110083 };
84
Grant Likely24ce6bc2008-01-24 22:25:31 -070085 timer@630 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +110086 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060087 reg = <0x630 0x10>;
88 interrupts = <1 12 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110089 };
90
Grant Likely24ce6bc2008-01-24 22:25:31 -070091 timer@640 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +110092 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060093 reg = <0x640 0x10>;
94 interrupts = <1 13 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +110095 };
96
Grant Likely24ce6bc2008-01-24 22:25:31 -070097 timer@650 { // General Purpose Timer
Marian Balakowicz0238aa52007-11-10 04:12:49 +110098 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060099 reg = <0x650 0x10>;
100 interrupts = <1 14 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100101 };
102
103 motionpro-led@660 { // Motion-PRO status LED
104 compatible = "promess,motionpro-led";
105 label = "motionpro-statusled";
Grant Likelya2884f32008-04-29 07:19:07 -0600106 reg = <0x660 0x10>;
107 interrupts = <1 15 0>;
Grant Likelya2884f32008-04-29 07:19:07 -0600108 blink-delay = <100>; // 100 msec
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100109 };
110
111 motionpro-led@670 { // Motion-PRO ready LED
112 compatible = "promess,motionpro-led";
113 label = "motionpro-readyled";
Grant Likelya2884f32008-04-29 07:19:07 -0600114 reg = <0x670 0x10>;
115 interrupts = <1 16 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100116 };
117
118 rtc@800 { // Real time clock
Grant Likely24ce6bc2008-01-24 22:25:31 -0700119 compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc";
Grant Likelya2884f32008-04-29 07:19:07 -0600120 reg = <0x800 0x100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100121 interrupts = <1 5 0 1 6 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100122 };
123
Grant Likelya2884f32008-04-29 07:19:07 -0600124 can@980 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700125 compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan";
Grant Likelya2884f32008-04-29 07:19:07 -0600126 interrupts = <2 18 0>;
Grant Likelya2884f32008-04-29 07:19:07 -0600127 reg = <0x980 0x80>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100128 };
129
Grant Likelyb8842452009-02-03 12:30:26 -0700130 gpio_simple: gpio@b00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700131 compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
Grant Likelya2884f32008-04-29 07:19:07 -0600132 reg = <0xb00 0x40>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100133 interrupts = <1 7 0>;
Grant Likelyb8842452009-02-03 12:30:26 -0700134 gpio-controller;
135 #gpio-cells = <2>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100136 };
137
Grant Likelyb8842452009-02-03 12:30:26 -0700138 gpio_wkup: gpio@c00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700139 compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
Grant Likelya2884f32008-04-29 07:19:07 -0600140 reg = <0xc00 0x40>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100141 interrupts = <1 8 0 0 3 0>;
Grant Likelyb8842452009-02-03 12:30:26 -0700142 gpio-controller;
143 #gpio-cells = <2>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100144 };
145
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100146 spi@f00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700147 compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
Grant Likelya2884f32008-04-29 07:19:07 -0600148 reg = <0xf00 0x20>;
149 interrupts = <2 13 0 2 14 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100150 };
151
152 usb@1000 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700153 compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
Grant Likelya2884f32008-04-29 07:19:07 -0600154 reg = <0x1000 0xff>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100155 interrupts = <2 6 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100156 };
157
158 dma-controller@1200 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700159 compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm";
Grant Likelya2884f32008-04-29 07:19:07 -0600160 reg = <0x1200 0x80>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100161 interrupts = <3 0 0 3 1 0 3 2 0 3 3 0
162 3 4 0 3 5 0 3 6 0 3 7 0
Grant Likelya2884f32008-04-29 07:19:07 -0600163 3 8 0 3 9 0 3 10 0 3 11 0
164 3 12 0 3 13 0 3 14 0 3 15 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100165 };
166
167 xlb@1f00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700168 compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb";
Grant Likelya2884f32008-04-29 07:19:07 -0600169 reg = <0x1f00 0x100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100170 };
171
172 serial@2000 { // PSC1
Grant Likely24ce6bc2008-01-24 22:25:31 -0700173 compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
Grant Likelya2884f32008-04-29 07:19:07 -0600174 reg = <0x2000 0x100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100175 interrupts = <2 1 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100176 };
177
178 // PSC2 in spi master mode
179 spi@2200 { // PSC2
Grant Likely24ce6bc2008-01-24 22:25:31 -0700180 compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi";
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100181 cell-index = <1>;
Grant Likelya2884f32008-04-29 07:19:07 -0600182 reg = <0x2200 0x100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100183 interrupts = <2 2 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100184 };
185
186 // PSC5 in uart mode
187 serial@2800 { // PSC5
Grant Likely24ce6bc2008-01-24 22:25:31 -0700188 compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
Grant Likelya2884f32008-04-29 07:19:07 -0600189 reg = <0x2800 0x100>;
190 interrupts = <2 12 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100191 };
192
193 ethernet@3000 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700194 compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
Grant Likelya2884f32008-04-29 07:19:07 -0600195 reg = <0x3000 0x400>;
Grant Likely24ce6bc2008-01-24 22:25:31 -0700196 local-mac-address = [ 00 00 00 00 00 00 ];
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100197 interrupts = <2 5 0>;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100198 phy-handle = <&phy0>;
199 };
200
201 mdio@3000 {
202 #address-cells = <1>;
203 #size-cells = <0>;
204 compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
Grant Likelya2884f32008-04-29 07:19:07 -0600205 reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100206 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100207
208 phy0: ethernet-phy@2 {
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100209 reg = <2>;
210 };
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100211 };
212
213 ata@3a00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700214 compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata";
Grant Likelya2884f32008-04-29 07:19:07 -0600215 reg = <0x3a00 0x100>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100216 interrupts = <2 7 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100217 };
218
219 i2c@3d40 {
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100220 #address-cells = <1>;
221 #size-cells = <0>;
Grant Likely24ce6bc2008-01-24 22:25:31 -0700222 compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
Grant Likelya2884f32008-04-29 07:19:07 -0600223 reg = <0x3d40 0x40>;
224 interrupts = <2 16 0>;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100225
226 rtc@68 {
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100227 compatible = "dallas,ds1339";
Grant Likelya2884f32008-04-29 07:19:07 -0600228 reg = <0x68>;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100229 };
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100230 };
231
232 sram@8000 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700233 compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram";
Grant Likelya2884f32008-04-29 07:19:07 -0600234 reg = <0x8000 0x4000>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100235 };
236 };
237
Grant Likelyb8842452009-02-03 12:30:26 -0700238 localbus {
239 compatible = "fsl,mpc5200b-lpb","simple-bus";
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100240 #address-cells = <2>;
241 #size-cells = <1>;
Grant Likelya2884f32008-04-29 07:19:07 -0600242 ranges = <0 0 0xff000000 0x01000000
243 1 0 0x50000000 0x00010000
244 2 0 0x50010000 0x00010000
245 3 0 0x50020000 0x00010000>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100246
247 // 8-bit DualPort SRAM on LocalPlus Bus CS1
248 kollmorgen@1,0 {
249 compatible = "promess,motionpro-kollmorgen";
Grant Likelya2884f32008-04-29 07:19:07 -0600250 reg = <1 0 0x10000>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100251 interrupts = <1 1 0>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100252 };
253
254 // 8-bit board CPLD on LocalPlus Bus CS2
255 cpld@2,0 {
256 compatible = "promess,motionpro-cpld";
Grant Likelya2884f32008-04-29 07:19:07 -0600257 reg = <2 0 0x10000>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100258 };
259
260 // 8-bit custom Anybus Module on LocalPlus Bus CS3
261 anybus@3,0 {
262 compatible = "promess,motionpro-anybus";
Grant Likelya2884f32008-04-29 07:19:07 -0600263 reg = <3 0 0x10000>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100264 };
265 pro_module_general@3,0 {
266 compatible = "promess,pro_module_general";
267 reg = <3 0 3>;
268 };
269 pro_module_dio@3,800 {
270 compatible = "promess,pro_module_dio";
Grant Likelya2884f32008-04-29 07:19:07 -0600271 reg = <3 0x800 2>;
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100272 };
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100273
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100274 // 16-bit flash device at LocalPlus Bus CS0
275 flash@0,0 {
276 compatible = "cfi-flash";
Grant Likelya2884f32008-04-29 07:19:07 -0600277 reg = <0 0 0x01000000>;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100278 bank-width = <2>;
279 device-width = <2>;
280 #size-cells = <1>;
281 #address-cells = <1>;
282 };
Marian Balakowicz0238aa52007-11-10 04:12:49 +1100283 };
284};