cancel
Showing results for 
Search instead for 
Did you mean: 

STUSB1600 NVM re-programming

NArnd
Associate III

Hi,

How do you re-program the NVM on STUSB1600? The current datasheet (DS11503 - Rev 4) refers to Chapter 6 that doesn't give any information.

Best regards

Niclas

4 REPLIES 4
riske
Associate II

I have the same question. Does anyone know?

NArnd
Associate III

There doesn't seem to be any way to send a private message, so I will have to write this in the public forum:

The STUSB1600 looks very good on paper, but we abandoned it in the first HW revision. Programming the configuration flash is not feasible and the regular I2C configuration of STUSB1600 is downright bad. Just look at how many register / bits do just about the same thing and that they are scattered over the memory range. It takes a long time to understand what exactly you can and/or must do and then the coding also takes a long time.

Also, what none of the manufacturers told its customers at the time was that you must also support BC1.2 for standards-compliant USB C. So, whichever USB C controller you select must be accompanied by a BC1.2 controller. We went for TUSB320HAI and PI3USB9201. (This can be seen when attaching a device with both of them to a USB C charger or data port; you read both USB C and BC1.2 advertisements. These two generations of advertisement specification have partly different possibilities, especially if you include the Apple proprietary advertisements that are a kind of add-on to BC1.2.)

You can see the reasoning and journey to this conclusion in this thread by me:

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/983462/tusb320-general-usb-c-design-questions---feedback-welcome/3637597?tisearch=e2e-sitesearch&keymatch=bq25896%2520tusb320hai#3637597

That said, the STM32 is our first and only choice for MCUs.

NArnd
Associate III

I forgot:

BC1.2 and USB C have their own separate ways to detect attachment. The USB C specification says that the USB C SRC may not connect +5 V to VBUS until valid detection of a SNK. But then the USB C specification says that the SNK must tolerate VBUS voltage before detecting attachment, and then there is backwards-compatibility to BC1.2 to consider, so I simply disregard this. For your USB C source you will have to decide how to do it.

The battery charger IC will have a third opinion of whether there is connection to a valid VBUS rail.

The practical solution for the SNK is to detect attachment by rising edge of an MCU pin safely connected to VBUS.

I suppose you didn't expect this type of response, but I hope this helps.

riske
Associate II

God bless you, man! That was very helpful!