The circuit functionality is mostly obvious. There is polyswitch F1, a self-resetting fuse which protects the RPI from overcurrent condition. There is the Transient Voltage Suppressor (TVS) diode D5 which protects the RPI against static discharge and possibly overvoltage condition. However, the function of mosfet Q3 together with the matched PNP transistors U14 is not so obvious. A mosfet is usually used as a reverse polarity protection, but such protection is not needed for the RPI because of the polarized USB connector used.
“Reverse polarity protection with mosfet”
I wasn’t able to work out the PNP pair functionality by searching the Internet. Adafruit also noticed this transistor pair but did not offer useful explanation.
It turns out that the matched PNP transistors are used as voltage comparator. When Vin > Vout, the PNPs are biased in such a way that the mosfet is switched on. When Vin < Vout, the mosfet is switched off. In another word, the circuit acts as a diode letting current to flow only in the forward direction. The advantage of this “diode” over silicon or even schottky diode is the much lower voltage drop.
This diode functionality is important because when the RPI is connected to a computer USB port, the RPI must never source current upstream into VBus. Without this PNP circuit, if there is voltage present on Vout, the mosfet will be turned on. Voltage on Vout will be present if the RPI is powered through the GPIO expansion port. If this applied voltage happens to be higher than VBus, then current will flow into VBus, potentially damaging the computer.