2025-09-05 10:40 PM - last edited on 2025-09-08 2:14 AM by FBL
Hi Pascal,
Any updates on our previous thread?
When testing the same firmware with the EN pin pulled up, we are facing some issues during operation. After about 5–6 operation cycles, the system stops working until the MCU is reset. The issue still persists — could you please suggest what board-level changes might be needed to resolve this?
Additionally, we are facing another issue on the CubeMX side:
USB PD works well separately,TouchGFX works fine separately. But in our application, we need both to run together. If I disable TouchGFX, USB PD starts working. However, when I try to enable both TouchGFX and USB PD in the IOC file, CubeMX shows an error saying only one can be used at a time.
Could you please advise how we can resolve this?
Thanks & Regards,
Rajkumar
edit:
related thread Solved: USB PD Part selection - STMicroelectronics Community
2025-09-10 3:43 AM - edited 2025-09-10 3:56 AM
Hi @Rajkumar24
Have you tried updating latest version of TouchGFX 4.25.0 and TCPP package?
About your second point, pulling up enable pin of TCPP3 M20 which supplies I2C interface. Have you tried to control it over GP Output via STM32? Note that TCPP port can change power mode via these I2C commands.
We don't recommand to pull-up EN pin of TCPP03-M20 because this pin is dynamically triggered (because it can select 1.8V or 3.3V). And Vcc rise-up is usally not fast enouth. We do recommand to connect EN pin to a GPIO.
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.
2025-09-10 9:53 AM - edited 2025-09-10 10:12 AM
Hi FBL,
Yes, we are using the latest version of TouchGFX 4.25.0 and the latest TCPP package 4.2. The issue is still present.
Regarding the EN pin of the TCPP03-M20 — in our current design, the EN pin is connected to an STM32 GPIO with an external pull-up. From your suggestion, do you mean that we should remove the external pull-up and instead drive the EN pin directly from the STM32 GPIO configured as an output (without pull-up)?
And, how to configure TCCP power mode at 3.3V using I2C command on TCCP package
Thanks & Regards,
Rajkumar
2025-09-11 3:19 AM
Hi @Rajkumar24
About CubeMX issue, I have raised an internal ticket 217300 to dedicated team to fix the issue or clarify a limitation.
About EN pin, I agree, you should remove the external pull up and control it through STM32 GP Out pin.
About how to configure TCPP power mode, you can refer to section 6.3.1 I2C registers
in the datasheet
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.
2025-09-12 11:22 AM - edited 2025-09-12 11:23 AM
Hi FBL,
I removed the external pull-up on the EN pin and instead control it directly through the STM32 GPIO.
However, I am still facing an issue: after about 6–7 continuous plug/unplug cycles in dual-role mode (Source/Sink), the system sometimes gets stuck — either the Source role stops working or the Sink role stops working. Once this happens, the ROLE remains stuck in one mode and only recovers after an MCU reset.
Could you please suggest the recommended way to handle this situation?
Thanks
Regards
Rajkumar
2025-09-14 11:20 AM
Hi @Rajkumar24
It seems a hardware issue linked to your custom HW setup. Would you share minimal firmware to reproduce the issue on our reference board?
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.
2025-09-15 6:43 AM
Hi FBL,
We recreated the same setup, and the issue still persists on the development board itself.
We used the NUCLEO-U575ZI-Q board along with the X-NUCLEO-GFX01M2, connected as recommended in this thread: https://community.st.com/t5/stm32-mcus-products/usb-pd-part-selection/td-p/741642/page/2
Please find the attached .ioc file for your reference.
Kindly check and share your feedback.
Thanks & Regards,
Rajkumar
2025-09-19 8:30 AM - edited 2025-09-19 8:43 AM
Hello FBL,
I manually added TCPP03-M20 / UCPD middleware into a TouchGFX project (CubeIDE does not allow enabling both in the same .ioc). The system is in Dual Role (DRP), EN pin is controlled by GPIO.
Problem:
On first boot, Source works only if cable is already plugged in.
If I unplug and plug back the cable, Source does not work anymore.
After ~6–7 plug/unplug cycles, sometimes Source or Sink gets stuck.
It only works again after MCU reset/power cycle.
It looks like UCPD works only during initialization, and attach/detach is not handled once the system is running with FreeRTOS + TouchGFX. How can I handle cable plug/unplug events properly in DRP mode?If you could also provide any example code that combines TouchGFX and USB-PD, that would be great and very helpful for us.
Thanks
Regards
Rajkumar S