diff options
| author | Ed Swarthout <Ed.Swarthout@freescale.com> | 2008-10-08 23:38:00 -0500 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2008-10-13 22:55:40 +0200 | 
| commit | 6df0efd5c86ca1689deeb2738b46b7d83ce228ef (patch) | |
| tree | c223a1e37e75c2d4b8bd92d6c52ac442c5781865 /drivers/pci/fsl_pci_init.c | |
| parent | 6f099bbac1ba5dfb46ee7ad29dc53713f0501ba5 (diff) | |
| download | olio-uboot-2014.01-6df0efd5c86ca1689deeb2738b46b7d83ce228ef.tar.xz olio-uboot-2014.01-6df0efd5c86ca1689deeb2738b46b7d83ce228ef.zip | |
fsl_pci_init do not scan bus when configured as an end-point
Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com>
Acked-by: Andy Fleming <afleming@freescale.com>
Diffstat (limited to 'drivers/pci/fsl_pci_init.c')
| -rw-r--r-- | drivers/pci/fsl_pci_init.c | 17 | 
1 files changed, 15 insertions, 2 deletions
| diff --git a/drivers/pci/fsl_pci_init.c b/drivers/pci/fsl_pci_init.c index bb2813f12..38a16e536 100644 --- a/drivers/pci/fsl_pci_init.c +++ b/drivers/pci/fsl_pci_init.c @@ -168,8 +168,21 @@ fsl_pci_init(struct pci_controller *hose)  	}  #ifndef CONFIG_PCI_NOSCAN -	printf ("               Scanning PCI bus %02x\n", hose->current_busno); -	hose->last_busno = pci_hose_scan_bus(hose,hose->current_busno); +	pci_hose_read_config_byte(hose, dev, PCI_CLASS_PROG, &temp8); + +	/* Programming Interface (PCI_CLASS_PROG) +	 * 0 == pci host or pcie root-complex, +	 * 1 == pci agent or pcie end-point +	 */ +	if (!temp8) { +		printf("               Scanning PCI bus %02x\n", +			hose->current_busno); +		hose->last_busno = pci_hose_scan_bus(hose, hose->current_busno); +	} else { +		debug("               Not scanning PCI bus %02x. PI=%x\n", +			hose->current_busno, temp8); +		hose->last_busno = hose->current_busno; +	}  	if ( bridge ) { /* update limit regs and subordinate busno */  		pciauto_postscan_setup_bridge(hose, dev, hose->last_busno); |