cancel
Showing results for 
Search instead for 
Did you mean: 

Factory programming an STM32MP157 via USB-C

rtie
Associate II

If I have grasped USB-C correctly, the BootROM must communicate with the STUSB1600 chip for role negotiation, otherwise it couldn't switch to device mode and thus it wouldn't be possible to use serial boot mode over USB-C. On the DK2, the STUSB1600 is connected to I2C4, and quite obviously, serial boot mode works on that hardware.

Since I was unable to find any information on these details:

1. Does the boot ROM communicate with the STUSB1600?
2a. If it does, is it hard-coded to I2C4 or is it possible to use a different I2C?
2b. If it doesn't, how/why does role selection work without proper negotiation?

In other words: is it possible to send the TF-A bootloader to an STM32MP157 via USB-C if the STUSB1600 chip is connected to a different I2C bus than I2C4?

Best regards,
Robert

1 REPLY 1
PatrickF
ST Employee

Hi @rtie 

BootROM does not communicate with any outside components (except the Flash itself, and in DFU mode, the USB and the UART). Even not with STPMIC. That's intended to make BootROM as agnostic as possible from external components.

Are the CC1DB and CC2DB connected as on STM32MP157F-DK2 ?

Did you try using a Type-C to Type-A cable ? Type-A is maybe required to have the Host (PC) to be a DFP (which is btw the only possible mode for Type-A).

Not sure the STUSB1600 have then 5.1k pull-down (Rd) enabled by default (need to check spec), as this is required by other side to detect the UFP in case of Type-C <-> Type-C cable.

 

During factory programming, it is usually not a concern to use specific cables.

 

Regards.

 

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.