1 /** 2 ****************************************************************************** 3 * @file stm32h7xx_hal_pcd.h 4 * @author MCD Application Team 5 * @brief Header file of PCD HAL module. 6 ****************************************************************************** 7 * @attention 8 * 9 * <h2><center>© Copyright (c) 2017 STMicroelectronics. 10 * All rights reserved.</center></h2> 11 * 12 * This software component is licensed by ST under BSD 3-Clause license, 13 * the "License"; You may not use this file except in compliance with the 14 * License. You may obtain a copy of the License at: 15 * opensource.org/licenses/BSD-3-Clause 16 * 17 ****************************************************************************** 18 */ 19 20 /* Define to prevent recursive inclusion -------------------------------------*/ 21 #ifndef STM32H7xx_HAL_PCD_H 22 #define STM32H7xx_HAL_PCD_H 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 /* Includes ------------------------------------------------------------------*/ 29 #include "stm32h7xx_ll_usb.h" 30 31 #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 32 33 /** @addtogroup STM32H7xx_HAL_Driver 34 * @{ 35 */ 36 37 /** @addtogroup PCD 38 * @{ 39 */ 40 41 /* Exported types ------------------------------------------------------------*/ 42 /** @defgroup PCD_Exported_Types PCD Exported Types 43 * @{ 44 */ 45 46 /** 47 * @brief PCD State structure definition 48 */ 49 typedef enum 50 { 51 HAL_PCD_STATE_RESET = 0x00, 52 HAL_PCD_STATE_READY = 0x01, 53 HAL_PCD_STATE_ERROR = 0x02, 54 HAL_PCD_STATE_BUSY = 0x03, 55 HAL_PCD_STATE_TIMEOUT = 0x04 56 } PCD_StateTypeDef; 57 58 /* Device LPM suspend state */ 59 typedef enum 60 { 61 LPM_L0 = 0x00, /* on */ 62 LPM_L1 = 0x01, /* LPM L1 sleep */ 63 LPM_L2 = 0x02, /* suspend */ 64 LPM_L3 = 0x03, /* off */ 65 } PCD_LPM_StateTypeDef; 66 67 typedef enum 68 { 69 PCD_LPM_L0_ACTIVE = 0x00, /* on */ 70 PCD_LPM_L1_ACTIVE = 0x01, /* LPM L1 sleep */ 71 } PCD_LPM_MsgTypeDef; 72 73 typedef enum 74 { 75 PCD_BCD_ERROR = 0xFF, 76 PCD_BCD_CONTACT_DETECTION = 0xFE, 77 PCD_BCD_STD_DOWNSTREAM_PORT = 0xFD, 78 PCD_BCD_CHARGING_DOWNSTREAM_PORT = 0xFC, 79 PCD_BCD_DEDICATED_CHARGING_PORT = 0xFB, 80 PCD_BCD_DISCOVERY_COMPLETED = 0x00, 81 82 } PCD_BCD_MsgTypeDef; 83 84 #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 85 typedef USB_OTG_GlobalTypeDef PCD_TypeDef; 86 typedef USB_OTG_CfgTypeDef PCD_InitTypeDef; 87 typedef USB_OTG_EPTypeDef PCD_EPTypeDef; 88 #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 89 90 /** 91 * @brief PCD Handle Structure definition 92 */ 93 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 94 typedef struct __PCD_HandleTypeDef 95 #else 96 typedef struct 97 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 98 { 99 PCD_TypeDef *Instance; /*!< Register base address */ 100 PCD_InitTypeDef Init; /*!< PCD required parameters */ 101 __IO uint8_t USB_Address; /*!< USB Address */ 102 PCD_EPTypeDef IN_ep[16]; /*!< IN endpoint parameters */ 103 PCD_EPTypeDef OUT_ep[16]; /*!< OUT endpoint parameters */ 104 HAL_LockTypeDef Lock; /*!< PCD peripheral status */ 105 __IO PCD_StateTypeDef State; /*!< PCD communication state */ 106 __IO uint32_t ErrorCode; /*!< PCD Error code */ 107 uint32_t Setup[12]; /*!< Setup packet buffer */ 108 PCD_LPM_StateTypeDef LPM_State; /*!< LPM State */ 109 uint32_t BESL; 110 111 112 uint32_t lpm_active; /*!< Enable or disable the Link Power Management . 113 This parameter can be set to ENABLE or DISABLE */ 114 115 uint32_t battery_charging_active; /*!< Enable or disable Battery charging. 116 This parameter can be set to ENABLE or DISABLE */ 117 void *pData; /*!< Pointer to upper stack Handler */ 118 119 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 120 void (* SOFCallback)(struct __PCD_HandleTypeDef *hpcd); /*!< USB OTG PCD SOF callback */ 121 void (* SetupStageCallback)(struct __PCD_HandleTypeDef *hpcd); /*!< USB OTG PCD Setup Stage callback */ 122 void (* ResetCallback)(struct __PCD_HandleTypeDef *hpcd); /*!< USB OTG PCD Reset callback */ 123 void (* SuspendCallback)(struct __PCD_HandleTypeDef *hpcd); /*!< USB OTG PCD Suspend callback */ 124 void (* ResumeCallback)(struct __PCD_HandleTypeDef *hpcd); /*!< USB OTG PCD Resume callback */ 125 void (* ConnectCallback)(struct __PCD_HandleTypeDef *hpcd); /*!< USB OTG PCD Connect callback */ 126 void (* DisconnectCallback)(struct __PCD_HandleTypeDef *hpcd); /*!< USB OTG PCD Disconnect callback */ 127 128 void (* DataOutStageCallback)(struct __PCD_HandleTypeDef *hpcd, uint8_t epnum); /*!< USB OTG PCD Data OUT Stage callback */ 129 void (* DataInStageCallback)(struct __PCD_HandleTypeDef *hpcd, uint8_t epnum); /*!< USB OTG PCD Data IN Stage callback */ 130 void (* ISOOUTIncompleteCallback)(struct __PCD_HandleTypeDef *hpcd, uint8_t epnum); /*!< USB OTG PCD ISO OUT Incomplete callback */ 131 void (* ISOINIncompleteCallback)(struct __PCD_HandleTypeDef *hpcd, uint8_t epnum); /*!< USB OTG PCD ISO IN Incomplete callback */ 132 void (* BCDCallback)(struct __PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg); /*!< USB OTG PCD BCD callback */ 133 void (* LPMCallback)(struct __PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg); /*!< USB OTG PCD LPM callback */ 134 135 void (* MspInitCallback)(struct __PCD_HandleTypeDef *hpcd); /*!< USB OTG PCD Msp Init callback */ 136 void (* MspDeInitCallback)(struct __PCD_HandleTypeDef *hpcd); /*!< USB OTG PCD Msp DeInit callback */ 137 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 138 } PCD_HandleTypeDef; 139 140 /** 141 * @} 142 */ 143 144 /* Include PCD HAL Extended module */ 145 #include "stm32h7xx_hal_pcd_ex.h" 146 147 /* Exported constants --------------------------------------------------------*/ 148 /** @defgroup PCD_Exported_Constants PCD Exported Constants 149 * @{ 150 */ 151 152 /** @defgroup PCD_Speed PCD Speed 153 * @{ 154 */ 155 #define PCD_SPEED_HIGH USBD_HS_SPEED 156 #define PCD_SPEED_HIGH_IN_FULL USBD_HSINFS_SPEED 157 #define PCD_SPEED_FULL USBD_FS_SPEED 158 /** 159 * @} 160 */ 161 162 /** @defgroup PCD_PHY_Module PCD PHY Module 163 * @{ 164 */ 165 #define PCD_PHY_ULPI 1U 166 #define PCD_PHY_EMBEDDED 2U 167 #define PCD_PHY_UTMI 3U 168 /** 169 * @} 170 */ 171 172 /** @defgroup PCD_Error_Code_definition PCD Error Code definition 173 * @brief PCD Error Code definition 174 * @{ 175 */ 176 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 177 #define HAL_PCD_ERROR_INVALID_CALLBACK (0x00000010U) /*!< Invalid Callback error */ 178 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 179 180 /** 181 * @} 182 */ 183 184 /** 185 * @} 186 */ 187 188 /* Exported macros -----------------------------------------------------------*/ 189 /** @defgroup PCD_Exported_Macros PCD Exported Macros 190 * @brief macros to handle interrupts and specific clock configurations 191 * @{ 192 */ 193 #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 194 #define __HAL_PCD_ENABLE(__HANDLE__) (void)USB_EnableGlobalInt ((__HANDLE__)->Instance) 195 #define __HAL_PCD_DISABLE(__HANDLE__) (void)USB_DisableGlobalInt ((__HANDLE__)->Instance) 196 197 #define __HAL_PCD_GET_FLAG(__HANDLE__, __INTERRUPT__) ((USB_ReadInterrupts((__HANDLE__)->Instance) & (__INTERRUPT__)) == (__INTERRUPT__)) 198 #define __HAL_PCD_CLEAR_FLAG(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->GINTSTS) &= (__INTERRUPT__)) 199 #define __HAL_PCD_IS_INVALID_INTERRUPT(__HANDLE__) (USB_ReadInterrupts((__HANDLE__)->Instance) == 0U) 200 201 202 #define __HAL_PCD_UNGATE_PHYCLOCK(__HANDLE__) *(__IO uint32_t *)((uint32_t)((__HANDLE__)->Instance) + USB_OTG_PCGCCTL_BASE) &= ~(USB_OTG_PCGCCTL_STOPCLK) 203 204 #define __HAL_PCD_GATE_PHYCLOCK(__HANDLE__) *(__IO uint32_t *)((uint32_t)((__HANDLE__)->Instance) + USB_OTG_PCGCCTL_BASE) |= USB_OTG_PCGCCTL_STOPCLK 205 206 #define __HAL_PCD_IS_PHY_SUSPENDED(__HANDLE__) ((*(__IO uint32_t *)((uint32_t)((__HANDLE__)->Instance) + USB_OTG_PCGCCTL_BASE)) & 0x10U) 207 208 #define __HAL_USB_OTG_HS_WAKEUP_EXTI_ENABLE_IT() EXTI_D1->IMR2 |= (USB_OTG_HS_WAKEUP_EXTI_LINE) 209 #define __HAL_USB_OTG_HS_WAKEUP_EXTI_DISABLE_IT() EXTI_D1->IMR2 &= ~(USB_OTG_HS_WAKEUP_EXTI_LINE) 210 #define __HAL_USB_OTG_FS_WAKEUP_EXTI_ENABLE_IT() EXTI_D1->IMR2 |= (USB_OTG_FS_WAKEUP_EXTI_LINE) 211 #define __HAL_USB_OTG_FS_WAKEUP_EXTI_DISABLE_IT() EXTI_D1->IMR2 &= ~(USB_OTG_FS_WAKEUP_EXTI_LINE) 212 #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 213 214 215 /** 216 * @} 217 */ 218 219 /* Exported functions --------------------------------------------------------*/ 220 /** @addtogroup PCD_Exported_Functions PCD Exported Functions 221 * @{ 222 */ 223 224 /* Initialization/de-initialization functions ********************************/ 225 /** @addtogroup PCD_Exported_Functions_Group1 Initialization and de-initialization functions 226 * @{ 227 */ 228 HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd); 229 HAL_StatusTypeDef HAL_PCD_DeInit(PCD_HandleTypeDef *hpcd); 230 void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd); 231 void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd); 232 233 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) 234 /** @defgroup HAL_PCD_Callback_ID_enumeration_definition HAL USB OTG PCD Callback ID enumeration definition 235 * @brief HAL USB OTG PCD Callback ID enumeration definition 236 * @{ 237 */ 238 typedef enum 239 { 240 HAL_PCD_SOF_CB_ID = 0x01, /*!< USB PCD SOF callback ID */ 241 HAL_PCD_SETUPSTAGE_CB_ID = 0x02, /*!< USB PCD Setup Stage callback ID */ 242 HAL_PCD_RESET_CB_ID = 0x03, /*!< USB PCD Reset callback ID */ 243 HAL_PCD_SUSPEND_CB_ID = 0x04, /*!< USB PCD Suspend callback ID */ 244 HAL_PCD_RESUME_CB_ID = 0x05, /*!< USB PCD Resume callback ID */ 245 HAL_PCD_CONNECT_CB_ID = 0x06, /*!< USB PCD Connect callback ID */ 246 HAL_PCD_DISCONNECT_CB_ID = 0x07, /*!< USB PCD Disconnect callback ID */ 247 248 HAL_PCD_MSPINIT_CB_ID = 0x08, /*!< USB PCD MspInit callback ID */ 249 HAL_PCD_MSPDEINIT_CB_ID = 0x09 /*!< USB PCD MspDeInit callback ID */ 250 251 } HAL_PCD_CallbackIDTypeDef; 252 /** 253 * @} 254 */ 255 256 /** @defgroup HAL_PCD_Callback_pointer_definition HAL USB OTG PCD Callback pointer definition 257 * @brief HAL USB OTG PCD Callback pointer definition 258 * @{ 259 */ 260 261 typedef void (*pPCD_CallbackTypeDef)(PCD_HandleTypeDef *hpcd); /*!< pointer to a common USB OTG PCD callback function */ 262 typedef void (*pPCD_DataOutStageCallbackTypeDef)(PCD_HandleTypeDef *hpcd, uint8_t epnum); /*!< pointer to USB OTG PCD Data OUT Stage callback */ 263 typedef void (*pPCD_DataInStageCallbackTypeDef)(PCD_HandleTypeDef *hpcd, uint8_t epnum); /*!< pointer to USB OTG PCD Data IN Stage callback */ 264 typedef void (*pPCD_IsoOutIncpltCallbackTypeDef)(PCD_HandleTypeDef *hpcd, uint8_t epnum); /*!< pointer to USB OTG PCD ISO OUT Incomplete callback */ 265 typedef void (*pPCD_IsoInIncpltCallbackTypeDef)(PCD_HandleTypeDef *hpcd, uint8_t epnum); /*!< pointer to USB OTG PCD ISO IN Incomplete callback */ 266 typedef void (*pPCD_LpmCallbackTypeDef)(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg); /*!< pointer to USB OTG PCD LPM callback */ 267 typedef void (*pPCD_BcdCallbackTypeDef)(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg); /*!< pointer to USB OTG PCD BCD callback */ 268 269 /** 270 * @} 271 */ 272 273 HAL_StatusTypeDef HAL_PCD_RegisterCallback(PCD_HandleTypeDef *hpcd, 274 HAL_PCD_CallbackIDTypeDef CallbackID, 275 pPCD_CallbackTypeDef pCallback); 276 277 HAL_StatusTypeDef HAL_PCD_UnRegisterCallback(PCD_HandleTypeDef *hpcd, 278 HAL_PCD_CallbackIDTypeDef CallbackID); 279 280 HAL_StatusTypeDef HAL_PCD_RegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd, 281 pPCD_DataOutStageCallbackTypeDef pCallback); 282 283 HAL_StatusTypeDef HAL_PCD_UnRegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd); 284 285 HAL_StatusTypeDef HAL_PCD_RegisterDataInStageCallback(PCD_HandleTypeDef *hpcd, 286 pPCD_DataInStageCallbackTypeDef pCallback); 287 288 HAL_StatusTypeDef HAL_PCD_UnRegisterDataInStageCallback(PCD_HandleTypeDef *hpcd); 289 290 HAL_StatusTypeDef HAL_PCD_RegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd, 291 pPCD_IsoOutIncpltCallbackTypeDef pCallback); 292 293 HAL_StatusTypeDef HAL_PCD_UnRegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd); 294 295 HAL_StatusTypeDef HAL_PCD_RegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd, 296 pPCD_IsoInIncpltCallbackTypeDef pCallback); 297 298 HAL_StatusTypeDef HAL_PCD_UnRegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd); 299 300 HAL_StatusTypeDef HAL_PCD_RegisterBcdCallback(PCD_HandleTypeDef *hpcd, 301 pPCD_BcdCallbackTypeDef pCallback); 302 303 HAL_StatusTypeDef HAL_PCD_UnRegisterBcdCallback(PCD_HandleTypeDef *hpcd); 304 305 HAL_StatusTypeDef HAL_PCD_RegisterLpmCallback(PCD_HandleTypeDef *hpcd, 306 pPCD_LpmCallbackTypeDef pCallback); 307 308 HAL_StatusTypeDef HAL_PCD_UnRegisterLpmCallback(PCD_HandleTypeDef *hpcd); 309 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ 310 /** 311 * @} 312 */ 313 314 /* I/O operation functions ***************************************************/ 315 /* Non-Blocking mode: Interrupt */ 316 /** @addtogroup PCD_Exported_Functions_Group2 Input and Output operation functions 317 * @{ 318 */ 319 HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd); 320 HAL_StatusTypeDef HAL_PCD_Stop(PCD_HandleTypeDef *hpcd); 321 void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd); 322 323 void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd); 324 void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd); 325 void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd); 326 void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd); 327 void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd); 328 void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd); 329 void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd); 330 331 void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum); 332 void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum); 333 void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum); 334 void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum); 335 /** 336 * @} 337 */ 338 339 /* Peripheral Control functions **********************************************/ 340 /** @addtogroup PCD_Exported_Functions_Group3 Peripheral Control functions 341 * @{ 342 */ 343 HAL_StatusTypeDef HAL_PCD_DevConnect(PCD_HandleTypeDef *hpcd); 344 HAL_StatusTypeDef HAL_PCD_DevDisconnect(PCD_HandleTypeDef *hpcd); 345 HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address); 346 HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, 347 uint16_t ep_mps, uint8_t ep_type); 348 349 HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr); 350 HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, 351 uint8_t *pBuf, uint32_t len); 352 353 HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, 354 uint8_t *pBuf, uint32_t len); 355 356 357 HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr); 358 HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr); 359 HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr); 360 HAL_StatusTypeDef HAL_PCD_ActivateRemoteWakeup(PCD_HandleTypeDef *hpcd); 361 HAL_StatusTypeDef HAL_PCD_DeActivateRemoteWakeup(PCD_HandleTypeDef *hpcd); 362 363 uint32_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef *hpcd, uint8_t ep_addr); 364 /** 365 * @} 366 */ 367 368 /* Peripheral State functions ************************************************/ 369 /** @addtogroup PCD_Exported_Functions_Group4 Peripheral State functions 370 * @{ 371 */ 372 PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef *hpcd); 373 /** 374 * @} 375 */ 376 377 /** 378 * @} 379 */ 380 381 /* Private constants ---------------------------------------------------------*/ 382 /** @defgroup PCD_Private_Constants PCD Private Constants 383 * @{ 384 */ 385 /** @defgroup USB_EXTI_Line_Interrupt USB EXTI line interrupt 386 * @{ 387 */ 388 #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 389 #define USB_OTG_FS_WAKEUP_EXTI_LINE (0x1U << 12) /*!< USB FS EXTI Line WakeUp Interrupt */ 390 #define USB_OTG_HS_WAKEUP_EXTI_LINE (0x1U << 11) /*!< USB HS EXTI Line WakeUp Interrupt */ 391 #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 392 393 394 /** 395 * @} 396 */ 397 /** 398 * @} 399 */ 400 401 #if defined (USB_OTG_FS) || defined (USB_OTG_HS) 402 #ifndef USB_OTG_DOEPINT_OTEPSPR 403 #define USB_OTG_DOEPINT_OTEPSPR (0x1UL << 5) /*!< Status Phase Received interrupt */ 404 #endif 405 406 #ifndef USB_OTG_DOEPMSK_OTEPSPRM 407 #define USB_OTG_DOEPMSK_OTEPSPRM (0x1UL << 5) /*!< Setup Packet Received interrupt mask */ 408 #endif 409 410 #ifndef USB_OTG_DOEPINT_NAK 411 #define USB_OTG_DOEPINT_NAK (0x1UL << 13) /*!< NAK interrupt */ 412 #endif 413 414 #ifndef USB_OTG_DOEPMSK_NAKM 415 #define USB_OTG_DOEPMSK_NAKM (0x1UL << 13) /*!< OUT Packet NAK interrupt mask */ 416 #endif 417 418 #ifndef USB_OTG_DOEPINT_STPKTRX 419 #define USB_OTG_DOEPINT_STPKTRX (0x1UL << 15) /*!< Setup Packet Received interrupt */ 420 #endif 421 422 #ifndef USB_OTG_DOEPMSK_NYETM 423 #define USB_OTG_DOEPMSK_NYETM (0x1UL << 14) /*!< Setup Packet Received interrupt mask */ 424 #endif 425 #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 426 427 /* Private macros ------------------------------------------------------------*/ 428 /** @defgroup PCD_Private_Macros PCD Private Macros 429 * @{ 430 */ 431 432 /** 433 * @} 434 */ 435 436 /** 437 * @} 438 */ 439 440 /** 441 * @} 442 */ 443 #endif /* defined (USB_OTG_FS) || defined (USB_OTG_HS) */ 444 445 #ifdef __cplusplus 446 } 447 #endif 448 449 #endif /* STM32H7xx_HAL_PCD_H */ 450 451 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 452