2 Replies Latest reply on Jul 6, 2020 11:21 AM by KyTr_1955226

    CYPD3120 - Reading/Writing Configuration via Bootloader


      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?

        • 1. Re: CYPD3120 - Reading/Writing Configuration via Bootloader

          Hi ,


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



          Best Regards,


          • 2. Re: CYPD3120 - Reading/Writing Configuration via Bootloader

            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.