PCI: brcmstb: Restore initial fundamental reset
authorPhil Elwell <phil@raspberrypi.com>
Wed, 11 Nov 2020 17:08:33 +0000 (17:08 +0000)
committerDom Cobley <popcornmix@gmail.com>
Mon, 21 Mar 2022 16:04:08 +0000 (16:04 +0000)
commite67be641b087b3af35d3d334b3533829952ea80a
tree86f0722c650482bdff92dea017e8cfe3ef3cd902
parent54941d6d19312f8492a9f61c33d417e3ce124d89
PCI: brcmstb: Restore initial fundamental reset

[1] replaced a single reset function with a pointer to one of two
implementations, but also removed the call asserting the reset
at the start of brcm_pcie_setup. Doing so breaks Raspberry Pis with
VL805 XHCI controllers lacking dedicated SPI EEPROMs, which have been
used for USB booting but then need to be reset so that the kernel
can reconfigure them. The lack of a reset causes the firmware's loading
of the EEPROM image to RAM to fail, breaking USB for the kernel.

See: https://www.raspberrypi.org/forums/viewtopic.php?p=1758157#p1758157

Fixes: 04356ac30771 ("PCI: brcmstb: Add bcm7278 PERST# support")

[1] 04356ac30771 ("PCI: brcmstb: Add bcm7278 PERST# support")

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
drivers/pci/controller/pcie-brcmstb.c