|
@@ -94,29 +94,11 @@ static struct pci_controller hose = {
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
-static void reloc_pci_cfg_table(struct pci_config_table *table)
|
|
|
|
-{
|
|
|
|
- unsigned long addr;
|
|
|
|
-
|
|
|
|
- for (; table && table->vendor; table++) {
|
|
|
|
- addr = (ulong) (table->config_device) + gd->reloc_off;
|
|
|
|
-#ifdef DEBUG
|
|
|
|
- printf ("device \"%d\": 0x%08lx => 0x%08lx\n",
|
|
|
|
- table->device, (ulong) (table->config_device), addr);
|
|
|
|
-#endif
|
|
|
|
- table->config_device =
|
|
|
|
- (void (*)(struct pci_controller* hose, pci_dev_t dev,
|
|
|
|
- struct pci_config_table *))addr;
|
|
|
|
- table->priv[0]+=gd->reloc_off;
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
void pci_init_board(void)
|
|
void pci_init_board(void)
|
|
{
|
|
{
|
|
/*we want the ptrs to RAM not flash (ie don't use init list)*/
|
|
/*we want the ptrs to RAM not flash (ie don't use init list)*/
|
|
hose.fixup_irq = pci_pip405_fixup_irq;
|
|
hose.fixup_irq = pci_pip405_fixup_irq;
|
|
hose.config_table = pci_pip405_config_table;
|
|
hose.config_table = pci_pip405_config_table;
|
|
- reloc_pci_cfg_table(hose.config_table);
|
|
|
|
#ifdef DEBUG
|
|
#ifdef DEBUG
|
|
printf("Init PCI: fixup_irq=%p config_table=%p hose=%p\n",pci_pip405_fixup_irq,pci_pip405_config_table,hose);
|
|
printf("Init PCI: fixup_irq=%p config_table=%p hose=%p\n",pci_pip405_fixup_irq,pci_pip405_config_table,hose);
|
|
#endif
|
|
#endif
|