[PATCH v5 0/4] USB: pci-quirks: Add Raspberry Pi 4 quirk

From: Nicolas Saenz Julienne
Date: Tue Mar 10 2020 - 08:53:27 EST


On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
loaded directly from an EEPROM or, if not present, by the SoC's
VideCore. This series adds support for the later.

Note that there are a set of constraints we have to consider (some of
them I missed on v1):
- We need to make sure the VideoCore firmware interface is up and
running before running the VL805 firmware load call.

- There is no way to discern RPi4's VL805 chip from other platforms',
so we need the firmware load to happen *before* running
quirk_usb_handoff_xhci(). Failure to do so results in an unwarranted
5 second wait while the fixup code polls xHC's unexisting state.

---

Changes since v4:
- Addressed Sergei's comments
- Fix potential warning in patch #2

Changes since v3:
- Addressed Greg's comments

There was no v2, my bad.

Changes since v1:
- Addressed Floarians comments

Nicolas Saenz Julienne (4):
soc: bcm2835: Sync xHCI reset firmware property with downstream
firmware: raspberrypi: Introduce vl805 init routine
PCI: brcmstb: Wait for Raspberry Pi's firmware when present
USB: pci-quirks: Add Raspberry Pi 4 quirk

drivers/firmware/Kconfig | 1 +
drivers/firmware/raspberrypi.c | 38 ++++++++++++++++++++++
drivers/pci/controller/pcie-brcmstb.c | 15 +++++++++
drivers/usb/host/pci-quirks.c | 16 +++++++++
include/soc/bcm2835/raspberrypi-firmware.h | 9 ++++-
5 files changed, 78 insertions(+), 1 deletion(-)

--
2.25.1