mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-10 12:39:22 -04:00
ppc4xx: 4xx_pcie: Fix problem with SDRN access using port number as idx
Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
3048bcbf0b
commit
6d95289281
@ -588,7 +588,7 @@ int ppc4xx_init_pcie_port(int port, int rootport)
|
|||||||
*/
|
*/
|
||||||
mdelay(100);
|
mdelay(100);
|
||||||
|
|
||||||
val = SDR_READ(SDRN_PESDR_RCSSTS(sdr_base(port)));
|
val = SDR_READ(SDRN_PESDR_RCSSTS(port));
|
||||||
if (val & (1 << 20)) {
|
if (val & (1 << 20)) {
|
||||||
printf("PCIE%d: PGRST failed %08x\n", port, val);
|
printf("PCIE%d: PGRST failed %08x\n", port, val);
|
||||||
return -1;
|
return -1;
|
||||||
@ -597,7 +597,7 @@ int ppc4xx_init_pcie_port(int port, int rootport)
|
|||||||
/*
|
/*
|
||||||
* Verify link is up
|
* Verify link is up
|
||||||
*/
|
*/
|
||||||
val = SDR_READ(SDRN_PESDR_LOOP(sdr_base(port)));
|
val = SDR_READ(SDRN_PESDR_LOOP(port));
|
||||||
if (!(val & 0x00001000)) {
|
if (!(val & 0x00001000)) {
|
||||||
printf("PCIE%d: link is not up.\n", port);
|
printf("PCIE%d: link is not up.\n", port);
|
||||||
return -1;
|
return -1;
|
||||||
@ -639,15 +639,15 @@ int ppc4xx_init_pcie_port(int port, int rootport)
|
|||||||
* Check for VC0 active and assert RDY.
|
* Check for VC0 active and assert RDY.
|
||||||
*/
|
*/
|
||||||
attempts = 10;
|
attempts = 10;
|
||||||
while(!(SDR_READ(SDRN_PESDR_RCSSTS(sdr_base(port))) & (1 << 16))) {
|
while(!(SDR_READ(SDRN_PESDR_RCSSTS(port)) & (1 << 16))) {
|
||||||
if (!(attempts--)) {
|
if (!(attempts--)) {
|
||||||
printf("PCIE%d: VC0 not active\n", port);
|
printf("PCIE%d: VC0 not active\n", port);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
mdelay(1000);
|
mdelay(1000);
|
||||||
}
|
}
|
||||||
SDR_WRITE(SDRN_PESDR_RCSSET(sdr_base(port)),
|
SDR_WRITE(SDRN_PESDR_RCSSET(port),
|
||||||
SDR_READ(SDRN_PESDR_RCSSET(sdr_base(port))) | 1 << 20);
|
SDR_READ(SDRN_PESDR_RCSSET(port)) | 1 << 20);
|
||||||
mdelay(100);
|
mdelay(100);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -862,7 +862,7 @@ int ppc4xx_setup_pcie_endpoint(struct pci_controller *hose, int port)
|
|||||||
out_le16(mbase + 0x202,0xfeed); /* Setting device ID */
|
out_le16(mbase + 0x202,0xfeed); /* Setting device ID */
|
||||||
|
|
||||||
attempts = 10;
|
attempts = 10;
|
||||||
while(!(SDR_READ(SDRN_PESDR_RCSSTS(sdr_base(port))) & (1 << 8))) {
|
while(!(SDR_READ(SDRN_PESDR_RCSSTS(port)) & (1 << 8))) {
|
||||||
if (!(attempts--)) {
|
if (!(attempts--)) {
|
||||||
printf("PCIE%d: BME not active\n", port);
|
printf("PCIE%d: BME not active\n", port);
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user