cancel
Showing results for 
Search instead for 
Did you mean: 

I2C address map for STUSB4500?

jan1.1975
Associate

Hi

Which registers can be read/write on the STUSB4500? What are the register addresses?

The datasheet only mentions the NVM parameters and their default values, how do you set them via i2c?

Thanks

JM

17 REPLIES 17
Gregory Go.
Senior II

Hello,

The STUSB4500 full register map will be available soon on the product web-page at st.com.

On the meantime, you can get more information by contacting the technical support center:

At power up, the device uses the configuration stored in the NVM memory.

You can change the default NVM config by writing the NVM with I2C interface, using the binary file generated by STSW-STUSB002 tool.

Then, after the NVM is loaded, you may also change its configuration on-the-fly by writing to the I2C registers. For instance you can change live the PDO to requests depending on the attached Power source capabilities.

The default STUSB4500 I2C slave address is : 

- Binary: 0b01010000

- Hexadecimal 8bit:

0x50 for Read 

0x51 for Write

- Hexadecimal 7bit (without R/W bit):

0x28

Example of R/W registers to access:

Reg Address		Register name
0x06			BCD_TYPEC_REV_LOW
0x07			BCD_TYPEC_REV_HIGH
0x08			BCD_USBPD_REV_LOW
0x09			BCD_USBPD_REV_HIGH
0x0A			DEVICE_CAPAB_HIGH
0x0B			ALERT_STATUS_1
0x0C			ALERT_STATUS_1_MASK
0x0D			PORT_STATUS_0
0x0E			PORT_STATUS_1
0x0F			TYPEC_MONITORING_STATUS_0
0x10			TYPEC_MONITORING_STATUS_1
0x11			CC_STATUS
0x70			DPM_PDO_NUMB
0x85			DPM_SNK_PDO1_0
0x86			DPM_SNK_PDO1_1
0x87			DPM_SNK_PDO1_2
0x88			DPM_SNK_PDO1_3
0x89			DPM_SNK_PDO2_0
0x8A			DPM_SNK_PDO2_1
0x8B			DPM_SNK_PDO2_2
0x8C			DPM_SNK_PDO2_3

Regards.

jan1.1975
Associate

Thank you,

This will do for now.

JM

JJame.10
Associate

Hi,

Is the full STUSB4500 register documentation available yet?

I have submitted a technical request to ST but I haven't received any response.

Gregory Go.
Senior II

Hi,

A SW library is available to program the NVM memory of STUSB4500. It contains the algorithm to unlock and access the NVM.

The online support team should be able to provide it to you in advance, before the official publication on st.com

Gregory Go.
Senior II

A simpler alternative to program the STUSB4500 NVM memory is to use the STUSB4500 GUI with a STM32 Nucleo board.

The Nucleo board is only $10. So it is a low cost I2C programming tool, and ready to use by flashing the right firmware.

https://www.st.com/en/evaluation-tools/nucleo-f072rb.html

You just need to connect the I2C pins (SCL, SDA, GND) from the Nucleo board to the I2C pins of the board where is located STUSB4500.

Then you can use the GUI to configure the device.

STSW-STUSB002 : Graphical User Interface for STUSB45

0690X000006BvKaQAK.png

JJame.10
Associate

Hi,

I have still heard back nothing from my support request (case Id 00065283)

I have the Nucleo board and the STEVAL-ISC005V1 board which I can use with STSW-STUSB002.

I have been attempting to reverse engineer the protocol by monitoring the IC2 between the boards but it appears it's not a simple R/W register protocol.

It would be much easier of course if the protocol was documented.

I would like to use the micro on my target board to configure and monitor the STUSB4500 during operation so that I can reconfigure it via firmware upgrades while I'm testing.

Gregory Go.
Senior II

Hi,

If you have a microcontroller in your application, indeed it is more convenient to use it to configure directly the USB-PD controller by I2C.

There is a library available to configure the STUSB4500 from a microcontroller. It will be published online when the ST reviewing process will complete (which is a required process for any publication).

So for now the online support service is the right place to go to get help from ST.

But with the transition to the new online support tool, it can take longer to cascade to the right support team. That may be why your ticket has not been processed yet.

hhenr.2
Associate

Hi,

Now, I can ​dynamically adjust the PDOs voltage through the IIC register.(0x85~ 0x90).

but I want to know how to program NVM to STUSB4500 through MCU?

Gregory Go.
Senior II

Hi,

There is a software library to program the STUSB45 NVM memory with a MCU.

Please contact the online support to get the software before the public release.