/* * Overwrite weak is_pci_host() * * This routine is called to determine if a pci scan should be * performed. With various hardware environments (especially cPCI and * PPMC) it's insufficient to depend on the state of the arbiter enable * bit in the strap register, or generic host/adapter assumptions. * * Return 0 for adapter mode, non-zero for host (monarch) mode. */ int is_pci_host(struct pci_controller *hose) { char *s; if (!is_monarch()) { /* * Overwrite PCI identification when running in * non-monarch mode * This should be moved into pci_target_init() * when it is sometimes available for 405 CPUs */ pci_write_config_word(PCIDEVID_405GP, PCI_SUBSYSTEM_ID, CONFIG_SYS_PCI_SUBSYS_ID_NONMONARCH); pci_write_config_word(PCIDEVID_405GP, PCI_CLASS_SUB_CODE, CONFIG_SYS_PCI_CLASSCODE_NONMONARCH); } s = getenv("pciscan"); if (s == NULL) { if (is_monarch()) { wait_for_pci_ready(); return 1; } else { return 0; } } else { if (!strcmp(s, "yes")) return 1; } return 0; }
int is_pci_host(struct pci_controller *hose) { if (is_monarch()) { wait_for_pci_ready(); return 1; /* return 1 for host controller */ } else { return 0; /* return 0 for adapter controller */ } }
int is_pci_host(struct pci_controller *hose) { wait_for_pci_ready(); return 1; /* return 1 for host controller */ }