Using the CCGx Power SDK, How Can VBUS_P_CTRL Pin of CCG3PA Be Used as a GPIO – KBA228399

Version 4

    Author: LisaZ_26           Version: **

     

     

    VBUS_P_CTRL can be configured to assert HIGH (where HIGH value =  VBUS_IN_DISCHARGE voltage value) provided the VBUS_IN_DISCHARGE pin is powered. Use the following API functions in CCGx Power SDK for VBUS_P_CTRL drive logic:

     

    HIGH: pd_internal_pfet_off(0, false);

     

    LOW: pd_internal_pfet_on(0, false);

     

    To configure VBUS_P_CTRL pin as GPIO, use the following API functions in the CCGx Power SDK for VBUS_P_CTRL drive logic:

     

    High-Z: pd_internal_cfet_off(0, false);

     

    LOW: pd_internal_cfet_on(0, false);

     

    See CCGx Power SDK API guide.

     

    Design considerations for VBUS_IN_DISCHARGE PIN if using VBUS_P_CTRL as GPIO for Type-A VBUS enable and disable

     

    In general, the CCGx Power SDK can be classified to two types – power source only and dual role power. The following example firmware projects are CCG3PA applications as a power source only:

     

    • CYPD3171-24LQXQ_cla
    • CYPD3174-24LQXQ_pa_opto_fb
    • CYPD3175-24LQXQ_pa_direct_fb

     

    On the other hand, the example firmware project CYPD3171-24LQXQ_pb is for CCG3PA applications for dual role power.

     

    For power source only projects, the only design consideration is that it is a must to have VBUS_IN_DISCHARGE powered by a Type-A VBUS source.

    For dual role power based applications, following items need to be done in hardware and firmware design:

     

    1. In hardware design, swap VBUS_IN_DISCHARGE and VBUS_C_DISCHARGE and ensure that VBUS_C_DISCHARGE is wired to Type-C VBUS node directly. Similarly, wire VBUS_IN_DISCHARGE directly to power source of Type-A VBUS.

    2. In the firmware project mentioned above, remove VBUS_IN_DISCHARGE monitor functions from Type-C functions and replace them with VBUS_C_DISCHARGE monitor functions.