Role of the CCG_FLIPPED_FET_CTRL macro in the CCG3PA Power SDK - KBA231907
The CCG_FLIPPED_FET_CTRL macro swaps the provider FET and the consumer FET. In other words, it controls the consumer FET by PCTRL and the provider FET by CCTRL. The FETs are swapped because VBUS_IN_DISCHARGE is connected to Type-C VBUS according to the power bank design requirement.
VBUS_IN_DISCHARGE has an internal LDO capable of powering the chip, while the PFET has an internal pull-up to this side. However, the VBUS_C_MON pin has no LDO capability.
Therefore, in designs that need dead battery support, the LDO must be on the Type-C side. That is why in such designs, VBUS_IN_DISCHARGE pin is connected to the Type-C VBUS and the VBUS_C_MON pin is connected to the VBUS source. Because VBUS_IN is flipped with VBUS_C_MON, the FETs also need to be swapped i.e., PCTRL should be used for consumer FET and CCTRL should be used for provider FET. This is because of the pull-up of the PFET to the VBUS_IN_DISCHARGE pin; therefore, it is called “FLIPPED_FET”.
When this macro is enabled, it implies that VBUS_IN_DISCHARGE is connected to Type-C VBUS. Therefore, the VBUS_IN resistor divider is used to monitor Type-C VBUS.
The diagram shown below depicts the provider fet and consumer fet connections in power bank applications.
Refer to the Power SDK (https://www.cypress.com/documentation/software-and-drivers/ez-pd-ccgx-power-software-development-kit) for the implementation of the CCG_FLIPPED_FET_CTRL macro.