blob: 2f74cc4e093e16564548179cd035b1df304112a9 [file] [log] [blame]
Marian Balakowicz8bd3b702007-11-10 04:12:31 +11001/*
2 * CM5200 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/;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +110014
15/ {
16 model = "schindler,cm5200";
17 compatible = "schindler,cm5200";
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 Balakowicz8bd3b702007-11-10 04:12:31 +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 Balakowicz8bd3b702007-11-10 04:12:31 +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 Balakowicz8bd3b702007-11-10 04:12:31 +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 Balakowicz8bd3b702007-11-10 04:12:31 +110055 };
56
Grant Likelya2884f32008-04-29 07:19:07 -060057 mpc5200_pic: interrupt-controller@500 {
Marian Balakowicz8bd3b702007-11-10 04:12:31 +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 Balakowicz8bd3b702007-11-10 04:12:31 +110063 };
64
Grant Likely24ce6bc2008-01-24 22:25:31 -070065 timer@600 { // General Purpose Timer
Marian Balakowicz8bd3b702007-11-10 04:12:31 +110066 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -060067 reg = <0x600 0x10>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +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 Balakowicz8bd3b702007-11-10 04:12:31 +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 Balakowicz8bd3b702007-11-10 04:12:31 +110077 interrupt-parent = <&mpc5200_pic>;
78 };
79
Grant Likely24ce6bc2008-01-24 22:25:31 -070080 timer@620 { // General Purpose Timer
Marian Balakowicz8bd3b702007-11-10 04:12:31 +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 Balakowicz8bd3b702007-11-10 04:12:31 +110084 interrupt-parent = <&mpc5200_pic>;
85 };
86
Grant Likely24ce6bc2008-01-24 22:25:31 -070087 timer@630 { // General Purpose Timer
Marian Balakowicz8bd3b702007-11-10 04:12:31 +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 Balakowicz8bd3b702007-11-10 04:12:31 +110091 interrupt-parent = <&mpc5200_pic>;
92 };
93
Grant Likely24ce6bc2008-01-24 22:25:31 -070094 timer@640 { // General Purpose Timer
Marian Balakowicz8bd3b702007-11-10 04:12:31 +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 Balakowicz8bd3b702007-11-10 04:12:31 +110098 interrupt-parent = <&mpc5200_pic>;
99 };
100
Grant Likely24ce6bc2008-01-24 22:25:31 -0700101 timer@650 { // General Purpose Timer
Marian Balakowicz8bd3b702007-11-10 04:12:31 +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 Balakowicz8bd3b702007-11-10 04:12:31 +1100105 interrupt-parent = <&mpc5200_pic>;
106 };
107
Grant Likely24ce6bc2008-01-24 22:25:31 -0700108 timer@660 { // General Purpose Timer
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100109 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -0600110 reg = <0x660 0x10>;
111 interrupts = <1 15 0>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100112 interrupt-parent = <&mpc5200_pic>;
113 };
114
Grant Likely24ce6bc2008-01-24 22:25:31 -0700115 timer@670 { // General Purpose Timer
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100116 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
Grant Likelya2884f32008-04-29 07:19:07 -0600117 reg = <0x670 0x10>;
118 interrupts = <1 16 0>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100119 interrupt-parent = <&mpc5200_pic>;
120 };
121
122 rtc@800 { // Real time clock
Grant Likely24ce6bc2008-01-24 22:25:31 -0700123 compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc";
Grant Likelya2884f32008-04-29 07:19:07 -0600124 reg = <0x800 0x100>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100125 interrupts = <1 5 0 1 6 0>;
126 interrupt-parent = <&mpc5200_pic>;
127 };
128
129 gpio@b00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700130 compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio";
Grant Likelya2884f32008-04-29 07:19:07 -0600131 reg = <0xb00 0x40>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100132 interrupts = <1 7 0>;
133 interrupt-parent = <&mpc5200_pic>;
134 };
135
Grant Likely24ce6bc2008-01-24 22:25:31 -0700136 gpio@c00 {
137 compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup";
Grant Likelya2884f32008-04-29 07:19:07 -0600138 reg = <0xc00 0x40>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100139 interrupts = <1 8 0 0 3 0>;
140 interrupt-parent = <&mpc5200_pic>;
141 };
142
143 spi@f00 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700144 compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
Grant Likelya2884f32008-04-29 07:19:07 -0600145 reg = <0xf00 0x20>;
146 interrupts = <2 13 0 2 14 0>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100147 interrupt-parent = <&mpc5200_pic>;
148 };
149
150 usb@1000 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700151 compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be";
Grant Likelya2884f32008-04-29 07:19:07 -0600152 reg = <0x1000 0xff>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100153 interrupts = <2 6 0>;
154 interrupt-parent = <&mpc5200_pic>;
155 };
156
157 dma-controller@1200 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700158 compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm";
Grant Likelya2884f32008-04-29 07:19:07 -0600159 reg = <0x1200 0x80>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100160 interrupts = <3 0 0 3 1 0 3 2 0 3 3 0
161 3 4 0 3 5 0 3 6 0 3 7 0
Grant Likelya2884f32008-04-29 07:19:07 -0600162 3 8 0 3 9 0 3 10 0 3 11 0
163 3 12 0 3 13 0 3 14 0 3 15 0>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100164 interrupt-parent = <&mpc5200_pic>;
165 };
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 Balakowicz8bd3b702007-11-10 04:12:31 +1100170 };
171
172 serial@2000 { // PSC1
173 device_type = "serial";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700174 compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100175 port-number = <0>; // Logical port assignment
Grant Likelya2884f32008-04-29 07:19:07 -0600176 reg = <0x2000 0x100>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100177 interrupts = <2 1 0>;
178 interrupt-parent = <&mpc5200_pic>;
179 };
180
181 serial@2200 { // PSC2
182 device_type = "serial";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700183 compatible = "fsl,mpc5200-psc-uart";
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100184 port-number = <1>; // Logical port assignment
Grant Likelya2884f32008-04-29 07:19:07 -0600185 reg = <0x2200 0x100>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100186 interrupts = <2 2 0>;
187 interrupt-parent = <&mpc5200_pic>;
188 };
189
190 serial@2400 { // PSC3
191 device_type = "serial";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700192 compatible = "fsl,mpc5200-psc-uart";
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100193 port-number = <2>; // Logical port assignment
Grant Likelya2884f32008-04-29 07:19:07 -0600194 reg = <0x2400 0x100>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100195 interrupts = <2 3 0>;
196 interrupt-parent = <&mpc5200_pic>;
197 };
198
199 serial@2c00 { // PSC6
200 device_type = "serial";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700201 compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100202 port-number = <5>; // Logical port assignment
Grant Likelya2884f32008-04-29 07:19:07 -0600203 reg = <0x2c00 0x100>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100204 interrupts = <2 4 0>;
205 interrupt-parent = <&mpc5200_pic>;
206 };
207
208 ethernet@3000 {
209 device_type = "network";
Grant Likely24ce6bc2008-01-24 22:25:31 -0700210 compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec";
Grant Likelya2884f32008-04-29 07:19:07 -0600211 reg = <0x3000 0x400>;
Grant Likely24ce6bc2008-01-24 22:25:31 -0700212 local-mac-address = [ 00 00 00 00 00 00 ];
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100213 interrupts = <2 5 0>;
214 interrupt-parent = <&mpc5200_pic>;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100215 phy-handle = <&phy0>;
216 };
217
218 mdio@3000 {
219 #address-cells = <1>;
220 #size-cells = <0>;
221 compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio";
Grant Likelya2884f32008-04-29 07:19:07 -0600222 reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100223 interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co.
224 interrupt-parent = <&mpc5200_pic>;
225
226 phy0: ethernet-phy@0 {
227 device_type = "ethernet-phy";
228 reg = <0>;
229 };
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100230 };
231
232 i2c@3d40 {
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100233 #address-cells = <1>;
234 #size-cells = <0>;
Grant Likely24ce6bc2008-01-24 22:25:31 -0700235 compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c";
Grant Likelya2884f32008-04-29 07:19:07 -0600236 reg = <0x3d40 0x40>;
237 interrupts = <2 16 0>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100238 interrupt-parent = <&mpc5200_pic>;
239 fsl5200-clocking;
240 };
241
242 sram@8000 {
Grant Likely24ce6bc2008-01-24 22:25:31 -0700243 compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram";
Grant Likelya2884f32008-04-29 07:19:07 -0600244 reg = <0x8000 0x4000>;
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100245 };
246 };
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100247
248 lpb {
249 model = "fsl,lpb";
250 compatible = "fsl,lpb";
251 #address-cells = <2>;
252 #size-cells = <1>;
Grant Likelya2884f32008-04-29 07:19:07 -0600253 ranges = <0 0 0xfc000000 0x2000000>;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100254
255 // 16-bit flash device at LocalPlus Bus CS0
256 flash@0,0 {
257 compatible = "cfi-flash";
Grant Likelya2884f32008-04-29 07:19:07 -0600258 reg = <0 0 0x2000000>;
Bartlomiej Sieka115e1ad2008-04-03 01:26:02 +1100259 bank-width = <2>;
260 device-width = <2>;
261 #size-cells = <1>;
262 #address-cells = <1>;
263 };
264 };
Marian Balakowicz8bd3b702007-11-10 04:12:31 +1100265};