35#ifdef HAL_PCD_MODULE_ENABLED
37#if defined (USB_OTG_FS) || defined (USB_OTG_HS)
62#if defined (USB_OTG_FS) || defined (USB_OTG_HS)
70HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size)
85 Tx_Offset = hpcd->Instance->GRXFSIZ;
89 hpcd->Instance->DIEPTXF0_HNPTXFSIZ = ((uint32_t)size << 16) | Tx_Offset;
93 Tx_Offset += (hpcd->Instance->DIEPTXF0_HNPTXFSIZ) >> 16;
94 for (i = 0U; i < (fifo - 1U); i++)
96 Tx_Offset += (hpcd->Instance->DIEPTXF[i] >> 16);
100 hpcd->Instance->DIEPTXF[fifo - 1U] = ((uint32_t)size << 16) | Tx_Offset;
114 hpcd->Instance->GRXFSIZ = size;
128 hpcd->lpm_active = 1U;
129 hpcd->LPM_State = LPM_L0;
145 hpcd->lpm_active = 0U;
158void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd)
172#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
173 hpcd->BCDCallback(hpcd, PCD_BCD_CONTACT_DETECTION);
175 HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_CONTACT_DETECTION);
189#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
190 hpcd->BCDCallback(hpcd, PCD_BCD_STD_DOWNSTREAM_PORT);
192 HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_STD_DOWNSTREAM_PORT);
207#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
208 hpcd->BCDCallback(hpcd, PCD_BCD_DEDICATED_CHARGING_PORT);
210 HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_DEDICATED_CHARGING_PORT);
216#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
217 hpcd->BCDCallback(hpcd, PCD_BCD_CHARGING_DOWNSTREAM_PORT);
219 HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_CHARGING_DOWNSTREAM_PORT);
225 (void)HAL_PCDEx_DeActivateBCD(hpcd);
230#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
231 hpcd->BCDCallback(hpcd, PCD_BCD_ERROR);
233 HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_ERROR);
238#if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
239 hpcd->BCDCallback(hpcd, PCD_BCD_DISCOVERY_COMPLETED);
241 HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_DISCOVERY_COMPLETED);
264 hpcd->battery_charging_active = 1U;
284 hpcd->battery_charging_active = 0U;
297__weak
void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg)
314__weak
void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg)
void HAL_Delay(uint32_t Delay)
This function provides minimum delay (in milliseconds) based on variable incremented.
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
#define USB_OTG_GCCFG_PWRDWN
Power down.
#define USB_OTG_GLPMCFG_ENBESL
Enable best effort service latency.
#define USB_OTG_GLPMCFG_LPMACK
LPM Token acknowledge enable.
#define USB_OTG_GINTMSK_LPMINTM
LPM interrupt Mask.
#define USB_OTG_GCCFG_PDEN
Primary detection (PD) mode enable.
#define USB_OTG_GCCFG_DCDET
Data contact detection (DCD) status.
#define USB_OTG_GCCFG_BCDEN
Battery charging detector (BCD) enable.
#define USB_OTG_GCCFG_SDET
Secondary detection (SD) status.
#define USB_OTG_GCCFG_SDEN
Secondary detection (SD) mode enable.
#define USB_OTG_GCCFG_PDET
Primary detection (PD) status.
#define USB_OTG_GLPMCFG_LPMEN
LPM support enable.
#define USB_OTG_GCCFG_DCDEN
Data contact detection (DCD) mode enable.
This file contains all the functions prototypes for the HAL module driver.
HAL_StatusTypeDef
HAL Status structures definition.
__IO uint32_t GINTMSK
Core Interrupt Mask Register 018h.
__IO uint32_t GCCFG
General Purpose IO Register 038h.
__IO uint32_t GLPMCFG
LPM Register 054h.