USB EZ-PD™ Type-C Forum Discussions
I am working on USB hub application and referring to 'CYPD3125 Notebook solution with Dual Role functionality' example. I am looking at more detailed description for the events of app_evt_t than what is mentioned in section 6.24.4.2 in "EZ-PDTMCCGx Firmware StackAPI Reference GuideVersion 3.3.0"
Also wanted to know the order of this events.
Thanks in advance.
Show LessHave anybody meet LG Ultrafine 4K monitor compatibility issue?
The display source is from Cypress type-C host port.
When computer going to sleep then wake up, it will no display.
It need re-plug Type-C port for normal display.
Show LessHello,
I am looking for the source code for CCG3PA PD Controller in the 45W car charger reference design. Please let me know how we can get access.
Also, is there a source code for CCG3PA used as PD sink?
Thanks for your help in advance.
Byron
Show LessHello,
I confirmed the default FW of CCG3 with the following community.
Default FW of CYPD3125-40LQXI/T
There is one thing I want to check.
"CYPD3125-40LQXI_i2c_boot_1_0_3_461_0_0_0_nb.hex" has been programmed at cypress factory.
Please tell me the difference between this FW and "CYPD3125-40LQXI_notebook_one/two_3_2_1_1658_0_0_0_nb.hex".
"CYPD3125-40LQXI_i2c_boot_1_0_3_461_0_0_0_nb.hex" is the FW that only the bootloader FW is configured?
Best regards,
Takahashi
Show LessHow to program cypd426 before mounting it on circuit board ?
I am using a CCG3PA CYPD3175 for a 18W power adaptor port. I need to be able to detect when a device is plugged in and unplugged from the USBC port regardless if it is a PD or non-PD. I am programming with PSoC Creator. What commands do I use to read the status of HPD? So, I need to know connect, disconnect, and contract established.
Thank you.
Show LessConfirmation of VBUS_P_CTRL and VBUS_C_CTRL control logic in CCG2 CYPD2122-24LQXIT-notebook sample code
I would like to confirm a couple behaviors observed with this sample code, sorry to bring this discussion up with sample code that was created such a long time ago.
I hope you have a CCG2 CY4521 Evaluation Kit and USBC smart phone (or other device) available.
Using the CCG2 CY4521 Evaluation Kit.
Program the CCG2 CY4521 Evaluation Kit with the attached code with a MiniProg3.
Disconnect the MiniProg3 from the Evaluation Kit.
Remove the jumper next to the USER BUTTON (SW1) jumper J11.
After programming, set jumpers on the daughter card.
J2 (V3P3 connect to VDDD)
J3 (V3P3 connect to VDDIO)
The attached code is the same as the below code with the addition of a button (SW1, USER SWITCH) to initiate a PR role swap.
Simple CCG2 example firmware for power bank
The first behavior that I would like to confirm.
At first, be sure the USBC connection is disconnected.
Power the CCG2 CY4521 Evaluation Kit with the AC adapter.
Next plug in a USBC device, a Samsung Galaxy S8 was used for test.
The USER BUTTON has the following logic programmed. Interrupt on both falling and rising edges.
When the button is PRESSED and held, PR role swap is initiated if the CCG2 is not the PR SOURCE.
+ This changes the CCG2 into the PR SOURCE.
+ The CCG2 will remain the PR SOURCE as long as the button is PRESSED.
When the button is RELEASED, PR role swap is initiated if the CCG2 is not the PR SINK.
+ This changes the CCG2 into the PR SINK.
Observe the correct behavior in this situation, DR role swap appears to work correctly but VBUS_C_CTRL FET is not being turned off to enable the CONSUMER path. VBUS_P_CTRL FET is being turned off, however.
Can you confirm the above behavior and if it is correct?
The next behavior that I want to confirm.
Disconnect the USBC and the AC adapter. The Evaluation Kit should now be unpowered.
Connect the USBC smart phone to the Evaluation Kit. The Evaluation Kit is now powered from the USBC smart phone.
Next, plug in the AC adapter for the CCG2 Evaluation Kit.
The CCG2 Evaluation Kit is now powered by the AC adapter and it should be possible to role swap the CCG2 from SINK to SOURCE. This should also charge the attached smart phone.
Press and hold the USER BUTTON down. The button must be held down.
A PR role swap is initiated, and PS_RDY is also replied by the CCG2, but the FETs are not switched correctly. The VBUS_P_CTRL FET is switched on, but the VBUS_C_CTRL FET is not switched on.
While the Evaluation Kit does not have LED indicators to show the status of the FETs, the development PCB that I created for this project does, I can see that when a PR role swap is requested, and PS_RDY is replied and the VBUS_P_CTRL FET is switched on, but the VBUS_C_CTRL FET is not switched on.
My assumption is that the CCG2 turns on the VBUS_P_CTRL FET to turn on VBUS, then checks VBUS_MON. It sees VBUS has not risen to the required voltage and then attempts to switch the VBUS_P_CTRL FET off, then back on to retry. This loop does not stop until the CCG2 is reset.
In order for the PROVIDER FETs to be in the correct setting, the VBUS_C_CTRL FET also needs to be turned on, but this is not occurring after the PR swap.
Can you confirm the above behavior and if it is correct?
I believe the use case of using PR SWAP may not have been considered with this sample firmware. Can you recommend the best way to resolve these issues, if this is not intended behavior?
If this behavior is intended then I will investigate a corse of action to proceed.
Show LessHi,
So we are testing a lot of devices and have made some simple Power Roll (PR swap) requests and it seems different devices respond differently to the same code
Most Samsung Phones work, LG and MOTO phones do not work, Apple devices do not, HP devices work and so on
Our Design is based around CCG3 3171, used as a DRP for a USB HUB UFP port, we are requesting PR swap from connected devices that Require a Sink Connection prior to a SRC connection.
Any and All Help Greatly Appreciated
Show LessWe are using a CCG3PA as a UFP port in a USB HUB as a Source only (output only port)
Our specific application requires Monitoring plug event and CC Polarity detection for external MUX trigger
Six months ago Cypress replied to us claiming that a simple get_polarity will function for what we are after..... and yes it does but only for PD devices with C to C cable, legacy devices With A to C cable that have a fixed resistor pull up on CC1 to Vbus do not work at all.
Basically there is no Cable Orientation Detection when a Certified USB 3.1 Gen 2 A to C cable is connecting our C port Hub to a legacy A host computer
Not sure how to fix if we have to run the CC line through the ADC and get output that way since CCG3 CYPD3171 seems to apply power to both CC lines , or can it be fixed with Config Utility by something we missed
if(evt==APP_EVT_CONNECT){
if(dpm_get_polarity(0))
{
CCPOL_Write(1);
// LD5_Write(1);
LD6_Write(1);
}
else
{
CCPOL_Write(0);
// LD5_Write(0);
LD6_Write(0);
}
this is standard Cable orientation code placed in our main.c file (it works on C to C cable connections with PD)
We have tried Rp-Rd toggle and that did not fix it
Any and All Help Required and Greatly Appreciated
Show LessCC channel polarity. • CC1 = 0 • CC2 = 1
we are using CC polarity in along with the new Power SDK, and it seems there is an issue with Sleep/Wakeup and or Hanging code
our application is quite simple and has been posted here before with no reply, so here it goes again
CCG3PA 3171 or 3175 used in DFP or UFP application that requires MUX control based on CC line Polarity, seems to work great wth PD core engaged but with type A to C cable that has a pull up to Vbus of 56K (all A to C certified cables have this for legacy support) Code hangs and PlugEvent does not happen (we use plug event to reset HUB ic)
it was completely by accident tht we found out that when first powered up CCG functions correctly and after a while it simply no longer identifies cable direction and plug/unplug event
Here is our video showing Two Led's, that we use as a debug indicating direction of C cable CC line connection (CC1 vs CC2)
Please someone Help as this is delaying our release of our Gen2 8 port power PD hub
1. is it going to sleep and that is why its not working after a while?
2. is it hanging in the code and simply stops responding to new events?
we are not sure
Show Less