]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blob - arch/powerpc/boot/dts/ebony.dts
[POWERPC] Fixes to allow use of Ebony's flash chips through physmap_of
[mirror_ubuntu-bionic-kernel.git] / arch / powerpc / boot / dts / ebony.dts
1 /*
2 * Device Tree Source for IBM Ebony
3 *
4 * Copyright (c) 2006, 2007 IBM Corp.
5 * Josh Boyer <jwboyer@linux.vnet.ibm.com>, David Gibson <dwg@au1.ibm.com>
6 *
7 * FIXME: Draft only!
8 *
9 * This file is licensed under the terms of the GNU General Public
10 * License version 2. This program is licensed "as is" without
11 * any warranty of any kind, whether express or implied.
12 *
13 * To build:
14 * dtc -I dts -O asm -o ebony.S -b 0 ebony.dts
15 * dtc -I dts -O dtb -o ebony.dtb -b 0 ebony.dts
16 */
17
18 / {
19 #address-cells = <2>;
20 #size-cells = <1>;
21 model = "ibm,ebony";
22 compatible = "ibm,ebony";
23 dcr-parent = <&/cpus/PowerPC,440GP@0>;
24
25 cpus {
26 #address-cells = <1>;
27 #size-cells = <0>;
28
29 PowerPC,440GP@0 {
30 device_type = "cpu";
31 reg = <0>;
32 clock-frequency = <0>; // Filled in by zImage
33 timebase-frequency = <0>; // Filled in by zImage
34 i-cache-line-size = <20>;
35 d-cache-line-size = <20>;
36 i-cache-size = <8000>; /* 32 kB */
37 d-cache-size = <8000>; /* 32 kB */
38 dcr-controller;
39 dcr-access-method = "native";
40 };
41 };
42
43 memory {
44 device_type = "memory";
45 reg = <0 0 0>; // Filled in by zImage
46 };
47
48 UIC0: interrupt-controller0 {
49 compatible = "ibm,uic-440gp", "ibm,uic";
50 interrupt-controller;
51 cell-index = <0>;
52 dcr-reg = <0c0 009>;
53 #address-cells = <0>;
54 #size-cells = <0>;
55 #interrupt-cells = <2>;
56
57 };
58
59 UIC1: interrupt-controller1 {
60 compatible = "ibm,uic-440gp", "ibm,uic";
61 interrupt-controller;
62 cell-index = <1>;
63 dcr-reg = <0d0 009>;
64 #address-cells = <0>;
65 #size-cells = <0>;
66 #interrupt-cells = <2>;
67 interrupts = <1e 4 1f 4>; /* cascade */
68 interrupt-parent = <&UIC0>;
69 };
70
71 CPC0: cpc {
72 compatible = "ibm,cpc-440gp";
73 dcr-reg = <0b0 003 0e0 010>;
74 // FIXME: anything else?
75 };
76
77 plb {
78 compatible = "ibm,plb-440gp", "ibm,plb4";
79 #address-cells = <2>;
80 #size-cells = <1>;
81 ranges;
82 clock-frequency = <0>; // Filled in by zImage
83
84 SDRAM0: memory-controller {
85 compatible = "ibm,sdram-440gp";
86 dcr-reg = <010 2>;
87 // FIXME: anything else?
88 };
89
90 SRAM0: sram {
91 compatible = "ibm,sram-440gp";
92 dcr-reg = <020 8 00a 1>;
93 };
94
95 DMA0: dma {
96 // FIXME: ???
97 compatible = "ibm,dma-440gp";
98 dcr-reg = <100 027>;
99 };
100
101 MAL0: mcmal {
102 compatible = "ibm,mcmal-440gp", "ibm,mcmal";
103 dcr-reg = <180 62>;
104 num-tx-chans = <4>;
105 num-rx-chans = <4>;
106 interrupt-parent = <&MAL0>;
107 interrupts = <0 1 2 3 4>;
108 #interrupt-cells = <1>;
109 #address-cells = <0>;
110 #size-cells = <0>;
111 interrupt-map = </*TXEOB*/ 0 &UIC0 a 4
112 /*RXEOB*/ 1 &UIC0 b 4
113 /*SERR*/ 2 &UIC1 0 4
114 /*TXDE*/ 3 &UIC1 1 4
115 /*RXDE*/ 4 &UIC1 2 4>;
116 interrupt-map-mask = <ffffffff>;
117 };
118
119 POB0: opb {
120 compatible = "ibm,opb-440gp", "ibm,opb";
121 #address-cells = <1>;
122 #size-cells = <1>;
123 /* Wish there was a nicer way of specifying a full 32-bit
124 range */
125 ranges = <00000000 1 00000000 80000000
126 80000000 1 80000000 80000000>;
127 dcr-reg = <090 00b>;
128 interrupt-parent = <&UIC1>;
129 interrupts = <7 4>;
130 clock-frequency = <0>; // Filled in by zImage
131
132 EBC0: ebc {
133 compatible = "ibm,ebc-440gp", "ibm,ebc";
134 dcr-reg = <012 2>;
135 #address-cells = <2>;
136 #size-cells = <1>;
137 clock-frequency = <0>; // Filled in by zImage
138 // ranges property is supplied by zImage
139 // based on firmware's configuration of the
140 // EBC bridge
141 interrupts = <5 4>;
142 interrupt-parent = <&UIC1>;
143
144 small-flash@0,80000 {
145 device_type = "rom";
146 compatible = "direct-mapped";
147 probe-type = "JEDEC";
148 bank-width = <1>;
149 partitions = <0 80000>;
150 partition-names = "OpenBIOS";
151 reg = <0 80000 80000>;
152 };
153
154 ds1743@1,0 {
155 /* NVRAM & RTC */
156 compatible = "ds1743";
157 reg = <1 0 2000>;
158 };
159
160 large-flash@2,0 {
161 device_type = "rom";
162 compatible = "direct-mapped";
163 probe-type = "JEDEC";
164 bank-width = <1>;
165 partitions = <0 380000
166 380000 80000>;
167 partition-names = "fs", "firmware";
168 reg = <2 0 400000>;
169 };
170
171 ir@3,0 {
172 reg = <3 0 10>;
173 };
174
175 fpga@7,0 {
176 compatible = "Ebony-FPGA";
177 reg = <7 0 10>;
178 virtual-reg = <e8300000>;
179 };
180 };
181
182 UART0: serial@40000200 {
183 device_type = "serial";
184 compatible = "ns16550";
185 reg = <40000200 8>;
186 virtual-reg = <e0000200>;
187 clock-frequency = <A8C000>;
188 current-speed = <2580>;
189 interrupt-parent = <&UIC0>;
190 interrupts = <0 4>;
191 };
192
193 UART1: serial@40000300 {
194 device_type = "serial";
195 compatible = "ns16550";
196 reg = <40000300 8>;
197 virtual-reg = <e0000300>;
198 clock-frequency = <A8C000>;
199 current-speed = <2580>;
200 interrupt-parent = <&UIC0>;
201 interrupts = <1 4>;
202 };
203
204 IIC0: i2c@40000400 {
205 /* FIXME */
206 device_type = "i2c";
207 compatible = "ibm,iic-440gp", "ibm,iic";
208 reg = <40000400 14>;
209 interrupt-parent = <&UIC0>;
210 interrupts = <2 4>;
211 };
212 IIC1: i2c@40000500 {
213 /* FIXME */
214 device_type = "i2c";
215 compatible = "ibm,iic-440gp", "ibm,iic";
216 reg = <40000500 14>;
217 interrupt-parent = <&UIC0>;
218 interrupts = <3 4>;
219 };
220
221 GPIO0: gpio@40000700 {
222 /* FIXME */
223 compatible = "ibm,gpio-440gp";
224 reg = <40000700 20>;
225 };
226
227 ZMII0: emac-zmii@40000780 {
228 compatible = "ibm,zmii-440gp", "ibm,zmii";
229 reg = <40000780 c>;
230 };
231
232 EMAC0: ethernet@40000800 {
233 linux,network-index = <0>;
234 device_type = "network";
235 compatible = "ibm,emac-440gp", "ibm,emac";
236 interrupt-parent = <&UIC1>;
237 interrupts = <1c 4 1d 4>;
238 reg = <40000800 70>;
239 local-mac-address = [000000000000]; // Filled in by zImage
240 mal-device = <&MAL0>;
241 mal-tx-channel = <0 1>;
242 mal-rx-channel = <0>;
243 cell-index = <0>;
244 max-frame-size = <5dc>;
245 rx-fifo-size = <1000>;
246 tx-fifo-size = <800>;
247 phy-mode = "rmii";
248 phy-map = <00000001>;
249 zmii-device = <&ZMII0>;
250 zmii-channel = <0>;
251 };
252 EMAC1: ethernet@40000900 {
253 linux,network-index = <1>;
254 device_type = "network";
255 compatible = "ibm,emac-440gp", "ibm,emac";
256 interrupt-parent = <&UIC1>;
257 interrupts = <1e 4 1f 4>;
258 reg = <40000900 70>;
259 local-mac-address = [000000000000]; // Filled in by zImage
260 mal-device = <&MAL0>;
261 mal-tx-channel = <2 3>;
262 mal-rx-channel = <1>;
263 cell-index = <1>;
264 max-frame-size = <5dc>;
265 rx-fifo-size = <1000>;
266 tx-fifo-size = <800>;
267 phy-mode = "rmii";
268 phy-map = <00000001>;
269 zmii-device = <&ZMII0>;
270 zmii-channel = <1>;
271 };
272
273
274 GPT0: gpt@40000a00 {
275 /* FIXME */
276 reg = <40000a00 d4>;
277 interrupt-parent = <&UIC0>;
278 interrupts = <12 4 13 4 14 4 15 4 16 4>;
279 };
280
281 };
282
283 PCIX0: pci@1234 {
284 device_type = "pci";
285 /* FIXME */
286 reg = <2 0ec00000 8
287 2 0ec80000 f0
288 2 0ec80100 fc>;
289 };
290 };
291
292 chosen {
293 linux,stdout-path = "/plb/opb/serial@40000200";
294 };
295 };