5 Replies Latest reply on Jun 12, 2019 3:02 AM by EddieZ_31

    CCG3 Programming using CC line

    harsha_2273236

      Hello All,

       

      We want to update CCG3PA firmware using CC line. From Reference design, we are seeing CCG4 being used. Can we replace CCG4 with CCG3??

       

      Regards,

      Harshavardhan.

        • 1. Re: CCG3 Programming using CC line
          EddieZ_31

          Hi Harshavardhan,

           

          No, you can't. Currently we do not have firmware for CCG3 to do this.

           

          Regards,
          Eddie

          • 2. Re: CCG3 Programming using CC line
            prasanna_1403381

            Hi Eddie,

             

            Thanks for the inputs,

             

            In CYPD4532 EVK Kit contains Main board(CCG3PA) and as well as Power Board(CYPD4126), and we tried Application Firmware Update over CC Interface.

            We followed the setup as per the (Doc : 002-16951) Power board(CYPD4532) is connected to host PC(J12) and Type-C(J13) port of Power board is connected to Type-C(J10) port of main board using Type-C cable.

            EZ-PD Configuration Utility is used to detect the device and update the application FW of CYPD4532 (main board) EVK. By CC line capture Unstructured VDM messages are being used by the CYPD4532(Power board) to update the main board FW.

            Finally, CYPD4126(Programmer) is used to update the application FW of CCG3PA(Target) over Type-C

            Am I right ? can you confirm?

            If Yes,

            -> In power board CYPD4126 is used as PD-controller, Instead of CYPD4126 can I use CCG3PA as a programmer for my target CCG3PA application FW update ? If yes

                      As you mentioned FW is not available to use CCG3PA as a programmer to update the FW of other CCG3PA(Target) Device.

                      To achieve this, I may need to change the CCG3PA(Programmer) FW to get the .hex file data for the target device and need to form a unstructured VDM's for sending FW update data to the CC3PA(Target) device. and I am planning to get the .hex data over I2C to the CCG3PA(programmer) device from my host. any constraints do i need to take care?

                      Is my above understandings are right ? if not let us know what I am missing ?

            can you help us in performing above things. give info about how the .hex file is being used by the CYPD4126 for CCG3PA FW update or any conversion is being done in EZ-PD configuration utility, Is it possible to get the source code for the EZ-PD Configuration Utility.

             

            Thanks & Best Regards

            Prasanna

            • 3. Re: CCG3 Programming using CC line
              EddieZ_31

              Hi Prasanna,

               

              We followed the setup as per the (Doc : 002-16951) Power board(CYPD4532) is connected to host PC(J12) and Type-C(J13) port of Power board is connected to Type-C(J10) port of main board using Type-C cable.

              EZ-PD Configuration Utility is used to detect the device and update the application FW of CYPD4532 (main board) EVK. By CC line capture Unstructured VDM messages are being used by the CYPD4532(Power board) to update the main board FW.

              Finally, CYPD4126(Programmer) is used to update the application FW of CCG3PA(Target) over Type-C

              Am I right ? can you confirm?

               

              => Your understanding is basically correct except you missed USB Serial part.

               

              -> In power board CYPD4126 is used as PD-controller, Instead of CYPD4126 can I use CCG3PA as a programmer for my target CCG3PA application FW update ?

               

              => No. As you can see, CY4532 mother board has a USB Serial part (CY7C65211) connected to CCG4 through I2C, this part enables downloading the firmware on to CCG3PA device through the USB Micro-B port . We have dedicated firmware developed for CCG4 to do this, but CCG3 and CCG3PA do not have. So it is not applicable to replace CCG4 here with CCG3 or CCG3PA.

               

              can you help us in performing above things. give info about how the .hex file is being used by the CYPD4126 for CCG3PA FW update or any conversion is being done in EZ-PD configuration utility, Is it possible to get the source code for the EZ-PD Configuration Utility.

               

              => It is not open for public.  If you want to develop custom software, please contact Cypress sales.

               

              Regards,

              Eddie

              • 4. Re: CCG3 Programming using CC line
                prasanna_1403381

                Hi Eddie,

                 

                Thanks for the information provided.

                 

                We are using CCG3PA in our design, so we need to update the CCG3PA device Firmware, As per the CCG3PA Datasheet(002-16951) Page No.10

                There are two ways to program application firmware into a CCG3PA device:

                1. Programming the device flash over SWD Interface

                2. Application firmware update over CC interface.

                 

                I have attached a image about initial design of CCG3PA application FW update, Please refer the attachment.

                 

                So my initial plan was to use SWD Programming based on AN84858 - PSoC 4 Programming Using an External Microcontroller (HSSP).

                https://www.cypress.com/documentation/application-notes/an84858-psoc-4-programming-using-external-microcontroller-hssp

                In the Programmer place used Cypress FX3, as shown in figure-1, I used GPIO Bit bang method for SWD programming, But the AN84858 says One of the important requirements is to ensure that the frequency of SWDCK clock line is at least 1.5 MHz to meet the acquire window timing. By using FX3 we are not able  achieve this. In Github a link to PSoc Programming using FX2LP, So i thouht of using FX3 as a host programmer (https://github.com/ghent360/PSOC4_swd_programmer ).

                --> Can you suggest is it possible to implement SWD programming in Cypress FX3 GPIO Bit bang method ?

                 

                In figure-2, I mentioned one more approach for CCG3PA application FW update using another PSOC (For Example : PSoC - X).

                In this case Cypress FX3 will be the host and it will get the .hex file data from the PS over USB, PSoC-X will the interface between Cypress FX3 and CCG3PA, PSOC-X should be able to get the data from Cypress FX3 over I2C PSoC-X(I2C Slave) and then send the data over GPIO's which i need to use as SWD_DATA and SWD_CK.

                can you suggest any low end PSoC in that we can implement SWD programming master.

                 

                In figure - 2, I have mentioned connecting CC line of the PSoC - X to the CCG3PA and it will perform PD negotiation with CCG3PA, and enter into the FW update mode using unstructured VDM's (As per PD Spec).

                To achieve this, I may need to change the PSoC - X(Programmer) FW to get the .hex file data (In AN84858 an hex file parser application is provided by cypress) for the target device and need to form an unstructured VDM's for sending FW update data to the CC3PA(Target) device. Any constraints do i need to take care?

                 

                NOTE : In place PSoC - X which PSoC device can be used to achieve either of the programming methods ( SWD Programming / Over CC line interface), and it should be able to receive the data from the Cypress FX3 over I2C.

                 

                From your previous reply

                => It is not open for public.  If you want to develop custom software, please contact Cypress sales.

                     To whom we can contact from Cypress sales, in India

                CCG3PA_Programming_Using_Host_Programmer.jpg

                         

                Waiting for for your inputs, Thanks in advance.

                 

                Thanks & Regards

                Prasanna

                • 5. Re: CCG3 Programming using CC line
                  EddieZ_31

                  Hi Prasanna,

                   

                  Usually we use MiniProg to program over SWD interface. The question you asked is actually a PSoC question. It's bit of out of my field. You could open a new thread in PSoC 4 Community because CCG series uses PSoC4 programming spec. And I didn't see FX3 has such application.

                   

                  May be looking into the materials of MiniProg  are helpful to you:

                  https://www.cypress.com/documentation/development-kitsboards/cy8ckit-005-miniprog4-program-and-debug-kit

                   

                  You can find sales contact method here:

                  https://www.cypress.com/about-us/sales-offices

                   

                   

                  Regards,

                  Eddie