cancel
Showing results for 
Search instead for 
Did you mean: 

USB EZ-PD Type-C

KyTr_1955226
Contributor II

Hi there,

I have something a little strange happening when I attempt to read/write a new configuration to the CYPD3120.  It only occurs when using the bootloader to read the configuration on the currently active firmware.  It also has a similar problem when trying to use the bootloader to update both firmwares at the same time.

In short, it looks like the CYPD3120 enters the bootloader with no trouble. 

The Message window reads:

Starting CCG configuration read over HID interface.

Jump to Boot command successful.

It will then wait there for around 30 seconds before giving me a failure messagebox "Configuration read failed".

The Message window at this point shows:

Error: Failed to find handle to HID Device

Error: Failed to read CCGx configuration.

Error: DLL call returned error while reading the configuration

However, if after the Jump to Boot command successful message I power cycle the CYPD3120, it reads out the configuration with no problems.

Reading the configuration of the firmware that is not currently active has no problems at all.

Anyone know why this might be or how to fix it?

0 Likes
Reply
1 Solution
KyTr_1955226
Contributor II

Hi Lisa,

Setting a longer Re-Enumeration timeout has no effect, however I do think I've found the problem and it's the design on our end.

What's happening is our design is a USB-C sink, and when we enter the bootloader, the USB-C_CTRL0 and USB-C_CTRL1 pins are not turning on the FETs that provides input (USB-C_PWR) to a 12V regulator that powers other electronics onboard.  One of the parts that is powered by this regulator is a USB 2.0 mux, which points the USB 2.0 to either the CYPD3120 (for configuration/billboard/bootloading) or a PSoC5LP for other operations. 

When we enter the bootloader, the FETs are turned off, the mux never receives power, so the EZPD Configuration Utility can't find the Bootloader HID interface.

We are going to address the problem in the next prototype of the design to make the USB2.0 mux dependent on VBUS rather than USB-C_PWR, and that should allow us to connect to the USB HID Bootloader interface when VBUS_C_CTRL0 and VBUS_C_CTRL1 haven't yet been set.

View solution in original post

0 Likes
Reply
2 Replies
ShifangZ_26
Moderator
Moderator

Hi ,

Could you please kindly use a lager value Re-enumeration timeout to try it again?

pastedImage_0.png

Best Regards,

Lisa

0 Likes
Reply
KyTr_1955226
Contributor II

Hi Lisa,

Setting a longer Re-Enumeration timeout has no effect, however I do think I've found the problem and it's the design on our end.

What's happening is our design is a USB-C sink, and when we enter the bootloader, the USB-C_CTRL0 and USB-C_CTRL1 pins are not turning on the FETs that provides input (USB-C_PWR) to a 12V regulator that powers other electronics onboard.  One of the parts that is powered by this regulator is a USB 2.0 mux, which points the USB 2.0 to either the CYPD3120 (for configuration/billboard/bootloading) or a PSoC5LP for other operations. 

When we enter the bootloader, the FETs are turned off, the mux never receives power, so the EZPD Configuration Utility can't find the Bootloader HID interface.

We are going to address the problem in the next prototype of the design to make the USB2.0 mux dependent on VBUS rather than USB-C_PWR, and that should allow us to connect to the USB HID Bootloader interface when VBUS_C_CTRL0 and VBUS_C_CTRL1 haven't yet been set.

View solution in original post

0 Likes
Reply