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.

TPS65982: Support for pass-through charging

Part Number: TPS65982

Hello,

I have an application which is essentially a dock. The dock is self-powered, and it is able to provide power for charging the device connected to the UFP. It is primarily battery-powered, and when it is using battery power, it  can only supply limited or no power for charging the upstream device. However, when it is connected to an AC power source, it is able to provide power for charging the upstream device. I believe I can accomplish this with the tps65982, but when I run the configuration tool I'm not sure which prototype project to select. I believe it would be DRP_Source_Advanced? The descriptions for that and DRP_Source_Standard are the same, so I'm not sure what the differences are. Basically I'm a powered hub that can sometimes, but not always, provide power for charging the upstream device. I don't need to support alternate modes at all, and I'll always be a UFP.

I would appreciate any advice you can give.

Thanks,

Tony

  • Hi Tony,

    Do you have an embedded controller or some sort of programmable I2C master in your system? If you want to change your Source PDOs offered on the Type-C port, you would need to write these over I2C using our Host Interface. The TPS65982 will not be able to distinguish whether you have an AC Power Source connected or are just running off of battery power.

    Thank you,
    Eric
  • Hi Tony,

    Any update?

    Thank you,
    Eric
  • Hi Eric,

    Yes. We do have a microcontroller on the board that can act as an I2C master and send commands to the PD controller. So I can have that microcontroller sense when the different voltages are available, and update the power PDOs on the fly over I2C? I'm looking at the host interface now to figure out how to do that.

    I have a slightly related question. When the boards are first manufactured and the EEPROM is blank, what is the best way to initially load the firmware? I know in the invalid memory state it presents an SWD interface on the SBU pins. Is the I2C host interface also active in that state? Is it possible to do the initial firmware load over I2C? Or does it require the use of an SWD interface or an alternate means of loading the EEPROM.

    Thank you for your help,

    Tony

  • Hi Anthony,

    1. Do you have some sort of GPIO or analog voltage that you can use to distinguish if you are battery powered or have an AC power supply connected? You could use this GPIO signal as an input or read back the analog voltage using the ADC function on one of then GPIO pins. Based on the status of that GPIO or analog voltage, you could adjust register 0x32 over I2C. Register 0x32 is the TX Source Capabilities register which can be re-written during run time.

    2. When initially programming your boards with a blank SPI Flash, you would need to write to the Flash using the SPI lines. Initially, the SPI Flash would not contain a valid application configuration and the I2C lines would not be active until a valid Application configuration image is available on the SPI Flash.

    Thank you,
    Eric