1 #include <linux/kernel.h>
2 #include <linux/init.h>
4 #include <linux/slab.h>
6 #include <asm/machdep.h>
7 #include <platforms/gemini.h>
8 #include <asm/byteorder.h>
10 #include <asm/uaccess.h>
11 #include <asm/pci-bridge.h>
13 void __init
gemini_pcibios_fixup(void)
16 struct pci_dev
*dev
= NULL
;
18 for_each_pci_dev(dev
) {
19 for(i
= 0; i
< 6; i
++) {
20 if (dev
->resource
[i
].flags
& IORESOURCE_IO
) {
21 dev
->resource
[i
].start
|= (0xfe << 24);
22 dev
->resource
[i
].end
|= (0xfe << 24);
29 /* The "bootloader" for Synergy boards does none of this for us, so we need to
30 lay it all out ourselves... --Dan */
31 void __init
gemini_find_bridges(void)
33 struct pci_controller
* hose
;
35 ppc_md
.pcibios_fixup
= gemini_pcibios_fixup
;
37 hose
= pcibios_alloc_controller();
40 setup_indirect_pci(hose
, 0xfec00000, 0xfee00000);