2025-11-06 6:48 AM
* board - STM32N6570-DK
* using STM Cube 1.19.0
* Example - USBPD_SNK
Goal - to enable Display port
Problem - is i'm getting stuck with the current example. It gets stuck at SVDM_deiscovery_identity part. Which in that packet i should be able to start to tell the host that i have display port capability, but i what is currently set it that the message is unsupported. How would i go about enabling this.
Thoughts - In usbpd_vdm_user.c it seems like it has all the stuff that i need to start sending back these kind of messages but they don't seem to be called anywhere.
There's a function called
* USBPD_VDM_DiscoverSVIDs()
But it doesn't seem to be called.
Capture from a STM32 PD G0 - with STM32CubeMonitor app
2025-11-07 10:52 AM
In usbpd_dpm_conf.h it seems you can edit the DPM_Settings.
So i enabled
.PE_VDMSupport = USBPD_TRUE,
.PE_RespondsToDiscovSOP = USBPD_TRUE, /*!< Can respond successfully to a Discover Identity */ .PE_AttemptsDiscovSOP = USBPD_TRUE,
None of these made any further changes.
2025-11-10 12:50 AM
It seems we are getting strange behavior running the example ! An internal ticket is submitted to dedicated team (221407) for further investigation.
About USBPD_VDM_DiscoverSVIDs API is called to retrieve SVID supported by device and answer to SVDM Discovery SVID init message sent by port partner
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-11-17 4:06 AM
Do you have any info on whats weird about it? I've currently moved to a different task, but figuring out this PD is very important to the project. Just want to make sure this problems is or is not impeding my progress on my task.
2025-11-17 5:24 AM
I assume this line, __HAL_PWR_GET_FLAG(PWR_FLAG_USB33RDY) returns true if PWR_FLAG_USB33RDY is set. So, if the flag is set, the code is stuck in the instruction while(__HAL_PWR_GET_FLAG(PWR_FLAG_USB33RDY));
If the code is waiting for the flag to be set, a simple correction could be
while(!__HAL_PWR_GET_FLAG(PWR_FLAG_USB33RDY));
Keep me updated, if you have further questions.
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-11-17 8:27 AM
What i'm trying to currently figure out is how to to setup this software so that it supports a SVDM_DISCOVERY_IDENTITY response. In the image from the first post you can see it replay's with a NOT_SUPPORTED response.
So i tried to do set in
* usbpd_dpm_conf.h
.PE_VDMSupport = USBPD_TRUE,
.PE_RespondsToDiscovSOP = USBPD_TRUE,
.PE_AttemptsDiscovSOP = USBPD_TRUE,
But they didn't do anything or at least i couldn't figure out what they did. How do i enable or set the SVDM_DISCOVERY_IDENTITY as a sink pd device?
2025-11-19 2:56 AM - edited 2025-11-19 3:37 AM
I suggest you the demo provided for G0 eval board, it supports VDM as sink and source pd device.
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.