October 2019

aspberry Pi 4 PCIe Bridge Chip Solution

After seeing Thomasz Mloduchowski and Colin Riley‘s successful project of bridging the PCIe bus to a USB 3.0 port on the Raspberry Pi 4, I felt extremely motivated! After reading the comments on hack-a-day, I decided to give it a try myself!

So, I designed a PCIe bridge “chip” that can simply replace the VL805 USB 3.0 controller chip on the Pi, allowing access to the PCIe bus on the USB 3.0 port. However, this also means that all USB functionality on the Pi will be lost. If you encounter network issues and need to connect a keyboard, this might be a bit troublesome.

Fortunately, there’s a solution. The USB-C power connector appears to be able to function as a USB host, as long as 5V power is provided through the GPIO header, allowing a keyboard to be connected. This is a very practical solution that can meet our needs.

The bridge “chip” is a 0.8mm thick PCB from OSHPark with copper pads in the same locations as a real VL805 QFN68 IC package, then traces connecting the PCIe pads to the USB pads that connect to the upper USB 3.0 port. RESET, WAKE and a few other signals were also connected to the lower USB 3.0 port.

PCIe SignalDirectionUSB Signal
REFCLK+Host -> DeviceD-