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

Version 5

    Author: LisaZ_26           Version: **


    Translation - Japanese: CCGxパワーSDKを使用して、CCG3PAのVBUS_P_CTRLピンをどのようにGPIOとして使用できるか - KBA228399 - Community Translated (JA)


    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.