119 #ifdef USB_OTG_FS_PERIPH_BASE
120 { .reg_base = USB_OTG_FS_PERIPH_BASE, .irqnum = OTG_FS_IRQn, .ep_count = EP_MAX_FS, .ep_fifo_size = EP_FIFO_SIZE_FS },
123 #ifdef USB_OTG_HS_PERIPH_BASE
124 { .reg_base = USB_OTG_HS_PERIPH_BASE, .irqnum = OTG_HS_IRQn, .ep_count = EP_MAX_HS, .ep_fifo_size = EP_FIFO_SIZE_HS },
167 #if defined(USB_OTG_FS_PERIPH_BASE) && defined(RCC_AHB1LPENR_USB2OTGFSULPILPEN)
168 if ( USB_OTG_FS_PERIPH_BASE == (uint32_t) dwc2 ) {
169 RCC->AHB1LPENR &= ~RCC_AHB1LPENR_USB2OTGFSULPILPEN;
173 #if defined(USB_OTG_HS_PERIPH_BASE) && defined(RCC_AHB1LPENR_USB1OTGHSULPILPEN)
174 if ( USB_OTG_HS_PERIPH_BASE == (uint32_t) dwc2 ) {
175 RCC->AHB1LPENR &= ~RCC_AHB1LPENR_USB1OTGHSULPILPEN;
179 #if defined(USB_OTG_HS_PERIPH_BASE) && defined(RCC_AHB1LPENR_OTGHSULPILPEN)
180 if ( USB_OTG_HS_PERIPH_BASE == (uint32_t) dwc2 ) {
181 RCC->AHB1LPENR &= ~RCC_AHB1LPENR_OTGHSULPILPEN;
186#if CFG_TUSB_MCU != OPT_MCU_STM32U5
198 USB_HS_PHYC->USB_HS_PHYC_LDO |= USB_HS_PHYC_LDO_ENABLE;
201 while ( 0 == (USB_HS_PHYC->USB_HS_PHYC_LDO & USB_HS_PHYC_LDO_STATUS) ) {}
203 uint32_t phyc_pll = 0;
208 case 12000000: phyc_pll = USB_HS_PHYC_PLL1_PLLSEL_12MHZ ;
break;
209 case 12500000: phyc_pll = USB_HS_PHYC_PLL1_PLLSEL_12_5MHZ ;
break;
210 case 16000000: phyc_pll = USB_HS_PHYC_PLL1_PLLSEL_16MHZ ;
break;
211 case 24000000: phyc_pll = USB_HS_PHYC_PLL1_PLLSEL_24MHZ ;
break;
212 case 25000000: phyc_pll = USB_HS_PHYC_PLL1_PLLSEL_25MHZ ;
break;
213 case 32000000: phyc_pll = USB_HS_PHYC_PLL1_PLLSEL_Msk ;
break;
217 USB_HS_PHYC->USB_HS_PHYC_PLL = phyc_pll;
221 USB_HS_PHYC->USB_HS_PHYC_TUNE |= 0x00000F13U;
224 USB_HS_PHYC->USB_HS_PHYC_PLL |= USB_HS_PHYC_PLL_PLLEN;