Loading...
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * SBC8548 Device Tree Source
4 *
5 * Copyright 2007 Wind River Systems Inc.
6 *
7 * Paul Gortmaker (see MAINTAINERS for contact information)
8 */
9
10/{
11 soc8548@e0000000 {
12 #address-cells = <1>;
13 #size-cells = <1>;
14 device_type = "soc";
15 ranges = <0x00000000 0xe0000000 0x00100000>;
16 bus-frequency = <0>;
17 compatible = "simple-bus";
18
19 ecm-law@0 {
20 compatible = "fsl,ecm-law";
21 reg = <0x0 0x1000>;
22 fsl,num-laws = <10>;
23 };
24
25 ecm@1000 {
26 compatible = "fsl,mpc8548-ecm", "fsl,ecm";
27 reg = <0x1000 0x1000>;
28 interrupts = <17 2>;
29 interrupt-parent = <&mpic>;
30 };
31
32 memory-controller@2000 {
33 compatible = "fsl,mpc8548-memory-controller";
34 reg = <0x2000 0x1000>;
35 interrupt-parent = <&mpic>;
36 interrupts = <0x12 0x2>;
37 };
38
39 L2: l2-cache-controller@20000 {
40 compatible = "fsl,mpc8548-l2-cache-controller";
41 reg = <0x20000 0x1000>;
42 cache-line-size = <0x20>; // 32 bytes
43 cache-size = <0x80000>; // L2, 512K
44 interrupt-parent = <&mpic>;
45 interrupts = <0x10 0x2>;
46 };
47
48 i2c@3000 {
49 #address-cells = <1>;
50 #size-cells = <0>;
51 cell-index = <0>;
52 compatible = "fsl-i2c";
53 reg = <0x3000 0x100>;
54 interrupts = <0x2b 0x2>;
55 interrupt-parent = <&mpic>;
56 dfsrr;
57 };
58
59 i2c@3100 {
60 #address-cells = <1>;
61 #size-cells = <0>;
62 cell-index = <1>;
63 compatible = "fsl-i2c";
64 reg = <0x3100 0x100>;
65 interrupts = <0x2b 0x2>;
66 interrupt-parent = <&mpic>;
67 dfsrr;
68 };
69
70 dma@21300 {
71 #address-cells = <1>;
72 #size-cells = <1>;
73 compatible = "fsl,mpc8548-dma", "fsl,eloplus-dma";
74 reg = <0x21300 0x4>;
75 ranges = <0x0 0x21100 0x200>;
76 cell-index = <0>;
77 dma-channel@0 {
78 compatible = "fsl,mpc8548-dma-channel",
79 "fsl,eloplus-dma-channel";
80 reg = <0x0 0x80>;
81 cell-index = <0>;
82 interrupt-parent = <&mpic>;
83 interrupts = <20 2>;
84 };
85 dma-channel@80 {
86 compatible = "fsl,mpc8548-dma-channel",
87 "fsl,eloplus-dma-channel";
88 reg = <0x80 0x80>;
89 cell-index = <1>;
90 interrupt-parent = <&mpic>;
91 interrupts = <21 2>;
92 };
93 dma-channel@100 {
94 compatible = "fsl,mpc8548-dma-channel",
95 "fsl,eloplus-dma-channel";
96 reg = <0x100 0x80>;
97 cell-index = <2>;
98 interrupt-parent = <&mpic>;
99 interrupts = <22 2>;
100 };
101 dma-channel@180 {
102 compatible = "fsl,mpc8548-dma-channel",
103 "fsl,eloplus-dma-channel";
104 reg = <0x180 0x80>;
105 cell-index = <3>;
106 interrupt-parent = <&mpic>;
107 interrupts = <23 2>;
108 };
109 };
110
111 enet0: ethernet@24000 {
112 #address-cells = <1>;
113 #size-cells = <1>;
114 cell-index = <0>;
115 device_type = "network";
116 model = "eTSEC";
117 compatible = "gianfar";
118 reg = <0x24000 0x1000>;
119 ranges = <0x0 0x24000 0x1000>;
120 local-mac-address = [ 00 00 00 00 00 00 ];
121 interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>;
122 interrupt-parent = <&mpic>;
123 tbi-handle = <&tbi0>;
124 phy-handle = <&phy0>;
125
126 mdio@520 {
127 #address-cells = <1>;
128 #size-cells = <0>;
129 compatible = "fsl,gianfar-mdio";
130 reg = <0x520 0x20>;
131
132 phy0: ethernet-phy@19 {
133 interrupt-parent = <&mpic>;
134 interrupts = <0x6 0x1>;
135 reg = <0x19>;
136 };
137 phy1: ethernet-phy@1a {
138 interrupt-parent = <&mpic>;
139 interrupts = <0x7 0x1>;
140 reg = <0x1a>;
141 };
142 tbi0: tbi-phy@11 {
143 reg = <0x11>;
144 device_type = "tbi-phy";
145 };
146 };
147 };
148
149 enet1: ethernet@25000 {
150 #address-cells = <1>;
151 #size-cells = <1>;
152 cell-index = <1>;
153 device_type = "network";
154 model = "eTSEC";
155 compatible = "gianfar";
156 reg = <0x25000 0x1000>;
157 ranges = <0x0 0x25000 0x1000>;
158 local-mac-address = [ 00 00 00 00 00 00 ];
159 interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>;
160 interrupt-parent = <&mpic>;
161 tbi-handle = <&tbi1>;
162 phy-handle = <&phy1>;
163
164 mdio@520 {
165 #address-cells = <1>;
166 #size-cells = <0>;
167 compatible = "fsl,gianfar-tbi";
168 reg = <0x520 0x20>;
169
170 tbi1: tbi-phy@11 {
171 reg = <0x11>;
172 device_type = "tbi-phy";
173 };
174 };
175 };
176
177 serial0: serial@4500 {
178 cell-index = <0>;
179 device_type = "serial";
180 compatible = "fsl,ns16550", "ns16550";
181 reg = <0x4500 0x100>; // reg base, size
182 clock-frequency = <0>; // should we fill in in uboot?
183 interrupts = <0x2a 0x2>;
184 interrupt-parent = <&mpic>;
185 };
186
187 serial1: serial@4600 {
188 cell-index = <1>;
189 device_type = "serial";
190 compatible = "fsl,ns16550", "ns16550";
191 reg = <0x4600 0x100>; // reg base, size
192 clock-frequency = <0>; // should we fill in in uboot?
193 interrupts = <0x2a 0x2>;
194 interrupt-parent = <&mpic>;
195 };
196
197 global-utilities@e0000 { //global utilities reg
198 compatible = "fsl,mpc8548-guts";
199 reg = <0xe0000 0x1000>;
200 fsl,has-rstcr;
201 };
202
203 crypto@30000 {
204 compatible = "fsl,sec2.1", "fsl,sec2.0";
205 reg = <0x30000 0x10000>;
206 interrupts = <45 2>;
207 interrupt-parent = <&mpic>;
208 fsl,num-channels = <4>;
209 fsl,channel-fifo-len = <24>;
210 fsl,exec-units-mask = <0xfe>;
211 fsl,descriptor-types-mask = <0x12b0ebf>;
212 };
213
214 mpic: pic@40000 {
215 interrupt-controller;
216 #address-cells = <0>;
217 #interrupt-cells = <2>;
218 reg = <0x40000 0x40000>;
219 compatible = "chrp,open-pic";
220 device_type = "open-pic";
221 };
222 };
223
224 pci0: pci@e0008000 {
225 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
226 interrupt-map = <
227 /* IDSEL 0x01 (PCI-X slot) @66MHz */
228 0x0800 0x0 0x0 0x1 &mpic 0x2 0x1
229 0x0800 0x0 0x0 0x2 &mpic 0x3 0x1
230 0x0800 0x0 0x0 0x3 &mpic 0x4 0x1
231 0x0800 0x0 0x0 0x4 &mpic 0x1 0x1
232
233 /* IDSEL 0x11 (PCI, 3.3V 32bit) @33MHz */
234 0x8800 0x0 0x0 0x1 &mpic 0x2 0x1
235 0x8800 0x0 0x0 0x2 &mpic 0x3 0x1
236 0x8800 0x0 0x0 0x3 &mpic 0x4 0x1
237 0x8800 0x0 0x0 0x4 &mpic 0x1 0x1>;
238
239 interrupt-parent = <&mpic>;
240 interrupts = <0x18 0x2>;
241 bus-range = <0 0>;
242 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000
243 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00800000>;
244 clock-frequency = <66000000>;
245 #interrupt-cells = <1>;
246 #size-cells = <2>;
247 #address-cells = <3>;
248 reg = <0xe0008000 0x1000>;
249 compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci";
250 device_type = "pci";
251 };
252
253 pci1: pcie@e000a000 {
254 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
255 interrupt-map = <
256
257 /* IDSEL 0x0 (PEX) */
258 0x0000 0x0 0x0 0x1 &mpic 0x0 0x1
259 0x0000 0x0 0x0 0x2 &mpic 0x1 0x1
260 0x0000 0x0 0x0 0x3 &mpic 0x2 0x1
261 0x0000 0x0 0x0 0x4 &mpic 0x3 0x1>;
262
263 interrupt-parent = <&mpic>;
264 interrupts = <0x1a 0x2>;
265 bus-range = <0x0 0xff>;
266 ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
267 0x01000000 0x0 0x00000000 0xe2800000 0x0 0x08000000>;
268 clock-frequency = <33000000>;
269 #interrupt-cells = <1>;
270 #size-cells = <2>;
271 #address-cells = <3>;
272 reg = <0xe000a000 0x1000>;
273 compatible = "fsl,mpc8548-pcie";
274 device_type = "pci";
275 pcie@0 {
276 reg = <0x0 0x0 0x0 0x0 0x0>;
277 #size-cells = <2>;
278 #address-cells = <3>;
279 device_type = "pci";
280 ranges = <0x02000000 0x0 0xa0000000
281 0x02000000 0x0 0xa0000000
282 0x0 0x10000000
283
284 0x01000000 0x0 0x00000000
285 0x01000000 0x0 0x00000000
286 0x0 0x00800000>;
287 };
288 };
289};
1/*
2 * SBC8548 Device Tree Source
3 *
4 * Copyright 2007 Wind River Systems Inc.
5 *
6 * Paul Gortmaker (see MAINTAINERS for contact information)
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the
10 * Free Software Foundation; either version 2 of the License, or (at your
11 * option) any later version.
12 */
13
14/{
15 soc8548@e0000000 {
16 #address-cells = <1>;
17 #size-cells = <1>;
18 device_type = "soc";
19 ranges = <0x00000000 0xe0000000 0x00100000>;
20 bus-frequency = <0>;
21 compatible = "simple-bus";
22
23 ecm-law@0 {
24 compatible = "fsl,ecm-law";
25 reg = <0x0 0x1000>;
26 fsl,num-laws = <10>;
27 };
28
29 ecm@1000 {
30 compatible = "fsl,mpc8548-ecm", "fsl,ecm";
31 reg = <0x1000 0x1000>;
32 interrupts = <17 2>;
33 interrupt-parent = <&mpic>;
34 };
35
36 memory-controller@2000 {
37 compatible = "fsl,mpc8548-memory-controller";
38 reg = <0x2000 0x1000>;
39 interrupt-parent = <&mpic>;
40 interrupts = <0x12 0x2>;
41 };
42
43 L2: l2-cache-controller@20000 {
44 compatible = "fsl,mpc8548-l2-cache-controller";
45 reg = <0x20000 0x1000>;
46 cache-line-size = <0x20>; // 32 bytes
47 cache-size = <0x80000>; // L2, 512K
48 interrupt-parent = <&mpic>;
49 interrupts = <0x10 0x2>;
50 };
51
52 i2c@3000 {
53 #address-cells = <1>;
54 #size-cells = <0>;
55 cell-index = <0>;
56 compatible = "fsl-i2c";
57 reg = <0x3000 0x100>;
58 interrupts = <0x2b 0x2>;
59 interrupt-parent = <&mpic>;
60 dfsrr;
61 };
62
63 i2c@3100 {
64 #address-cells = <1>;
65 #size-cells = <0>;
66 cell-index = <1>;
67 compatible = "fsl-i2c";
68 reg = <0x3100 0x100>;
69 interrupts = <0x2b 0x2>;
70 interrupt-parent = <&mpic>;
71 dfsrr;
72 };
73
74 dma@21300 {
75 #address-cells = <1>;
76 #size-cells = <1>;
77 compatible = "fsl,mpc8548-dma", "fsl,eloplus-dma";
78 reg = <0x21300 0x4>;
79 ranges = <0x0 0x21100 0x200>;
80 cell-index = <0>;
81 dma-channel@0 {
82 compatible = "fsl,mpc8548-dma-channel",
83 "fsl,eloplus-dma-channel";
84 reg = <0x0 0x80>;
85 cell-index = <0>;
86 interrupt-parent = <&mpic>;
87 interrupts = <20 2>;
88 };
89 dma-channel@80 {
90 compatible = "fsl,mpc8548-dma-channel",
91 "fsl,eloplus-dma-channel";
92 reg = <0x80 0x80>;
93 cell-index = <1>;
94 interrupt-parent = <&mpic>;
95 interrupts = <21 2>;
96 };
97 dma-channel@100 {
98 compatible = "fsl,mpc8548-dma-channel",
99 "fsl,eloplus-dma-channel";
100 reg = <0x100 0x80>;
101 cell-index = <2>;
102 interrupt-parent = <&mpic>;
103 interrupts = <22 2>;
104 };
105 dma-channel@180 {
106 compatible = "fsl,mpc8548-dma-channel",
107 "fsl,eloplus-dma-channel";
108 reg = <0x180 0x80>;
109 cell-index = <3>;
110 interrupt-parent = <&mpic>;
111 interrupts = <23 2>;
112 };
113 };
114
115 enet0: ethernet@24000 {
116 #address-cells = <1>;
117 #size-cells = <1>;
118 cell-index = <0>;
119 device_type = "network";
120 model = "eTSEC";
121 compatible = "gianfar";
122 reg = <0x24000 0x1000>;
123 ranges = <0x0 0x24000 0x1000>;
124 local-mac-address = [ 00 00 00 00 00 00 ];
125 interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>;
126 interrupt-parent = <&mpic>;
127 tbi-handle = <&tbi0>;
128 phy-handle = <&phy0>;
129
130 mdio@520 {
131 #address-cells = <1>;
132 #size-cells = <0>;
133 compatible = "fsl,gianfar-mdio";
134 reg = <0x520 0x20>;
135
136 phy0: ethernet-phy@19 {
137 interrupt-parent = <&mpic>;
138 interrupts = <0x6 0x1>;
139 reg = <0x19>;
140 };
141 phy1: ethernet-phy@1a {
142 interrupt-parent = <&mpic>;
143 interrupts = <0x7 0x1>;
144 reg = <0x1a>;
145 };
146 tbi0: tbi-phy@11 {
147 reg = <0x11>;
148 device_type = "tbi-phy";
149 };
150 };
151 };
152
153 enet1: ethernet@25000 {
154 #address-cells = <1>;
155 #size-cells = <1>;
156 cell-index = <1>;
157 device_type = "network";
158 model = "eTSEC";
159 compatible = "gianfar";
160 reg = <0x25000 0x1000>;
161 ranges = <0x0 0x25000 0x1000>;
162 local-mac-address = [ 00 00 00 00 00 00 ];
163 interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>;
164 interrupt-parent = <&mpic>;
165 tbi-handle = <&tbi1>;
166 phy-handle = <&phy1>;
167
168 mdio@520 {
169 #address-cells = <1>;
170 #size-cells = <0>;
171 compatible = "fsl,gianfar-tbi";
172 reg = <0x520 0x20>;
173
174 tbi1: tbi-phy@11 {
175 reg = <0x11>;
176 device_type = "tbi-phy";
177 };
178 };
179 };
180
181 serial0: serial@4500 {
182 cell-index = <0>;
183 device_type = "serial";
184 compatible = "fsl,ns16550", "ns16550";
185 reg = <0x4500 0x100>; // reg base, size
186 clock-frequency = <0>; // should we fill in in uboot?
187 interrupts = <0x2a 0x2>;
188 interrupt-parent = <&mpic>;
189 };
190
191 serial1: serial@4600 {
192 cell-index = <1>;
193 device_type = "serial";
194 compatible = "fsl,ns16550", "ns16550";
195 reg = <0x4600 0x100>; // reg base, size
196 clock-frequency = <0>; // should we fill in in uboot?
197 interrupts = <0x2a 0x2>;
198 interrupt-parent = <&mpic>;
199 };
200
201 global-utilities@e0000 { //global utilities reg
202 compatible = "fsl,mpc8548-guts";
203 reg = <0xe0000 0x1000>;
204 fsl,has-rstcr;
205 };
206
207 crypto@30000 {
208 compatible = "fsl,sec2.1", "fsl,sec2.0";
209 reg = <0x30000 0x10000>;
210 interrupts = <45 2>;
211 interrupt-parent = <&mpic>;
212 fsl,num-channels = <4>;
213 fsl,channel-fifo-len = <24>;
214 fsl,exec-units-mask = <0xfe>;
215 fsl,descriptor-types-mask = <0x12b0ebf>;
216 };
217
218 mpic: pic@40000 {
219 interrupt-controller;
220 #address-cells = <0>;
221 #interrupt-cells = <2>;
222 reg = <0x40000 0x40000>;
223 compatible = "chrp,open-pic";
224 device_type = "open-pic";
225 };
226 };
227
228 pci0: pci@e0008000 {
229 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
230 interrupt-map = <
231 /* IDSEL 0x01 (PCI-X slot) @66MHz */
232 0x0800 0x0 0x0 0x1 &mpic 0x2 0x1
233 0x0800 0x0 0x0 0x2 &mpic 0x3 0x1
234 0x0800 0x0 0x0 0x3 &mpic 0x4 0x1
235 0x0800 0x0 0x0 0x4 &mpic 0x1 0x1
236
237 /* IDSEL 0x11 (PCI, 3.3V 32bit) @33MHz */
238 0x8800 0x0 0x0 0x1 &mpic 0x2 0x1
239 0x8800 0x0 0x0 0x2 &mpic 0x3 0x1
240 0x8800 0x0 0x0 0x3 &mpic 0x4 0x1
241 0x8800 0x0 0x0 0x4 &mpic 0x1 0x1>;
242
243 interrupt-parent = <&mpic>;
244 interrupts = <0x18 0x2>;
245 bus-range = <0 0>;
246 ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x10000000
247 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00800000>;
248 clock-frequency = <66000000>;
249 #interrupt-cells = <1>;
250 #size-cells = <2>;
251 #address-cells = <3>;
252 reg = <0xe0008000 0x1000>;
253 compatible = "fsl,mpc8540-pcix", "fsl,mpc8540-pci";
254 device_type = "pci";
255 };
256
257 pci1: pcie@e000a000 {
258 interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
259 interrupt-map = <
260
261 /* IDSEL 0x0 (PEX) */
262 0x0000 0x0 0x0 0x1 &mpic 0x0 0x1
263 0x0000 0x0 0x0 0x2 &mpic 0x1 0x1
264 0x0000 0x0 0x0 0x3 &mpic 0x2 0x1
265 0x0000 0x0 0x0 0x4 &mpic 0x3 0x1>;
266
267 interrupt-parent = <&mpic>;
268 interrupts = <0x1a 0x2>;
269 bus-range = <0x0 0xff>;
270 ranges = <0x02000000 0x0 0xa0000000 0xa0000000 0x0 0x10000000
271 0x01000000 0x0 0x00000000 0xe2800000 0x0 0x08000000>;
272 clock-frequency = <33000000>;
273 #interrupt-cells = <1>;
274 #size-cells = <2>;
275 #address-cells = <3>;
276 reg = <0xe000a000 0x1000>;
277 compatible = "fsl,mpc8548-pcie";
278 device_type = "pci";
279 pcie@0 {
280 reg = <0x0 0x0 0x0 0x0 0x0>;
281 #size-cells = <2>;
282 #address-cells = <3>;
283 device_type = "pci";
284 ranges = <0x02000000 0x0 0xa0000000
285 0x02000000 0x0 0xa0000000
286 0x0 0x10000000
287
288 0x01000000 0x0 0x00000000
289 0x01000000 0x0 0x00000000
290 0x0 0x00800000>;
291 };
292 };
293};