This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TPS65994AE: Patch Bundle update method TPS6599xAE vs TPS6599xAD

Part Number: TPS65994AE
Other Parts Discussed in Thread: TPS65994, TPS65993, TUSB1146, TPS65988, TPS65987, TPS65994AD

We are developing a board with a TPS65994AE and no EEPROM on I2C3m. We will be using a microcontroller to send a Patch Bundle over I2C1.

We purchased the TPS65994 EVM to help with development of our microcontroller code. The EVM board seems to have the older TPS65994AD chip. I was able to use the TI tool for Windows, "TPS65993_4 Application Customization Tool" v6.4.31, put it in "Debug Mode", and successfully sent a patch bundle to the EVM board. However I probed the I2C lines and observed that the Patch Bundle update method uses commands like "PTC*".

The TPS6599xAE Technical Reference Manual (SLVUC38) says commands like "PBM*" should be used.

Do the *AD and *AE chips require a different patch bundle sequence?

I have the TRM for *AE, may I please have the TRM for the *AD chip used on the TPS65994EVM?

My company, Engineering Design Team Inc., should have an NDA on file with TI.

Thank you!

  • Adding Matt from our marketing team.

    Matt, can you provide mysecure access or should the customer go through their local sales team first?

    Best,

    Alex

  • Thank you Alex. Looking forward to hear what Matt has to say.

  • Hi Alex,

    Can you share what end equipment you are designing this for? Please note these devices are only intended to support PC/NB and IPC type applications.

    If that is aligned with what  you are designing, please let us know which SoC you are using and we can make sure to get you the details you need.

    Thanks,

    Matt

  • Hi Matt,

    This is for an embedded computing product, hosting a Cortex-A7 type CPU which will run Linux. But again, I am trying to send this Patch Bundle to the PD controller from a microcontroller on our board, before the main CPU is booted. The MCU is a Silabs EFM32 family part.

    The PD controller will be used to source a limited amount of power. No power sink/input over USB C. We are going to be switching between USB and DisplayPort alt modes using this PD controller and the TUSB1146 crosspoint switch.

    EDIT: Added a little more detail about CPU running Linux and PD controller used for switching alt modes.

  • Hi Alex,

    Unfortunately these devices are really only recommend for use on Intel or AMD SoC systems when following one of their reference designs. Ultimately there should not be any patching changes between AD and AE, but if you are facing issues, it may make more sense to swap out the PD controller on the EVM. Unfortunately all of our EVMs come with the 994AD to start, so this swap would be necessary for this effort.

    If you'd like, your corporate account can join our samples program in order to get some free samples of the 994AE for this evaluation. Otherwise, you can also just order a few 994AE to update your EVMs silicon.

    Let me know if this helps.

    Thanks

    Matt

  • Hi Matt,

    Thanks for your reply.

    > Unfortunately these devices are really only recommend for use on Intel or AMD SoC systems...

    Okay I see. Do you have a USB-PD controller you'd recommend for an embedded ARM platform which might support switching between USB and DisplayPort?

    > Ultimately there should not be any patching changes between AD and AE...

    My concern is that the GUI application from TI for these parts seems to be performing a different set of commands. The Technical Reference Manual for the AE (SLVUC38) does not mention "PTC*" commands and yet this is what I see the GUI app transmitting.

    My hope was that:

    • You have documentation somewhere for the AD which _does_ describe how these "PTC*" commands work. I am requesting access to that documentation.
    • TI will clarify which patch method should be used on the AE parts going forward. (Is one method going to be deprecated in the future and I should avoid it?)

    > If you'd like, your corporate account can join our samples program

    Thank you for the offer, I appreciate it. Since starting this thread, I now have our first board spin in hand and so I have access to the 994AE part on our board and will be using that to continue my microcontroller development.

    So at this time, I think I have all the hardware I need and samples of the AE won't be necessary.

    I would just like to get documentation for the AD part on the EVM I have describing these "PTC*" commands, and get some conformation on which patch commands ("PTC*" vs "PBM*") to use on AE.

    Thanks!

  • Alex,

    I apologize for the lack of response here. I have now granted you access to the TPS65994 mysecure resources page where you can find several of our technical reference manuals for these devices. Please review the much more detailed collateral that discusses some of the questions you have. In addition, I've looped in someone who is much more experienced with our PD controller patch update process who may be able to assist you.

    Please review the documentation and let us know if there are still specific questions you have.

    Thanks,

    Matt

  • Matt,

    Thank you for the mySecure access. I downloaded the documents there and tried searching them for any mention of "PTCs" but did not come up with any results.

    This does answer my question: "Do the *AD and *AE chips require a different patch bundle sequence?" which is no. But it does not answer my question as to why the TI "TPS65993_4 Application Customization 6.4.31" GUI uses commands like "PTCs" which are not described in your documentation.

    • Where is the documentation for this patch bundle sequence using commands like "PTCs"?
    • Which set of commands should I be using in my application: the "PTC*" commands or the "PBM*" commands?

    Thank you,

    Alex

  • It's almost like your GUI application is always performing the patch bundle sequence described in SLVA972A. But that app note is for TPS65987 and TPS65988. The TPS65994 does not appear to be mentioned in that document.

    Because TI's documentation does not match what you actually do in your software, I am finding it frustratingly difficult to determine what you actually expect us customers to implement.

  • Hi Alex,

    From my understanding of the conversation so far, you are attempting to perform patching using the GUI in debug mode to the EVM. Can I confirm that you are using the below method to patch? 

    Or are you using the individual 4CC commands over I2C?

    The officially supported way to do patching with TPS65994AD and TPS65994AE is through the PBMs, PBMc, and PBMe commands. The details of these commands are specified in the Host Interface Technical Reference Manual, available on the TI mysecure website. 

    The PTCx commands you see the GUI using are older commands that were used with previous generation devices (as used in SLVA972A). Newer devices such as TPS65994AD and AE use the updated PBMx commands for patching. However, the older commands were not removed, as this was not necessary.

    The GUI cannot support the PBMx commands because of the USB to I2C bridge "TIVA" mcu we use on the EVM. This "TIVA" IC emulates an EC embedded controller in your system, that sends commands to the TPS65994 over I2C. This TIVA I2C bridge we use does not have sufficient SRAM memory space to support PBMx, patch burst mode. In burst mode, the entire PD firmware must be loaded to the EC embedded controller before it streams it to the TPS65994 block by block in custom sized bursts. PTCx does not require this. Because of this, the PBMx commands require a lot of SRAM memory to complete. This is why the GUI does not use PBMx to patch the PD controller. The PTCx commands also patch the PD but require less SRAM memory in the EC. Our TIVA USB to I2C bridge does have sufficient memory to support PTCx. We do expect that most customer ECs will have the required memory space to support the PBMx commands.

    Please see more details about the PBMx patching commands on our technical reference manual and let us know if you have additional questions.

    Best,

    Alex

  • Can I confirm that you are using the below method to patch?

    Yes, I was using that "Patch Load" feature shown in your first image when testing out how the GUI tool sends a patch bundle.

    The officially supported way to do patching with TPS65994AD and TPS65994AE is through the PBMs, PBMc, and PBMe commands.

    Understood. Thank you, this answers both of my original questions.

    This TIVA I2C bridge we use does not have sufficient SRAM memory space to support PBMx, patch burst mode.

    I see, okay, this makes sense. Thank you for clarifying.

    ---

    I think that does answer all of my questions in the original post. Thank you for your time, we appreciate it.

    Regards,

    Alex

  • Glad I could help! Thanks