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.

TPS26750: TPS26750 how to transition to EPR mode without EEPROM?

Part Number: TPS26750
Other Parts Discussed in Thread: TPD4S480

Tool/software:

I am working with a custom design, sink only, and VBUS powered, that has a TPS26750 connected to a MCU via I2Ct, I am using a TPD4S480 as a protection chip in the configuration shown in the TPS26750 data sheet for EPR implementations.  I am using the NegotiateHighVoltage configuration from the pinstraps to negotiate a 20V/3A contract on power on.  I do not have a EEPROM connected to the I2Cc, other posts on this forum lead me to believe I2Ct interactions should be able to make the transition to EPR pdos without an EEPROM. 

On initial USB cable insertion the TPS26750 correctly negotiates the 20V Fixed contract and powers on my MCU. 

I can successfully write and read all registers over the I2Ct, and I can update Transmit Sink Capacity 0x33 and Autonegotiate Sink 0x37 registers. If i modify those registers and issue a GSrC 4CC command, the device correctly renegotiates the PD contract for SPR PDOs that I have specified, but it seems to ignore the fixed EPR profile that I have in reg 0x33, which is a 28V/5A fixed profile through a USB C 140W power supply (Rocstor Y10A271-W1 also tried a dell 165W USB-C supply).  when i read the received source capabilities register 0x30, the register has zero EPR PDOs in it, the bits for number of EPR pdos and the bits for the EPR PDOs are all zeros.  I have tried this with multiple supplies and got the same results.

I used the same method shown in the TIDT407 to confirm the available PDOs in the supply and confirmed that 28V/5A fixed is an available PDO in both supplies and was able to watch the supplies successfully create the contract through a KM003C when i connected them to a computer that charges with those PDOs.  

I've tried issuing a ESrC command after I execute GSrC but the ESrC doesn't seem to do anything.  I have also tried using the USBCPD Application Customization tool to create these register values, I downloaded the .json (attached as config.txt)  file and copied the register values in to my MCU code to insure the right values were being written to the registers, but didn't have any luck doing that either.  

Section 6.4.10.1 of the USB PD 3.2 spec refers to "The EPR Mode capable bit Shall be set in the Fixed 5V PDO" and "The EPR Mode capable bit Shall have been set in the RDO in the last Request Message received by the Source", it appears to me that neither of those things are being done, but I don't see where to I can do those things. 

Is what I'm trying to do not feasible without EEPROM or am i missing a key detail?

  • HI Trent, 

    The NegotiateHighVoltage default config does not have EPR capabilities. To configure TPS26750 to support EPR, you'll need to create/generate a PD configuration using the online USBCPD Application Customization Tool (GUI) which can be loaded into TPS26750 either through an EEPROM or from a MCU loading the config via I2C. 

    If no config is loaded on the PD, you won't be able to send 4CC commands such as ESrC/GSrC until the config is loaded. I would highly recommend changing the ADCINx (Dead Battery) configuration to either SafeMode for EEPROM or AlwaysEnableSink for MCU/PBMx. 

    For more details about PBMx (Patch Burst Mode sequence) process through MCU, here is an app note detailing the process: https://www.ti.com/lit/an/slvafv8a/slvafv8a.pdf?ts=1753311000881&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTPS25751 

    Let us know if you have any further questions or concerns! 

    Thanks and Regards,

    Raymond Lin

  • Thank you for the response.  Just to clarify, does having the ADCINx set to NegotiateHighVoltage mean that I cannot get to EPR mode by any method and the ADCINx must be changed, or does it mean that the PD controller needs to have a patch bundle sent to it reconfiguring the PD controller?

  • Hi Trent, 

    does having the ADCINx set to NegotiateHighVoltage mean that I cannot get to EPR mode by any method and the ADCINx must be changed

    This statement is correct, NegotiateHighVoltage is set up for only a basic 20V sink configuration and not EPR. For fully use the EPR capability, you'll need to load a PD configuration either through storing a full flash binary in a EEPROM connected to TPS26750 I2Cc pins or through an MCU loading a low region binary through TPS26750 I2Ct pins (PBMx, refer to the previously linked app note). 

    The PD config is required since each application varies and some might only require 28V sink while others can do up to 48V DRP. 

    Let us know if you have any further questions or concerns! 

    Thanks and Regards,

    Raymond Lin

  • OK, now i understand that nuance a bit better, but I have encountered a new problem trying to follow your guidance.   

    I reconfigured the hardware to AlwaysEnableSink mode with pinstraps. The PD ctrl powers up in PTCH mode, and I begin the patch process, using a lower region binary file created by the web tool, following through the state diagram in page 90 of the tech ref manual.  I get all the way to sending the PBMc command without error, i receive 0x0 back in the CMD1 register, but when i check the DATAx register, the Output DataX response is not 0, but 0x3 in the acReturn Indicator field.  on all previous 4CC commands with output Datax that i check that register for, i get 0 back.  This doesn't appear to be a case stated in the manual. If I ignore the error, the PD ctrl never leaves PTCH mode and the INT_EVENT1.PatchLoaded bit never gets set.

  • Hi Trent, 

    Can you send the I2C traffic between your MCU and TPS26750 during the PBMx process? I can double check your flow and see if there any errors in the process. 

    Thanks and Regards,

    Raymond Lin

  • tps26750_patch_log-export.csvexport attached.  I tried to send the beagal export file as well but its not an allowed file type here.

  • Hi Trent, 

    Thank you for providing the files, I'll review them and get back to you by tomorrow with any findings. 

    Thanks and Regards,

    Raymond Lin