CCG3PA as a BC1.2 Sink(Portable Device)

Announcements

Live Webinar: USB-C adoption. Simple & Cost-efficient solutions | April 18th @9am or 5pm CEST. Register now !

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
PrRe_3492461
Level 4
Level 4
First like received 50 sign-ins 50 replies posted

HI RajathB_01​/Cypress Community​,

I am trying to test BC1.2 features of CCG3PA.

As per my requirement, I want to use CCG3PA as a Snk device and thereby test features of a connected Provider(DCP/SDP/CDP).

When I connected a provider to CCG3PA, its BC1.2 FSM is staying in OFF state (BC_FSM_OFF).

So Do CCG3PA act as BC1.2 Snk and will it be able test any BC1.2 supported Provider connected to TypeC port?

if so Do we need to enable any Enum in Firmware ?

Do we have any documents regarding this?

Thanks and Regards,

Pranay.

0 Likes
1 Solution
RajathB_01
Moderator
Moderator
Moderator
250 replies posted 100 replies posted 50 replies posted

Resolution summary:

DCP detect was stored in bc_stat->cur_mode the same way it is being already done for CDP, by editing pdo.c file

-Rajath

View solution in original post

0 Likes
6 Replies
RajathB_01
Moderator
Moderator
Moderator
250 replies posted 100 replies posted 50 replies posted

Hi Pranay,

CCG3PA does not have BC1.2 sink ability.

Regards,

Rajath

0 Likes
lock attach
Attachments are accessible only for community members.

Hello RajathB_01​,

Thanks for the reply.

By going through the Attached PDF, we concluded that CCG3PA should work as BC1.2 Snk (Portable Device) as well,

For reference, Can you go through the section 4.8 Page 37 in the attached "Cypress EZ-PD™ CCGx Power SDK User Guide, Doc. No. 002-22136 Rev. *B " and I've attached respective section's screenshot as well.

EDIT 1:

I've also found that,Configuration utility has a feasibility to Enable/Disable BC1.2Sink mode as shown in the Attached Screenshot.

Can you confirm once again by going through the attached PDF and Screenshots whether our understanding is correct or wrong?

Thanks and Regards,

Pranay.

0 Likes

Hi Pranay,

I would like to correct myself, CCG3PA supports BC1.2 and Apple sink, but does not support QC sink and AFC sink.

Your understanding is correct.

Can you give details about the provider you are testing with?

In the firmware, please make sure the following macro is enabled:

@file stack_params.h

#define     BATTERY_CHARGING_ENABLE     (1u)

You can make use of the functions bc_fsm(), bc_is_active() and bc_get_status() for checking.

Regards,

Rajath

0 Likes

Hi RajathB_01​,

Thanks for you inputs.

Yes BATTERY_CHARGING_ENABLE macro is enabled.

I am using LG G5 mobile phone,ON PRO QC3.0 provider and NXP Portway QC4+ Provider which are BC1.2 Supported.

I'm using function "bc_start(BC_PORT_1_IDX, BC_PORT_SINK);" to start the BC1.2 state machine as Sink but when I read the status using "bc_is_active();" , It says FSM is always OFF.

My requirement and implementation is as follows:

  1. I want to know the Connected Provider details whether it is a DCP or SCP or CDP and Apply E-load accordingly.

To verify that I'm reading "bc_stat->bc_fsm_state" which returns the Current BC1.2 FSM state based on the DUT connected as per my understanding, i.e., FSM transits to BC_FSM_SINK_CDP_CONNECTED / BC_FSM_SINK_DCP_CONNECTED/ BC_FSM_SINK_SDP_CONNECTED based on connected Provider type CDP/DCP/SDP respectively. Am I correct here?

Before reading the FSM state I'm executing following functions in FW:

  • bc_start(BC_PORT_1_IDX, BC_PORT_SINK);
  • const bc_status_t *bc_stat = bc_get_status(0);
  • var = bc_stat->bc_fsm_state;

So whenever I execute above steps, I am observing that FSM is always in "BC_FSM_SINK_START" state which we're assigning to "bc_stat->bc_fsm_state" in "bc_start()" function, No matter I connect the provider to the port or not.

But I am expecting that FSM state "bc_stat->bc_fsm_state" will update at Run time.

Is my understanding correct throughout the whole process, Is there anything that I am missing ??

So if we need QC support what is your recommended device from Cypress that Supports QC?

And, Can we implement QC sink testcases in CCG3PA FW itself?

Regards,

Pranay.

0 Likes

Hi Pranay,

BC1.2 sink should work.

Can you please check with the default kit firmware (without modification) and see if battery is charging by physically measuring charging current? If you don't see charging current with default kit firmware then there should be a problem with the board.

You are not required to make firmware changes to enable BC1.2 sink functionality.

Regards,

Rajath

0 Likes
RajathB_01
Moderator
Moderator
Moderator
250 replies posted 100 replies posted 50 replies posted

Resolution summary:

DCP detect was stored in bc_stat->cur_mode the same way it is being already done for CDP, by editing pdo.c file

-Rajath

0 Likes