USB EZ-PD™ Type-C Forum Discussions
Hello,
This is Hans.
I try to install utility but every time it pops out error message and I cannot install it and use.
I try to remove JAVA and utility and re-install again but it doesn't work.
Show Less
Hi Infineon!
My device is finally doing *something* after much chagrin.
However, I am in an infinite loop of "HARD_RESET" 1 second after the negotiation... Everything is fine.... and then I get a HARD RESET....
A cell phone hooked up to the known good power supply: ccgx file attached from the sniffer.
My device.... ccgx file attached from the sniffer....
I am hopelessly lost! Please help!
JB.
Show Less
Hi Infineon Family!
I can't figure out how to get MDK 5 ARMCC installed so I can compile the Host SDK! I'm following the documentation....
And then I end up going around in circles with ARM.... What the heck is going on?
Documentation says I can download it direct from ARM... like it's going to be easy... and didn't work. ...and then I spin my wheels for like 4 hours.... and I finally find an old rev of the MDK. Now I point it as instructed by the docs.... and it says that the linker won't support files of this size??? Like it's some sort of eval....
So then I spin my wheels for another 4 hours and find some direct installer on ARM's site....
....and now it appears to compile AND link.... but now it can't find a license....
And nobody in the world seems to be able to offer me a license....
This could be the most frustrating SDK of all time.
Show Less
Hello all,
I'm using ccg3pa for my product development.
General working scenarios:
I configured ccg3pa as i2c slave, a GPIO has been configured for input interrupt and whenever that gpio triggers FW reads i2c data and performs respective operation based on received command.
Normally in our testcases we will only perform PD Detach, PD Attach, Change Port roles, Configure SrcCaps, Request initiation commands, and GET PDC information, Srccaps information, Attach/Detach events tracking from i2c Master.
Issue scenario:
Now all these above set of commands works and able to Get data required from dpm_status structure and perform required operations.
But only after running testcases for more than 2 days continuously, I'm seeing a strange issue that I'm unable to configure ccg3pa as Src/Sink/DRP or nor Attach works neither PDC happends. I confirm this as there are no changes or No PDC observed in PD Sniffer whenever I send Change Mode commands from i2c Master.
So as part of debug I've added a Event logging mechanism where in which I'm reading certain return values of certain library functions. I see that "dpm_stop (port);" is returning 0x0E that says "CCG_STAT_NOT_READY, /**< Operation failed due to device/stack not ready. */".
Example 1: (After testing for 2 days continuously)
1.In Issue state from master I will send a API to SET Tester Mode to SOURCE upon reception of this API in ccg3pa i will execute :
case GRL_SRC_MODE:
/**Have to detach first to change the port role, so go to disable state -> typecStop -> dmp_stop*/
dpm_typec_command(G_PORT0, DPM_CMD_PORT_DISABLE,NULL);
CyDelay(1);
//TypeC and dmp stop
typec_stop(G_PORT0);
CyDelay(1);
aRetStatus = dpm_stop (G_PORT0); //Pranay, This is returning error saying the system is busy.
/**Changing the role here*/
pd_typec_en_rp(0,CC_CHANNEL_1,RP_TERM_RP_CUR_3A);
pd_typec_en_rp(0,CC_CHANNEL_2,RP_TERM_RP_CUR_3A);
CyDelay(1);
aRetstat = dpm_update_port_config (TYPEC_PORT_0_IDX, PRT_ROLE_SOURCE, PRT_ROLE_SOURCE, false, false);
CyDelay(1);
dpm_update_port_config (TYPEC_PORT_0_IDX, PRT_ROLE_SOURCE, PRT_ROLE_SOURCE, false, false);
/**Attaching here*/
typec_start(G_PORT0);
CyDelay(2);
aRetStatus = dpm_start (G_PORT0);
break;
When I execute above statements normally when not in issue state I see CC lines reaching to Rp level but now when in issue state CC lines are not reaching Rp level But in both working and non-working cases after Sending SET command to ensure that mode has been set I will go and read below commands:
/**Current DATA ROLE**/
aBuffer[glogBufIndex++] = dpm_stat->cur_port_type;
/**Current POWER Role*/
aBuffer[glogBufIndex++] = dpm_stat->cur_port_role;
/**< Port role: Sink, Source or Dual. */
aBuffer[glogBufIndex++] = dpm_stat->port_role;
I see that above statements are returning values as expected and as per the Mode role set. I dont see a problem in executing commands. But Unfortunately even though the variables are returning expected values I dont see changes taking effect on physical Type C port lines. This is the issue.
Example 2: Our Other functionalities (QC2.0) in main while(1) loop
In our FW Application, we've other functionalities being used on basis of main while(1) loop, and I see that that respective functionalities are not working aswell when in issue state. So probably main while(1) is not running ? and if so dpm_task(port); app_task(port); instrumentation_task(); wont work right ?
--> Also Do we any API to RESET ccg3pa controller and its state machines ? If required we want to make use of this functionality of resetting ccg3pa alone.
we've been using ccg3pa since past 3 years now and it is deployed on field products and products are facing this issue while in rigorous testing by customers. We must to find a resolution for this.
Please let us know what can be in this case, if required we can always have a call for better understanding.
Thanks and regards,
Pranay
Show LessHi,
I've battery powered PD with the port in sink role. My problem is that the port recognizes cable plug on the first time but not after disconnect and replug. There are two failure scenarios. In both cases on first plug-in the port negotiates the power contract succesfully. (event APP_EVT_PD_CONTRACT_NEGOTIATION_COMPLETE is seen by firmware)
Scenario 1. Replug cable.
On cable disconnect my app handler gets APP_EVT_DISCONNECT event as expected.
However, after replugging cable I get nothing, the port appears to be completely dead to PD. Firmware is still running, I see my led blinking and it also reacts to normal USB 2.0 cable (I can see billboard enumeration etc.).
Scenario 2. Source temporary power loss.
Here I'm using a power delivery enabled wall charger (20V/3A). I disconnect AC power from the source. The source glitches out and starts to renegotiate 5V/3A and then dies before reaching completion. My PD leaves hanging and never recovers on replug to another source nor when the source regains AC power and wakes up. (In this scenario app handler does not even get APP_EVT_DISCONNECT event by the way)
How do I reset the port reliably without power-cycling the PD? I've tried dpm_init, dpm_start etc.. without any effect.
Hi,
I have few questions on the configuration of CGC4 device.
Whatever modifications we are able to do in Configuration utility GUI like Source PDO configuration, SInk PDO Configurations, power protections changes, same can we modify using Host SDK?
If yes, I can modify GPIO Config, Mux ctrl and votage selection along with the pdo and power protection configuration using Host SDK tool and I can generate only 1 cyacd file.
If not, I will be having two Cyacd files one is the file generated from Configuration utility gui and one more is from Host sdk tool in this case I have to combine two cyacd files, how to do that.?
I have seen this thread for the solution https://community.infineon.com/t5/USB-EZ-PD-Type-C/What-is-the-process-to-merge-cyacd-Configuration-file-into-PSoC-Creator-hex/td-p/149891, same will it work for CGC4 devices?
If I want to configure the CGC4 Device from the Processor after power on using I2C interface (EC i2c channel), can we do it, which file format is supported to do?
please guide us.
Show LessWhat firmware is loaded on the CYPD4226 at the factory? Just the I2C bootloader or both the bootloader and a notebook application? There are conflicting answers on these forums.
My application will does not tolerate >9V. Will the CYPD4226 default FW request a PDO > 9V if offered by a source port partner?
Thank you
Show LessHi,
I am trying to install ezpdhostsdk_3.4.0_Windows_x86-x64 in my PC. But it's asking me to install some other files which I have already downloaded and installed. Can you please look into the matter.
I am installing snap for your reference.
Regards,
Sumama
Show LessHello,
I'm currently trying to read the status registers of the CYPD3177 on the CY4533 developer board using a Arduino Nano and I2C.
Reading the DEVICE_MODE and SILICON_ID Registers returns the expected values 0x95 and 0x2004. However, reading further status registers I'm facing some issues.
Here are the results:
- TYPE_C_STATUS: 0
- INTERRUPT: 0x01
- PD_STATUS: 0
- BUS_VOLTAGE: 0
- CURRENT_PDO: 0
- CURRENT_RDO: 0
- EVENT_MASK: 0
- EVENT_STATUS: 0
- CHARGING_MODE_STATUS: 0
- DEV_RESPONSE: 0x80
- PD_RESPONSE: 0x95
These readings don't seem to make any sense and they don't change, no matter which USB adapter I use.
0x95 for PD_RESPONSE is not even defined in the datasheet. What am I doing wrong? I already tried clearing the INTERRUPT register but although my writes are being ACKed it still reads 0x01.
The BUS_VOLTAGE register also remains 0 independently of the voltage on VBUS.
Apart from that, the PD negotiation on the dev board works fine.
Is there something I'm missing? I also have a custom board with CYPD3177 but the results are the same.
Help of any kind would be greatly appreciated!
Show LessHi,
EZ-PD Configuration supports 'User Parameters', 8 32bit words
- How can I access these parameters in the firmware?
- How this relates to the .customer_region in the firmware? I tried to read them but they are always 0x0.
Thanks!
Show Less