diff options
author | Paul Mackerras <paulus@samba.org> | 2008-01-25 23:30:35 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-01-25 23:30:35 -0500 |
commit | 75e06e2d7dd48ba655789e143e81c73617737890 (patch) | |
tree | 21d4df5ab24703b95e43c504512fbccfb773ffea /arch/powerpc/boot | |
parent | 5bc977867f36fc36cde43b309b891b2f7b714f52 (diff) | |
parent | e08029675181a16d435431ad51255aa730fd6772 (diff) |
Merge branch 'for-2.6.25' of master.kernel.org:/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx
Diffstat (limited to 'arch/powerpc/boot')
-rw-r--r-- | arch/powerpc/boot/4xx.c | 2 | ||||
-rw-r--r-- | arch/powerpc/boot/Makefile | 4 | ||||
-rw-r--r-- | arch/powerpc/boot/cuboot-warp.c | 39 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/ebony.dts | 5 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/haleakala.dts | 274 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/walnut.dts | 5 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/warp.dts | 239 |
7 files changed, 562 insertions, 6 deletions
diff --git a/arch/powerpc/boot/4xx.c b/arch/powerpc/boot/4xx.c index 61a4045324cb..758edf1c5815 100644 --- a/arch/powerpc/boot/4xx.c +++ b/arch/powerpc/boot/4xx.c | |||
@@ -159,7 +159,7 @@ void ibm4xx_denali_fixup_memsize(void) | |||
159 | val = DDR_GET_VAL(val, DDR_CS_MAP, DDR_CS_MAP_SHIFT); | 159 | val = DDR_GET_VAL(val, DDR_CS_MAP, DDR_CS_MAP_SHIFT); |
160 | cs = 0; | 160 | cs = 0; |
161 | while (val) { | 161 | while (val) { |
162 | if (val && 0x1) | 162 | if (val & 0x1) |
163 | cs++; | 163 | cs++; |
164 | val = val >> 1; | 164 | val = val >> 1; |
165 | } | 165 | } |
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 1e20aca48f45..b36f9113ad1f 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -62,7 +62,8 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c | |||
62 | ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ | 62 | ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ |
63 | cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \ | 63 | cuboot-pq2.c cuboot-sequoia.c treeboot-walnut.c cuboot-bamboo.c \ |
64 | fixed-head.S ep88xc.c cuboot-hpc2.c ep405.c cuboot-taishan.c \ | 64 | fixed-head.S ep88xc.c cuboot-hpc2.c ep405.c cuboot-taishan.c \ |
65 | cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c | 65 | cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \ |
66 | cuboot-warp.c | ||
66 | src-boot := $(src-wlib) $(src-plat) empty.c | 67 | src-boot := $(src-wlib) $(src-plat) empty.c |
67 | 68 | ||
68 | src-boot := $(addprefix $(obj)/, $(src-boot)) | 69 | src-boot := $(addprefix $(obj)/, $(src-boot)) |
@@ -208,6 +209,7 @@ image-$(CONFIG_RAINIER) += cuImage.rainier | |||
208 | image-$(CONFIG_WALNUT) += treeImage.walnut | 209 | image-$(CONFIG_WALNUT) += treeImage.walnut |
209 | image-$(CONFIG_TAISHAN) += cuImage.taishan | 210 | image-$(CONFIG_TAISHAN) += cuImage.taishan |
210 | image-$(CONFIG_KATMAI) += cuImage.katmai | 211 | image-$(CONFIG_KATMAI) += cuImage.katmai |
212 | image-$(CONFIG_WARP) += cuImage.warp | ||
211 | endif | 213 | endif |
212 | 214 | ||
213 | ifneq ($(CONFIG_REDBOOT),"") | 215 | ifneq ($(CONFIG_REDBOOT),"") |
diff --git a/arch/powerpc/boot/cuboot-warp.c b/arch/powerpc/boot/cuboot-warp.c new file mode 100644 index 000000000000..bdedebe1bc14 --- /dev/null +++ b/arch/powerpc/boot/cuboot-warp.c | |||
@@ -0,0 +1,39 @@ | |||
1 | /* | ||
2 | * Copyright (c) 2008 PIKA Technologies | ||
3 | * Sean MacLennan <smaclennan@pikatech.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License version 2 as published | ||
7 | * by the Free Software Foundation. | ||
8 | */ | ||
9 | |||
10 | #include "ops.h" | ||
11 | #include "4xx.h" | ||
12 | #include "cuboot.h" | ||
13 | |||
14 | #define TARGET_44x | ||
15 | #include "ppcboot.h" | ||
16 | |||
17 | static bd_t bd; | ||
18 | |||
19 | static void warp_fixups(void) | ||
20 | { | ||
21 | unsigned long sysclk = 66000000; | ||
22 | |||
23 | ibm440ep_fixup_clocks(sysclk, 11059200, 50000000); | ||
24 | ibm4xx_sdram_fixup_memsize(); | ||
25 | ibm4xx_fixup_ebc_ranges("/plb/opb/ebc"); | ||
26 | dt_fixup_mac_addresses(&bd.bi_enetaddr); | ||
27 | } | ||
28 | |||
29 | |||
30 | void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | ||
31 | unsigned long r6, unsigned long r7) | ||
32 | { | ||
33 | CUBOOT_INIT(); | ||
34 | |||
35 | platform_ops.fixups = warp_fixups; | ||
36 | platform_ops.exit = ibm44x_dbcr_reset; | ||
37 | fdt_init(_dtb_start); | ||
38 | serial_console_init(); | ||
39 | } | ||
diff --git a/arch/powerpc/boot/dts/ebony.dts b/arch/powerpc/boot/dts/ebony.dts index f8790c4747df..7aad135a44b0 100644 --- a/arch/powerpc/boot/dts/ebony.dts +++ b/arch/powerpc/boot/dts/ebony.dts | |||
@@ -158,9 +158,10 @@ | |||
158 | }; | 158 | }; |
159 | }; | 159 | }; |
160 | 160 | ||
161 | ds1743@1,0 { | 161 | nvram@1,0 { |
162 | /* NVRAM & RTC */ | 162 | /* NVRAM & RTC */ |
163 | compatible = "ds1743"; | 163 | compatible = "ds1743-nvram"; |
164 | #bytes = <2000>; | ||
164 | reg = <1 0 2000>; | 165 | reg = <1 0 2000>; |
165 | }; | 166 | }; |
166 | 167 | ||
diff --git a/arch/powerpc/boot/dts/haleakala.dts b/arch/powerpc/boot/dts/haleakala.dts new file mode 100644 index 000000000000..5dd3d15f0feb --- /dev/null +++ b/arch/powerpc/boot/dts/haleakala.dts | |||
@@ -0,0 +1,274 @@ | |||
1 | /* | ||
2 | * Device Tree Source for AMCC Haleakala (405EXr) | ||
3 | * | ||
4 | * Copyright 2008 DENX Software Engineering, Stefan Roese <sr@denx.de> | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without | ||
8 | * any warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | / { | ||
12 | #address-cells = <1>; | ||
13 | #size-cells = <1>; | ||
14 | model = "amcc,haleakala"; | ||
15 | compatible = "amcc,kilauea"; | ||
16 | dcr-parent = <&/cpus/cpu@0>; | ||
17 | |||
18 | aliases { | ||
19 | ethernet0 = &EMAC0; | ||
20 | serial0 = &UART0; | ||
21 | serial1 = &UART1; | ||
22 | }; | ||
23 | |||
24 | cpus { | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <0>; | ||
27 | |||
28 | cpu@0 { | ||
29 | device_type = "cpu"; | ||
30 | model = "PowerPC,405EXr"; | ||
31 | reg = <0>; | ||
32 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
33 | timebase-frequency = <0>; /* Filled in by U-Boot */ | ||
34 | i-cache-line-size = <20>; | ||
35 | d-cache-line-size = <20>; | ||
36 | i-cache-size = <4000>; /* 16 kB */ | ||
37 | d-cache-size = <4000>; /* 16 kB */ | ||
38 | dcr-controller; | ||
39 | dcr-access-method = "native"; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | memory { | ||
44 | device_type = "memory"; | ||
45 | reg = <0 0>; /* Filled in by U-Boot */ | ||
46 | }; | ||
47 | |||
48 | UIC0: interrupt-controller { | ||
49 | compatible = "ibm,uic-405exr", "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 | UIC1: interrupt-controller1 { | ||
59 | compatible = "ibm,uic-405exr","ibm,uic"; | ||
60 | interrupt-controller; | ||
61 | cell-index = <1>; | ||
62 | dcr-reg = <0d0 009>; | ||
63 | #address-cells = <0>; | ||
64 | #size-cells = <0>; | ||
65 | #interrupt-cells = <2>; | ||
66 | interrupts = <1e 4 1f 4>; /* cascade */ | ||
67 | interrupt-parent = <&UIC0>; | ||
68 | }; | ||
69 | |||
70 | UIC2: interrupt-controller2 { | ||
71 | compatible = "ibm,uic-405exr","ibm,uic"; | ||
72 | interrupt-controller; | ||
73 | cell-index = <2>; | ||
74 | dcr-reg = <0e0 009>; | ||
75 | #address-cells = <0>; | ||
76 | #size-cells = <0>; | ||
77 | #interrupt-cells = <2>; | ||
78 | interrupts = <1c 4 1d 4>; /* cascade */ | ||
79 | interrupt-parent = <&UIC0>; | ||
80 | }; | ||
81 | |||
82 | plb { | ||
83 | compatible = "ibm,plb-405exr", "ibm,plb4"; | ||
84 | #address-cells = <1>; | ||
85 | #size-cells = <1>; | ||
86 | ranges; | ||
87 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
88 | |||
89 | SDRAM0: memory-controller { | ||
90 | compatible = "ibm,sdram-405exr"; | ||
91 | dcr-reg = <010 2>; | ||
92 | }; | ||
93 | |||
94 | MAL0: mcmal { | ||
95 | compatible = "ibm,mcmal-405exr", "ibm,mcmal2"; | ||
96 | dcr-reg = <180 62>; | ||
97 | num-tx-chans = <2>; | ||
98 | num-rx-chans = <2>; | ||
99 | interrupt-parent = <&MAL0>; | ||
100 | interrupts = <0 1 2 3 4>; | ||
101 | #interrupt-cells = <1>; | ||
102 | #address-cells = <0>; | ||
103 | #size-cells = <0>; | ||
104 | interrupt-map = </*TXEOB*/ 0 &UIC0 a 4 | ||
105 | /*RXEOB*/ 1 &UIC0 b 4 | ||
106 | /*SERR*/ 2 &UIC1 0 4 | ||
107 | /*TXDE*/ 3 &UIC1 1 4 | ||
108 | /*RXDE*/ 4 &UIC1 2 4>; | ||
109 | interrupt-map-mask = <ffffffff>; | ||
110 | }; | ||
111 | |||
112 | POB0: opb { | ||
113 | compatible = "ibm,opb-405exr", "ibm,opb"; | ||
114 | #address-cells = <1>; | ||
115 | #size-cells = <1>; | ||
116 | ranges = <80000000 80000000 10000000 | ||
117 | ef600000 ef600000 a00000 | ||
118 | f0000000 f0000000 10000000>; | ||
119 | dcr-reg = <0a0 5>; | ||
120 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
121 | |||
122 | EBC0: ebc { | ||
123 | compatible = "ibm,ebc-405exr", "ibm,ebc"; | ||
124 | dcr-reg = <012 2>; | ||
125 | #address-cells = <2>; | ||
126 | #size-cells = <1>; | ||
127 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
128 | /* ranges property is supplied by U-Boot */ | ||
129 | interrupts = <5 1>; | ||
130 | interrupt-parent = <&UIC1>; | ||
131 | |||
132 | nor_flash@0,0 { | ||
133 | compatible = "amd,s29gl512n", "cfi-flash"; | ||
134 | bank-width = <2>; | ||
135 | reg = <0 000000 4000000>; | ||
136 | #address-cells = <1>; | ||
137 | #size-cells = <1>; | ||
138 | partition@0 { | ||
139 | label = "kernel"; | ||
140 | reg = <0 200000>; | ||
141 | }; | ||
142 | partition@200000 { | ||
143 | label = "root"; | ||
144 | reg = <200000 200000>; | ||
145 | }; | ||
146 | partition@400000 { | ||
147 | label = "user"; | ||
148 | reg = <400000 3b60000>; | ||
149 | }; | ||
150 | partition@3f60000 { | ||
151 | label = "env"; | ||
152 | reg = <3f60000 40000>; | ||
153 | }; | ||
154 | partition@3fa0000 { | ||
155 | label = "u-boot"; | ||
156 | reg = <3fa0000 60000>; | ||
157 | }; | ||
158 | }; | ||
159 | }; | ||
160 | |||
161 | UART0: serial@ef600200 { | ||
162 | device_type = "serial"; | ||
163 | compatible = "ns16550"; | ||
164 | reg = <ef600200 8>; | ||
165 | virtual-reg = <ef600200>; | ||
166 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
167 | current-speed = <0>; | ||
168 | interrupt-parent = <&UIC0>; | ||
169 | interrupts = <1a 4>; | ||
170 | }; | ||
171 | |||
172 | UART1: serial@ef600300 { | ||
173 | device_type = "serial"; | ||
174 | compatible = "ns16550"; | ||
175 | reg = <ef600300 8>; | ||
176 | virtual-reg = <ef600300>; | ||
177 | clock-frequency = <0>; /* Filled in by U-Boot */ | ||
178 | current-speed = <0>; | ||
179 | interrupt-parent = <&UIC0>; | ||
180 | interrupts = <1 4>; | ||
181 | }; | ||
182 | |||
183 | IIC0: i2c@ef600400 { | ||
184 | compatible = "ibm,iic-405exr", "ibm,iic"; | ||
185 | reg = <ef600400 14>; | ||
186 | interrupt-parent = <&UIC0>; | ||
187 | interrupts = <2 4>; | ||
188 | }; | ||
189 | |||
190 | IIC1: i2c@ef600500 { | ||
191 | compatible = "ibm,iic-405exr", "ibm,iic"; | ||
192 | reg = <ef600500 14>; | ||
193 | interrupt-parent = <&UIC0>; | ||
194 | interrupts = <7 4>; | ||
195 | }; | ||
196 | |||
197 | |||
198 | RGMII0: emac-rgmii@ef600b00 { | ||
199 | compatible = "ibm,rgmii-405exr", "ibm,rgmii"; | ||
200 | reg = <ef600b00 104>; | ||
201 | has-mdio; | ||
202 | }; | ||
203 | |||
204 | EMAC0: ethernet@ef600900 { | ||
205 | linux,network-index = <0>; | ||
206 | device_type = "network"; | ||
207 | compatible = "ibm,emac-405exr", "ibm,emac4"; | ||
208 | interrupt-parent = <&EMAC0>; | ||
209 | interrupts = <0 1>; | ||
210 | #interrupt-cells = <1>; | ||
211 | #address-cells = <0>; | ||
212 | #size-cells = <0>; | ||
213 | interrupt-map = </*Status*/ 0 &UIC0 18 4 | ||
214 | /*Wake*/ 1 &UIC1 1d 4>; | ||
215 | reg = <ef600900 70>; | ||
216 | local-mac-address = [000000000000]; /* Filled in by U-Boot */ | ||
217 | mal-device = <&MAL0>; | ||
218 | mal-tx-channel = <0>; | ||
219 | mal-rx-channel = <0>; | ||
220 | cell-index = <0>; | ||
221 | max-frame-size = <5dc>; | ||
222 | rx-fifo-size = <1000>; | ||
223 | tx-fifo-size = <800>; | ||
224 | phy-mode = "rgmii"; | ||
225 | phy-map = <00000000>; | ||
226 | rgmii-device = <&RGMII0>; | ||
227 | rgmii-channel = <0>; | ||
228 | has-inverted-stacr-oc; | ||
229 | has-new-stacr-staopc; | ||
230 | }; | ||
231 | }; | ||
232 | |||
233 | PCIE0: pciex@0a0000000 { | ||
234 | device_type = "pci"; | ||
235 | #interrupt-cells = <1>; | ||
236 | #size-cells = <2>; | ||
237 | #address-cells = <3>; | ||
238 | compatible = "ibm,plb-pciex-405exr", "ibm,plb-pciex"; | ||
239 | primary; | ||
240 | port = <0>; /* port number */ | ||
241 | reg = <a0000000 20000000 /* Config space access */ | ||
242 | ef000000 00001000>; /* Registers */ | ||
243 | dcr-reg = <040 020>; | ||
244 | sdr-base = <400>; | ||
245 | |||
246 | /* Outbound ranges, one memory and one IO, | ||
247 | * later cannot be changed | ||
248 | */ | ||
249 | ranges = <02000000 0 80000000 90000000 0 08000000 | ||
250 | 01000000 0 00000000 e0000000 0 00010000>; | ||
251 | |||
252 | /* Inbound 2GB range starting at 0 */ | ||
253 | dma-ranges = <42000000 0 0 0 0 80000000>; | ||
254 | |||
255 | /* This drives busses 0x00 to 0x3f */ | ||
256 | bus-range = <00 3f>; | ||
257 | |||
258 | /* Legacy interrupts (note the weird polarity, the bridge seems | ||
259 | * to invert PCIe legacy interrupts). | ||
260 | * We are de-swizzling here because the numbers are actually for | ||
261 | * port of the root complex virtual P2P bridge. But I want | ||
262 | * to avoid putting a node for it in the tree, so the numbers | ||
263 | * below are basically de-swizzled numbers. | ||
264 | * The real slot is on idsel 0, so the swizzling is 1:1 | ||
265 | */ | ||
266 | interrupt-map-mask = <0000 0 0 7>; | ||
267 | interrupt-map = < | ||
268 | 0000 0 0 1 &UIC2 0 4 /* swizzled int A */ | ||
269 | 0000 0 0 2 &UIC2 1 4 /* swizzled int B */ | ||
270 | 0000 0 0 3 &UIC2 2 4 /* swizzled int C */ | ||
271 | 0000 0 0 4 &UIC2 3 4 /* swizzled int D */>; | ||
272 | }; | ||
273 | }; | ||
274 | }; | ||
diff --git a/arch/powerpc/boot/dts/walnut.dts b/arch/powerpc/boot/dts/walnut.dts index 0e3825e599dc..dcc21b0438e5 100644 --- a/arch/powerpc/boot/dts/walnut.dts +++ b/arch/powerpc/boot/dts/walnut.dts | |||
@@ -175,9 +175,10 @@ | |||
175 | }; | 175 | }; |
176 | }; | 176 | }; |
177 | 177 | ||
178 | ds1743@1,0 { | 178 | nvram@1,0 { |
179 | /* NVRAM and RTC */ | 179 | /* NVRAM and RTC */ |
180 | compatible = "ds1743"; | 180 | compatible = "ds1743-nvram"; |
181 | #bytes = <2000>; | ||
181 | reg = <1 0 2000>; | 182 | reg = <1 0 2000>; |
182 | }; | 183 | }; |
183 | 184 | ||
diff --git a/arch/powerpc/boot/dts/warp.dts b/arch/powerpc/boot/dts/warp.dts new file mode 100644 index 000000000000..dc1499d30f43 --- /dev/null +++ b/arch/powerpc/boot/dts/warp.dts | |||
@@ -0,0 +1,239 @@ | |||
1 | /* | ||
2 | * Device Tree Source for PIKA Warp | ||
3 | * | ||
4 | * Copyright (c) 2008 PIKA Technologies | ||
5 | * Sean MacLennan <smaclennan@pikatech.com> | ||
6 | * | ||
7 | * This file is licensed under the terms of the GNU General Public | ||
8 | * License version 2. This program is licensed "as is" without | ||
9 | * any warranty of any kind, whether express or implied. | ||
10 | */ | ||
11 | |||
12 | / { | ||
13 | #address-cells = <2>; | ||
14 | #size-cells = <1>; | ||
15 | model = "pika,warp"; | ||
16 | compatible = "pika,warp"; | ||
17 | dcr-parent = <&/cpus/cpu@0>; | ||
18 | |||
19 | aliases { | ||
20 | ethernet0 = &EMAC0; | ||
21 | serial0 = &UART0; | ||
22 | }; | ||
23 | |||
24 | cpus { | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <0>; | ||
27 | |||
28 | cpu@0 { | ||
29 | device_type = "cpu"; | ||
30 | model = "PowerPC,440EP"; | ||
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>; | ||
37 | d-cache-size = <8000>; | ||
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-440ep","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 | UIC1: interrupt-controller1 { | ||
59 | compatible = "ibm,uic-440ep","ibm,uic"; | ||
60 | interrupt-controller; | ||
61 | cell-index = <1>; | ||
62 | dcr-reg = <0d0 009>; | ||
63 | #address-cells = <0>; | ||
64 | #size-cells = <0>; | ||
65 | #interrupt-cells = <2>; | ||
66 | interrupts = <1e 4 1f 4>; /* cascade */ | ||
67 | interrupt-parent = <&UIC0>; | ||
68 | }; | ||
69 | |||
70 | SDR0: sdr { | ||
71 | compatible = "ibm,sdr-440ep"; | ||
72 | dcr-reg = <00e 002>; | ||
73 | }; | ||
74 | |||
75 | CPR0: cpr { | ||
76 | compatible = "ibm,cpr-440ep"; | ||
77 | dcr-reg = <00c 002>; | ||
78 | }; | ||
79 | |||
80 | plb { | ||
81 | compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4"; | ||
82 | #address-cells = <2>; | ||
83 | #size-cells = <1>; | ||
84 | ranges; | ||
85 | clock-frequency = <0>; /* Filled in by zImage */ | ||
86 | |||
87 | SDRAM0: sdram { | ||
88 | compatible = "ibm,sdram-440ep", "ibm,sdram-405gp"; | ||
89 | dcr-reg = <010 2>; | ||
90 | }; | ||
91 | |||
92 | DMA0: dma { | ||
93 | compatible = "ibm,dma-440ep", "ibm,dma-440gp"; | ||
94 | dcr-reg = <100 027>; | ||
95 | }; | ||
96 | |||
97 | MAL0: mcmal { | ||
98 | compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal"; | ||
99 | dcr-reg = <180 62>; | ||
100 | num-tx-chans = <4>; | ||
101 | num-rx-chans = <2>; | ||
102 | interrupt-parent = <&MAL0>; | ||
103 | interrupts = <0 1 2 3 4>; | ||
104 | #interrupt-cells = <1>; | ||
105 | #address-cells = <0>; | ||
106 | #size-cells = <0>; | ||
107 | interrupt-map = </*TXEOB*/ 0 &UIC0 a 4 | ||
108 | /*RXEOB*/ 1 &UIC0 b 4 | ||
109 | /*SERR*/ 2 &UIC1 0 4 | ||
110 | /*TXDE*/ 3 &UIC1 1 4 | ||
111 | /*RXDE*/ 4 &UIC1 2 4>; | ||
112 | }; | ||
113 | |||
114 | POB0: opb { | ||
115 | compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb"; | ||
116 | #address-cells = <1>; | ||
117 | #size-cells = <1>; | ||
118 | ranges = <00000000 0 00000000 80000000 | ||
119 | 80000000 0 80000000 80000000>; | ||
120 | interrupt-parent = <&UIC1>; | ||
121 | interrupts = <7 4>; | ||
122 | clock-frequency = <0>; /* Filled in by zImage */ | ||
123 | |||
124 | EBC0: ebc { | ||
125 | compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc"; | ||
126 | dcr-reg = <012 2>; | ||
127 | #address-cells = <2>; | ||
128 | #size-cells = <1>; | ||
129 | clock-frequency = <0>; /* Filled in by zImage */ | ||
130 | interrupts = <5 1>; | ||
131 | interrupt-parent = <&UIC1>; | ||
132 | |||
133 | fpga@2,0 { | ||
134 | compatible = "pika,fpga"; | ||
135 | reg = <2 0 2200>; | ||
136 | interrupts = <18 8>; | ||
137 | interrupt-parent = <&UIC0>; | ||
138 | }; | ||
139 | |||
140 | nor_flash@0,0 { | ||
141 | compatible = "amd,s29gl512n", "cfi-flash"; | ||
142 | bank-width = <2>; | ||
143 | reg = <0 0 4000000>; | ||
144 | #address-cells = <1>; | ||
145 | #size-cells = <1>; | ||
146 | partition@0 { | ||
147 | label = "kernel"; | ||
148 | reg = <0 180000>; | ||
149 | }; | ||
150 | partition@180000 { | ||
151 | label = "root"; | ||
152 | reg = <180000 3480000>; | ||
153 | }; | ||
154 | partition@3600000 { | ||
155 | label = "user"; | ||
156 | reg = <3600000 900000>; | ||
157 | }; | ||
158 | partition@3f00000 { | ||
159 | label = "fpga"; | ||
160 | reg = <3f00000 40000>; | ||
161 | }; | ||
162 | partition@3f40000 { | ||
163 | label = "env"; | ||
164 | reg = <3f40000 40000>; | ||
165 | }; | ||
166 | partition@3f80000 { | ||
167 | label = "u-boot"; | ||
168 | reg = <3f80000 80000>; | ||
169 | }; | ||
170 | }; | ||
171 | }; | ||
172 | |||
173 | UART0: serial@ef600300 { | ||
174 | device_type = "serial"; | ||
175 | compatible = "ns16550"; | ||
176 | reg = <ef600300 8>; | ||
177 | virtual-reg = <ef600300>; | ||
178 | clock-frequency = <0>; /* Filled in by zImage */ | ||
179 | current-speed = <1c200>; | ||
180 | interrupt-parent = <&UIC0>; | ||
181 | interrupts = <0 4>; | ||
182 | }; | ||
183 | |||
184 | IIC0: i2c@ef600700 { | ||
185 | compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; | ||
186 | reg = <ef600700 14>; | ||
187 | interrupt-parent = <&UIC0>; | ||
188 | interrupts = <2 4>; | ||
189 | }; | ||
190 | |||
191 | GPIO0: gpio@ef600b00 { | ||
192 | compatible = "ibm,gpio-440ep"; | ||
193 | reg = <ef600b00 48>; | ||
194 | }; | ||
195 | |||
196 | GPIO1: gpio@ef600c00 { | ||
197 | compatible = "ibm,gpio-440ep"; | ||
198 | reg = <ef600c00 48>; | ||
199 | }; | ||
200 | |||
201 | ZMII0: emac-zmii@ef600d00 { | ||
202 | compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii"; | ||
203 | reg = <ef600d00 c>; | ||
204 | }; | ||
205 | |||
206 | EMAC0: ethernet@ef600e00 { | ||
207 | linux,network-index = <0>; | ||
208 | device_type = "network"; | ||
209 | compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; | ||
210 | interrupt-parent = <&UIC1>; | ||
211 | interrupts = <1c 4 1d 4>; | ||
212 | reg = <ef600e00 70>; | ||
213 | local-mac-address = [000000000000]; | ||
214 | mal-device = <&MAL0>; | ||
215 | mal-tx-channel = <0 1>; | ||
216 | mal-rx-channel = <0>; | ||
217 | cell-index = <0>; | ||
218 | max-frame-size = <5dc>; | ||
219 | rx-fifo-size = <1000>; | ||
220 | tx-fifo-size = <800>; | ||
221 | phy-mode = "rmii"; | ||
222 | phy-map = <00000000>; | ||
223 | zmii-device = <&ZMII0>; | ||
224 | zmii-channel = <0>; | ||
225 | }; | ||
226 | |||
227 | usb@ef601000 { | ||
228 | compatible = "ohci-be"; | ||
229 | reg = <ef601000 80>; | ||
230 | interrupts = <8 1 9 1>; | ||
231 | interrupt-parent = < &UIC1 >; | ||
232 | }; | ||
233 | }; | ||
234 | }; | ||
235 | |||
236 | chosen { | ||
237 | linux,stdout-path = "/plb/opb/serial@ef600300"; | ||
238 | }; | ||
239 | }; | ||