diff options
| author | Minkyu Kang <mk7.kang@samsung.com> | 2012-12-10 13:44:41 +0900 | 
|---|---|---|
| committer | Minkyu Kang <mk7.kang@samsung.com> | 2012-12-10 14:13:27 +0900 | 
| commit | 2c601c7208713ba9b2158c57adcf515f4bdbc212 (patch) | |
| tree | 9f6e70f33565beceb956b98c261bee19731d50d2 /drivers/pci/fsl_pci_init.c | |
| parent | b8a7c467960ffb4d5a5e1eef5f7783fb6f594542 (diff) | |
| parent | fd4d564b3c80b111f18c93adb14233a6a7ddb0e9 (diff) | |
| download | olio-uboot-2014.01-2c601c7208713ba9b2158c57adcf515f4bdbc212.tar.xz olio-uboot-2014.01-2c601c7208713ba9b2158c57adcf515f4bdbc212.zip | |
Merge branch 'master' of git://git.denx.de/u-boot into resolve
Conflicts:
	README
	board/samsung/universal_c210/universal.c
	drivers/misc/Makefile
	drivers/power/power_fsl.c
	include/configs/mx35pdk.h
	include/configs/mx53loco.h
	include/configs/seaboard.h
Diffstat (limited to 'drivers/pci/fsl_pci_init.c')
| -rw-r--r-- | drivers/pci/fsl_pci_init.c | 22 | 
1 files changed, 22 insertions, 0 deletions
| diff --git a/drivers/pci/fsl_pci_init.c b/drivers/pci/fsl_pci_init.c index 48ae16374..77ac1f7c7 100644 --- a/drivers/pci/fsl_pci_init.c +++ b/drivers/pci/fsl_pci_init.c @@ -470,6 +470,28 @@ void fsl_pci_init(struct pci_controller *hose, struct fsl_pci_info *pci_info)  		}  #endif +#ifdef CONFIG_SYS_P4080_ERRATUM_PCIE_A003 +		if (enabled == 0) { +			serdes_corenet_t *srds_regs = (void *)CONFIG_SYS_FSL_CORENET_SERDES_ADDR; +			temp32 = in_be32(&srds_regs->srdspccr0); + +			if ((temp32 >> 28) == 3) { +				int i; + +				out_be32(&srds_regs->srdspccr0, 2 << 28); +				setbits_be32(&pci->pdb_stat, 0x08000000); +				in_be32(&pci->pdb_stat); +				udelay(100); +				clrbits_be32(&pci->pdb_stat, 0x08000000); +				asm("sync;isync"); +				for (i=0; i < 100 && ltssm < PCI_LTSSM_L0; i++) { +					pci_hose_read_config_word(hose, dev, PCI_LTSSM, <ssm); +					udelay(1000); +				} +				enabled = ltssm >= PCI_LTSSM_L0; +			} +		} +#endif  		if (!enabled) {  			/* Let the user know there's no PCIe link */  			printf("no link, regs @ 0x%lx\n", pci_info->regs); |