pci: pci_mvebu: Wait 100ms for Link Up in mvebu_pcie_probe()
authorPali Rohár <pali@kernel.org>
Tue, 21 Dec 2021 11:20:17 +0000 (12:20 +0100)
committerStefan Roese <sr@denx.de>
Fri, 14 Jan 2022 06:47:57 +0000 (07:47 +0100)
commite7ff4271ab431cc725a95a87fe6b175bb6cede3a
treeadf0b49283b75eef556043934ba7dc18784b7631
parentafef9f4215c9e2ce968734d6b9993ce8c4cffa5f
pci: pci_mvebu: Wait 100ms for Link Up in mvebu_pcie_probe()

After function mvebu_pcie_probe() returns U-Boot DM expects that PCIe link
is already up. In followup patches link initialization will be moved from
SPL to proper and therefore explicitly link up delay is required.

Delay mvebu_pcie_probe() for 100ms to ensure that PCIe link is up after
function finish. In the case when no card is connected to the PCIe slot,
this will delay probe time by 100ms, which should not be problematic.

This change fixes detection and initialization of some QCA98xx cards on
the first serdes when configured in x1 mode. Default configuration of
the first serdes on A385 is x4 mode, so it looks as if some delay is
required when x4 is changed to x1 and card correctly links with A385.
Other PCIe serdes ports on A385 are x1-only, and so they don't have this
problem.

Signed-off-by: Pali Rohár <pali@kernel.org>
drivers/pci/pci_mvebu.c