aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/boot/dts/kilauea.dts82
-rw-r--r--arch/powerpc/platforms/40x/Kconfig1
2 files changed, 83 insertions, 0 deletions
diff --git a/arch/powerpc/boot/dts/kilauea.dts b/arch/powerpc/boot/dts/kilauea.dts
index b090940ed410..aa6a51769930 100644
--- a/arch/powerpc/boot/dts/kilauea.dts
+++ b/arch/powerpc/boot/dts/kilauea.dts
@@ -253,5 +253,87 @@
253 has-new-stacr-staopc; 253 has-new-stacr-staopc;
254 }; 254 };
255 }; 255 };
256
257 PCIE0: pciex@0a0000000 {
258 device_type = "pci";
259 #interrupt-cells = <1>;
260 #size-cells = <2>;
261 #address-cells = <3>;
262 compatible = "ibm,plb-pciex-405ex", "ibm,plb-pciex";
263 primary;
264 port = <0>; /* port number */
265 reg = <a0000000 20000000 /* Config space access */
266 ef000000 00001000>; /* Registers */
267 dcr-reg = <040 020>;
268 sdr-base = <400>;
269
270 /* Outbound ranges, one memory and one IO,
271 * later cannot be changed
272 */
273 ranges = <02000000 0 80000000 90000000 0 08000000
274 01000000 0 00000000 e0000000 0 00010000>;
275
276 /* Inbound 2GB range starting at 0 */
277 dma-ranges = <42000000 0 0 0 0 80000000>;
278
279 /* This drives busses 0x00 to 0x0f */
280 bus-range = <00 0f>;
281
282 /* Legacy interrupts (note the weird polarity, the bridge seems
283 * to invert PCIe legacy interrupts).
284 * We are de-swizzling here because the numbers are actually for
285 * port of the root complex virtual P2P bridge. But I want
286 * to avoid putting a node for it in the tree, so the numbers
287 * below are basically de-swizzled numbers.
288 * The real slot is on idsel 0, so the swizzling is 1:1
289 */
290 interrupt-map-mask = <0000 0 0 7>;
291 interrupt-map = <
292 0000 0 0 1 &UIC2 0 4 /* swizzled int A */
293 0000 0 0 2 &UIC2 1 4 /* swizzled int B */
294 0000 0 0 3 &UIC2 2 4 /* swizzled int C */
295 0000 0 0 4 &UIC2 3 4 /* swizzled int D */>;
296 };
297
298 PCIE1: pciex@0c0000000 {
299 device_type = "pci";
300 #interrupt-cells = <1>;
301 #size-cells = <2>;
302 #address-cells = <3>;
303 compatible = "ibm,plb-pciex-405ex", "ibm,plb-pciex";
304 primary;
305 port = <1>; /* port number */
306 reg = <c0000000 20000000 /* Config space access */
307 ef001000 00001000>; /* Registers */
308 dcr-reg = <060 020>;
309 sdr-base = <440>;
310
311 /* Outbound ranges, one memory and one IO,
312 * later cannot be changed
313 */
314 ranges = <02000000 0 80000000 98000000 0 08000000
315 01000000 0 00000000 e0010000 0 00010000>;
316
317 /* Inbound 2GB range starting at 0 */
318 dma-ranges = <42000000 0 0 0 0 80000000>;
319
320 /* This drives busses 0x10 to 0x1f */
321 bus-range = <10 1f>;
322
323 /* Legacy interrupts (note the weird polarity, the bridge seems
324 * to invert PCIe legacy interrupts).
325 * We are de-swizzling here because the numbers are actually for
326 * port of the root complex virtual P2P bridge. But I want
327 * to avoid putting a node for it in the tree, so the numbers
328 * below are basically de-swizzled numbers.
329 * The real slot is on idsel 0, so the swizzling is 1:1
330 */
331 interrupt-map-mask = <0000 0 0 7>;
332 interrupt-map = <
333 0000 0 0 1 &UIC2 b 4 /* swizzled int A */
334 0000 0 0 2 &UIC2 c 4 /* swizzled int B */
335 0000 0 0 3 &UIC2 d 4 /* swizzled int C */
336 0000 0 0 4 &UIC2 e 4 /* swizzled int D */>;
337 };
256 }; 338 };
257}; 339};
diff --git a/arch/powerpc/platforms/40x/Kconfig b/arch/powerpc/platforms/40x/Kconfig
index bdc3e8741fc7..3048bd798b2a 100644
--- a/arch/powerpc/platforms/40x/Kconfig
+++ b/arch/powerpc/platforms/40x/Kconfig
@@ -28,6 +28,7 @@ config KILAUEA
28 depends on 40x 28 depends on 40x
29 default n 29 default n
30 select 405EX 30 select 405EX
31 select PPC4xx_PCI_EXPRESS
31 help 32 help
32 This option enables support for the AMCC PPC405EX evaluation board. 33 This option enables support for the AMCC PPC405EX evaluation board.
33 34