Skip to main content
Associate
August 29, 2024
Solved

STM32H730 with external PHY "device not recognize"

  • August 29, 2024
  • 2 replies
  • 830 views

I'm using a custom board with an STM32H730 and an external HS PHY USB3370 via ULPI, set up as an OTG-HS "Device Only."

When I connect it to my computer, Windows shows "USB device is not recognized".

In "USB Device Tree Viewer," it says "Unknown USB Device (Device Descriptor Request Failed)".

This happens on two boards, and I've confirmed that the ULPI pins are correctly matched.

I'm not sure if I'm missing something in the configuration.

I'm attaching the .ioc file and could use some help figuring out the problem.

 

 

Thanks!

This topic has been closed for replies.
Best answer by Arlevski

I just found out how to fix it:

Add the following to USBD_LL_Init() (after HAL_PCD_Init()):

 

/* USER CODE BEGIN DCFG XCVRDLY workaround for USB3370 */

USB_OTG_GlobalTypeDef *USBx = hpcd_USB_OTG_HS.Instance;

uint32_t USBx_BASE = (uint32_t)USBx;

USBx_DEVICE->DCFG |= (1<<14);

/* USER CODE END 0 */

2 replies

ST Technical Moderator
August 30, 2024

Hello @Arlevski 

 

You can refer to the example USB_Device/CDC_Standalone available in the STM32CubeH7 firmware. 

In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Saket_Om
ArlevskiAuthorBest answer
Associate
September 1, 2024

I just found out how to fix it:

Add the following to USBD_LL_Init() (after HAL_PCD_Init()):

 

/* USER CODE BEGIN DCFG XCVRDLY workaround for USB3370 */

USB_OTG_GlobalTypeDef *USBx = hpcd_USB_OTG_HS.Instance;

uint32_t USBx_BASE = (uint32_t)USBx;

USBx_DEVICE->DCFG |= (1<<14);

/* USER CODE END 0 */