cavium/bdk: Poke the watchdog while PCIe init

Prevent a reboot loop due to slow PCIe init.
Poke the watchdog a few times.

Change-Id: I03739d7dbad3072ccf77364fa4caba42c66ac643
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/27455
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Patrick Rudolph 2018-07-12 15:36:26 +02:00 committed by Patrick Rudolph
parent bb11232210
commit 780114fb07
2 changed files with 3 additions and 0 deletions

View File

@ -61,6 +61,7 @@ void bdk_boot_pcie(void)
{
BDK_TRACE(INIT, "Initializing PCIe%d on Node %d\n", p, n);
bdk_pcie_rc_initialize(n, p);
bdk_watchdog_poke();
}
}
}

View File

@ -549,6 +549,7 @@ static uint32_t cfg_read32_retry(bdk_node_t node, int pcie_port, int bus, int de
return val;
/* Failed, wait a little and try again */
bdk_wait_usec(10000);
bdk_watchdog_poke();
} while (bdk_clock_get_count(BDK_CLOCK_TIME) < timeout);
BDK_TRACE(PCIE, "N%d.PCIe%d: Config read failed, can't communicate with device\n",
@ -1123,6 +1124,7 @@ int bdk_pcie_rc_initialize(bdk_node_t node, int pcie_port)
return -1;
}
retry_count++;
bdk_watchdog_poke();
}
/* Errata PCIE-28816: Link retrain initiated at GEN1 can cause PCIE