Showing results for 
Search instead for 
Did you mean: 

STUSB4710 I2C setting of PDO and triggering PDO renegotiation


I am trying to set-up power management for a USB charging point using an STUSB4710 (i.e. dropping the allowable current for certain PDO when less power is available). My main issue at this point is that the I2C commands required to get this set up are unclear.

The documentation for the I2C communication is deficient in any details on the I2C configuration (all the registers are given with no details on what is in them) and the "stusb47_registers - public.pdf" available on this forum lacks a lot of detail for certain registers as well. From a github source ( I found some code that indicates how the 32 bit PDO registers need to be written, at least for the STUSB4700:

0-9: Max_Operating current

10-19: Voltage

20-21: PeakCurrent

22-24: Reserved

25: DataRoleSwap

26:  Communication

27: ExternalyPowered

28: SuspendSuported

29: DualRolePower

30-31 FixedSupply

according to the same firmware the max operating current is the actual value*100, while the voltage is the actual value*20, all other field are never addressed.

I have the following questions about this:

1. is the above description of the registers correct?

2. if so, can bit 20-31 be assumed 0?

3. If I change the PDO settings, how can I force a renegotiation between the chip and a connected device to use the new settings?

4. is there any document that can provide more explanation on how to interface with this chip?