7 Replies Latest reply on Apr 5, 2020 8:56 PM by ShifangZ_26

    CCG3 - Firmware/Configuration for use as a USB-C Sink?

    KyTr_1955226

      Hello!

       

      I have a project I described a few weeks ago here:

      Can the CY4531 Evaluation Kit be used as a Client as opposed to a Host?

      The idea is to use have CCG3 based clients, taking in up to 25W of power (@12V) each as well as USB data and Displayport:

      In the thread linked above I learned that for the CCG3 EVK we would need to replace the standard CCG3 EVK mux with a Bi-Directional mux to support using the CCG3 EVK as a client rather than a host.

       

      My question is on the firmware side of things for this change:

      What are the firmware support options for a project of this kind?  Do any of the firmware projects included with the CCGx Host SDK support this functionality as-is?  Or will I have to be doing substantial modifications?

       

      We are also looking to potentially use a TI TUSB1044 Bi-Directional USB-C mux rather than the Parade PS8742B in our design.  This is mostly due to part availability, we had a bit of a tough time getting our hands on the PS8742B, so we want to look into other options.  If I want to modify the firmware stack for the use of a new mux, where would I look to do so?  It looks like it should be mostly a modification of GPIO control and I2C commands, which hopefully shouldn't be too much of a problem, but I was hoping to get some additional opinions on considerations that need to be made when modifying for a different mux.

       

      Thoughts/Opinions are welcomed!

      Thanks in advance!

        • 1. Re: CCG3 - Firmware/Configuration for use as a USB-C Sink?
          ShifangZ_26

          Hi ,

           

          1. The example firmware project included with the CCGx Host SDK supports Dual Role Power and DisplayPort Source whatever it is for CCG3 or CCG4.

          2. If you are going to configure CCG3 as Dual Role Power and DisplayPort Sink, you need change the Marco Define from DP_DFP_SUPP to DP_UFP_SUPP. 

          >> Disable DP_DFP_SUPP and enable DP_UFP_SUPP.

          And adding the DP pin assignment support via Ez-PD configuration Utility.

          3. If you want to change the MUX from PS8740 to TUSB1044, you need update the registers operation in the datamux_ctrl.c and datamux_ctrl.c as per datasheet/register of TUSB1044.

           

          Best Regards,

          Lisa

          • 2. Re: CCG3 - Firmware/Configuration for use as a USB-C Sink?
            KyTr_1955226

            Hi Lisa,

            Thanks for the reply!

             

            I have some questions about the EVK/SDK Firmware:

            - Is the firmware included in the CCGx Host SDK the same as what ships on the associated EVK kits?

             

            - What's the situation with the bootloader associated with these firmwares?  The bootloadable component points to a <Chip_Name>dummy_boot.hex.  Is this bootloader compatible with the standard Cypress Bootloader Host (I.E. the one that is included in creator, or built with the bootloader_utils library) or is this only loadable via I2C with the EZ-PD Config Tool?

             

            - I noticed the CCG4 EVK uses a CYPD4225, but the firmware appears to be only for CYPD4126/4226.  Is using the CYPD4226 project for the CCG4 EVK is fine?

             

            Appreciate the help!

            • 3. Re: CCG3 - Firmware/Configuration for use as a USB-C Sink?
              ShifangZ_26

              Hi ,

               

              The CCGx Host SDK is not same as what ships on the CY4541 EVK kits, since the CY4541 kit is assembling CYPD4225 on the board, but the CCGx Host SDK is example with CYPD4226 (CY4226 is supporting PD3.0).

               

              If you are convenience to  replace the CYPD4225 with CYPD4226, you can use CCGx Host SDK example firmware directly. Since CYPD4226 is pin to pin compatible with CYPD4225.

               

              If you have to use CYPD4225, the firmware what ships on the EVK kits could get it from the link: CCGx SDK v302 (https://www.cypress.com/documentation/software-and-drivers/ez-pd-sdk-v302-ccg2-all-applications-ccg3-cable-adapter ), Please kindly notice that this example firmware need PSoC Creator3.3 for firmware re-build.

               

              Best Regards,

              Lisa

              • 4. Re: CCG3 - Firmware/Configuration for use as a USB-C Sink?
                KyTr_1955226

                Hi Lisa,

                 

                Thanks for the info, we will bear that in mind for our CCG4 host design.

                 

                Is the CCG3 EVK firmware the same as what is included in the SDK (one is targeted for the CYPD3125, which is what is used on the CCG3 Kit)?  Or is it similar to the CCG4 where the EVK firmware is in a different package?

                 

                Thanks again for putting up with our many questions!

                • 5. Re: CCG3 - Firmware/Configuration for use as a USB-C Sink?
                  ShifangZ_26

                  Hi ,

                   

                  As per the block diagram you have been shared in this threads, you are going to design CCG3 as Power sink, DP sink and Data sink. The CY4531 board cannot evaluate the DP sink and USB sink, since CY4531 using PS8740B which is fixed direction data transmit. The CCG3 CYPD3125 do not have limits on working as Power sink, DP sink and Data sink, you need change the MUX to PS8742B to support DP sink and Data sink and update the firmware from source to sink.

                   

                  Best Regards,

                  Lisa

                  • 6. Re: CCG3 - Firmware/Configuration for use as a USB-C Sink?
                    KyTr_1955226

                    Yes we have the PS4782B currently on order to make that modification to the CCG3 Kit, and I have (I believe) tweaked the firmware and configuration to act as a sink rather than a source.

                     

                    I just want to make sure that the CCG3 firmware that I'm using from the SDK that I am modifying for sink operation is the firmware that came on the EVK out of the box.

                    • 7. Re: CCG3 - Firmware/Configuration for use as a USB-C Sink?
                      ShifangZ_26

                      If so, your understand is correct. You can use the SDK directly.

                       

                      The Kit may ship with firmware build version 905 and currently CCGx Host SDK is build version 2010. Both of them is based on CY431 and working well on CY4531 board.

                       

                      Best Regards,

                      Lisa