PCI: brcmstb: Restore initial fundamental reset
authorPhil Elwell <phil@raspberrypi.com>
Wed, 11 Nov 2020 17:08:33 +0000 (17:08 +0000)
committerpopcornmix <popcornmix@gmail.com>
Wed, 27 Jan 2021 19:13:24 +0000 (19:13 +0000)
commitdb18846c17f9b362615228b2f78145535630fea2
tree308b8714fce6d1019c60948ee1924c78b1fe45ae
parent3650ca11f5c5d09d88a9e61866b66d4e5d33abc0
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