diff options
| author | Jim Quinlan <[email protected]> | 2023-06-23 14:40:57 +0000 |
|---|---|---|
| committer | Lorenzo Pieralisi <[email protected]> | 2023-08-24 15:33:58 +0000 |
| commit | 8eb8c2735306526929141052c82bd118a7a2119b (patch) | |
| tree | 2ebfdfb5cb4d6bced7b8ffd0bfa2053f841ca2c7 /drivers/pci/controller/pcie-brcmstb.c | |
| parent | Linux 6.5-rc1 (diff) | |
| download | kernel-8eb8c2735306526929141052c82bd118a7a2119b.tar.gz kernel-8eb8c2735306526929141052c82bd118a7a2119b.zip | |
PCI: brcmstb: Assert PERST# on BCM2711
The current PCIe driver assumes PERST# is asserted when probe() is invoked.
Some older versions of the 2711/RPi bootloader left PERST# unasserted, as
the Raspian OS does assert PERST# on probe(). For this reason, we assert
PERST# for BCM2711 SOCs (i.e. RPi).
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jim Quinlan <[email protected]>
Signed-off-by: Lorenzo Pieralisi <[email protected]>
Diffstat (limited to 'drivers/pci/controller/pcie-brcmstb.c')
| -rw-r--r-- | drivers/pci/controller/pcie-brcmstb.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c index f593a422bd63..74808e9b41e7 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -874,6 +874,11 @@ static int brcm_pcie_setup(struct brcm_pcie *pcie) /* Reset the bridge */ pcie->bridge_sw_init_set(pcie, 1); + + /* Ensure that PERST# is asserted; some bootloaders may deassert it. */ + if (pcie->type == BCM2711) + pcie->perst_set(pcie, 1); + usleep_range(100, 200); /* Take the bridge out of reset */ |
