blob: a2dd5f1da6215166d172d0fea36182f2c21e0ca8 [file] [log] [blame]
Thomas Gleixner2874c5f2019-05-27 08:55:01 +02001// SPDX-License-Identifier: GPL-2.0-or-later
Heiko Schocher63716632008-06-18 10:38:32 +02002/*
3 * Device Tree for the MGCOGE plattform from keymile
4 *
5 * Copyright 2008 DENX Software Engineering GmbH
6 * Heiko Schocher <hs@denx.de>
Heiko Schocher63716632008-06-18 10:38:32 +02007 */
8
9/dts-v1/;
10/ {
11 model = "MGCOGE";
Holger Brunckc513e7c2011-03-10 12:52:45 +010012 compatible = "keymile,km82xx";
Heiko Schocher63716632008-06-18 10:38:32 +020013 #address-cells = <1>;
14 #size-cells = <1>;
15
16 aliases {
17 ethernet0 = &eth0;
18 serial0 = &smc2;
19 };
20
21 cpus {
22 #address-cells = <1>;
23 #size-cells = <0>;
24
25 PowerPC,8247@0 {
26 device_type = "cpu";
27 reg = <0>;
28 d-cache-line-size = <32>;
29 i-cache-line-size = <32>;
30 d-cache-size = <16384>;
31 i-cache-size = <16384>;
32 timebase-frequency = <0>; /* Filled in by U-Boot */
33 clock-frequency = <0>; /* Filled in by U-Boot */
34 bus-frequency = <0>; /* Filled in by U-Boot */
35 };
36 };
37
38 localbus@f0010100 {
39 compatible = "fsl,mpc8247-localbus",
40 "fsl,pq2-localbus",
41 "simple-bus";
42 #address-cells = <2>;
43 #size-cells = <1>;
44 reg = <0xf0010100 0x40>;
45
46 ranges = <0 0 0xfe000000 0x00400000
Holger Brunckc513e7c2011-03-10 12:52:45 +010047 1 0 0x30000000 0x00010000
48 2 0 0x40000000 0x00010000
49 5 0 0x50000000 0x04000000
50 >;
Heiko Schocher63716632008-06-18 10:38:32 +020051
52 flash@0,0 {
53 compatible = "cfi-flash";
54 reg = <0 0x0 0x400000>;
55 #address-cells = <1>;
56 #size-cells = <1>;
57 bank-width = <1>;
58 device-width = <1>;
59 partition@0 {
60 label = "u-boot";
Holger Brunckc513e7c2011-03-10 12:52:45 +010061 reg = <0x00000 0xC0000>;
Heiko Schocher63716632008-06-18 10:38:32 +020062 };
Holger Brunckc513e7c2011-03-10 12:52:45 +010063 partition@1 {
Heiko Schocher63716632008-06-18 10:38:32 +020064 label = "env";
Holger Brunckc513e7c2011-03-10 12:52:45 +010065 reg = <0xC0000 0x20000>;
Heiko Schocher63716632008-06-18 10:38:32 +020066 };
Holger Brunckc513e7c2011-03-10 12:52:45 +010067 partition@2 {
68 label = "envred";
69 reg = <0xE0000 0x20000>;
Heiko Schocher63716632008-06-18 10:38:32 +020070 };
Holger Brunckc513e7c2011-03-10 12:52:45 +010071 partition@3 {
72 label = "free";
73 reg = <0x100000 0x300000>;
Heiko Schocher63716632008-06-18 10:38:32 +020074 };
75 };
76
77 flash@5,0 {
78 compatible = "cfi-flash";
Holger Brunckc513e7c2011-03-10 12:52:45 +010079 reg = <5 0x00000000 0x02000000
80 5 0x02000000 0x02000000>;
Heiko Schocher63716632008-06-18 10:38:32 +020081 #address-cells = <1>;
82 #size-cells = <1>;
83 bank-width = <2>;
Holger Brunckc513e7c2011-03-10 12:52:45 +010084 partition@app { /* 64 MBytes */
85 label = "ubi0";
86 reg = <0x00000000 0x04000000>;
Heiko Schocher63716632008-06-18 10:38:32 +020087 };
88 };
89 };
90
91 memory {
92 device_type = "memory";
93 reg = <0 0>; /* Filled in by U-Boot */
94 };
95
96 soc@f0000000 {
97 #address-cells = <1>;
98 #size-cells = <1>;
99 compatible = "fsl,mpc8247-immr", "fsl,pq2-soc", "simple-bus";
100 ranges = <0x00000000 0xf0000000 0x00053000>;
101
102 // Temporary until code stops depending on it.
103 device_type = "soc";
104
105 cpm@119c0 {
106 #address-cells = <1>;
107 #size-cells = <1>;
108 #interrupt-cells = <2>;
109 compatible = "fsl,mpc8247-cpm", "fsl,cpm2",
110 "simple-bus";
111 reg = <0x119c0 0x30>;
112 ranges;
113
114 muram {
115 compatible = "fsl,cpm-muram";
116 #address-cells = <1>;
117 #size-cells = <1>;
118 ranges = <0 0 0x10000>;
119
120 data@0 {
121 compatible = "fsl,cpm-muram-data";
122 reg = <0x80 0x1f80 0x9800 0x800>;
123 };
124 };
125
126 brg@119f0 {
127 compatible = "fsl,mpc8247-brg",
128 "fsl,cpm2-brg",
129 "fsl,cpm-brg";
130 reg = <0x119f0 0x10 0x115f0 0x10>;
131 };
132
133 /* Monitor port/SMC2 */
134 smc2: serial@11a90 {
135 device_type = "serial";
136 compatible = "fsl,mpc8247-smc-uart",
137 "fsl,cpm2-smc-uart";
138 reg = <0x11a90 0x20 0x88fc 0x02>;
139 interrupts = <5 8>;
140 interrupt-parent = <&PIC>;
141 fsl,cpm-brg = <2>;
142 fsl,cpm-command = <0x21200000>;
143 current-speed = <0>; /* Filled in by U-Boot */
144 };
145
146 eth0: ethernet@11a60 {
147 device_type = "network";
148 compatible = "fsl,mpc8247-scc-enet",
149 "fsl,cpm2-scc-enet";
150 reg = <0x11a60 0x20 0x8300 0x100 0x11390 1>;
151 local-mac-address = [ 00 00 00 00 00 00 ]; /* Filled in by U-Boot */
152 interrupts = <43 8>;
153 interrupt-parent = <&PIC>;
154 linux,network-index = <0>;
155 fsl,cpm-command = <0xce00000>;
156 fixed-link = <0 0 10 0 0>;
157 };
158
Heiko Schocher9239c892009-08-03 09:34:50 +0200159 i2c@11860 {
160 compatible = "fsl,mpc8272-i2c",
161 "fsl,cpm2-i2c";
162 reg = <0x11860 0x20 0x8afc 0x2>;
163 interrupts = <1 8>;
164 interrupt-parent = <&PIC>;
165 fsl,cpm-command = <0x29600000>;
166 #address-cells = <1>;
167 #size-cells = <0>;
168 };
169
170 mdio@10d40 {
171 compatible = "fsl,cpm2-mdio-bitbang";
172 reg = <0x10d00 0x14>;
173 #address-cells = <1>;
174 #size-cells = <0>;
175 fsl,mdio-pin = <12>;
176 fsl,mdc-pin = <13>;
177
178 phy0: ethernet-phy@0 {
179 reg = <0x0>;
180 };
181
182 phy1: ethernet-phy@1 {
183 reg = <0x1>;
184 };
185 };
186
187 /* FCC1 management to switch */
188 ethernet@11300 {
189 device_type = "network";
190 compatible = "fsl,cpm2-fcc-enet";
191 reg = <0x11300 0x20 0x8400 0x100 0x11390 0x1>;
192 local-mac-address = [ 00 01 02 03 04 07 ];
193 interrupts = <32 8>;
194 interrupt-parent = <&PIC>;
195 phy-handle = <&phy0>;
196 linux,network-index = <1>;
197 fsl,cpm-command = <0x12000300>;
198 };
199
200 /* FCC2 to redundant core unit over backplane */
201 ethernet@11320 {
202 device_type = "network";
203 compatible = "fsl,cpm2-fcc-enet";
204 reg = <0x11320 0x20 0x8500 0x100 0x113b0 0x1>;
205 local-mac-address = [ 00 01 02 03 04 08 ];
206 interrupts = <33 8>;
207 interrupt-parent = <&PIC>;
208 phy-handle = <&phy1>;
209 linux,network-index = <2>;
210 fsl,cpm-command = <0x16200300>;
211 };
Holger Brunck2a05e332011-09-27 09:44:50 +0200212
213 usb@11b60 {
214 compatible = "fsl,mpc8272-cpm-usb";
215 mode = "peripheral";
216 reg = <0x11b60 0x40 0x8b00 0x100>;
217 interrupts = <11 8>;
218 interrupt-parent = <&PIC>;
219 usb-clock = <5>;
220 };
Holger Brunck5d1d67e2012-05-08 15:57:22 +0200221 spi@11aa0 {
222 cell-index = <0>;
223 compatible = "fsl,spi", "fsl,cpm2-spi";
224 reg = <0x11a80 0x40 0x89fc 0x2>;
225 interrupts = <2 8>;
226 interrupt-parent = <&PIC>;
227 gpios = < &cpm2_pio_d 19 0>;
228 #address-cells = <1>;
229 #size-cells = <0>;
230 ds3106@1 {
231 compatible = "gen,spidev";
232 reg = <0>;
233 spi-max-frequency = <8000000>;
234 };
235 };
236
237 };
238
239 cpm2_pio_d: gpio-controller@10d60 {
240 #gpio-cells = <2>;
241 compatible = "fsl,cpm2-pario-bank";
242 reg = <0x10d60 0x14>;
243 gpio-controller;
Heiko Schocher63716632008-06-18 10:38:32 +0200244 };
245
Holger Brunckc513e7c2011-03-10 12:52:45 +0100246 cpm2_pio_c: gpio-controller@10d40 {
247 #gpio-cells = <2>;
248 compatible = "fsl,cpm2-pario-bank";
249 reg = <0x10d40 0x14>;
250 gpio-controller;
251 };
252
Heiko Schocher63716632008-06-18 10:38:32 +0200253 PIC: interrupt-controller@10c00 {
254 #interrupt-cells = <2>;
255 interrupt-controller;
256 reg = <0x10c00 0x80>;
257 compatible = "fsl,mpc8247-pic", "fsl,pq2-pic";
258 };
259 };
260};