check if dwc2 supports dma
This commit is contained in:
@@ -619,6 +619,12 @@ int usb_dc_init(void)
|
||||
USB_OTG_GLB->GINTMSK = USB_OTG_GINTMSK_USBRST | USB_OTG_GINTMSK_ENUMDNEM |
|
||||
USB_OTG_GINTMSK_OEPINT | USB_OTG_GINTMSK_IEPINT;
|
||||
#ifdef CONFIG_USB_DWC2_DMA_ENABLE
|
||||
if ((USB_OTG_GLB->GHWCFG2 & (0x3U << 3)) == 0U) {
|
||||
USB_LOG_ERR("This dwc2 version does not support dma, so stop working\r\n");
|
||||
while (1) {
|
||||
}
|
||||
}
|
||||
|
||||
USB_OTG_GLB->GAHBCFG |= USB_OTG_GAHBCFG_HBSTLEN_2;
|
||||
USB_OTG_GLB->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN;
|
||||
#else
|
||||
|
||||
@@ -22,11 +22,11 @@ typedef struct
|
||||
uint32_t Reserved30[2]; /*!< Reserved 030h */
|
||||
__IO uint32_t GCCFG; /*!< General Purpose IO Register 038h */
|
||||
__IO uint32_t CID; /*!< User ID Register 03Ch */
|
||||
__IO uint32_t GSNPSID; /* USB_OTG core ID 040h*/
|
||||
__IO uint32_t GHWCFG1; /* User HW config1 044h*/
|
||||
__IO uint32_t GHWCFG2; /* User HW config2 048h*/
|
||||
__IO uint32_t GSNPSID; /*!< USB_OTG core ID 040h */
|
||||
__IO uint32_t GHWCFG1; /*!< User HW config1 044h */
|
||||
__IO uint32_t GHWCFG2; /*!< User HW config2 048h */
|
||||
__IO uint32_t GHWCFG3; /*!< User HW config3 04Ch */
|
||||
uint32_t Reserved6; /*!< Reserved 050h */
|
||||
__IO uint32_t GHWCFG4; /*!< User HW config4 050h */
|
||||
__IO uint32_t GLPMCFG; /*!< LPM Register 054h */
|
||||
__IO uint32_t GPWRDN; /*!< Power Down Register 058h */
|
||||
__IO uint32_t GDFIFOCFG; /*!< DFIFO Software Config Register 05Ch */
|
||||
|
||||
@@ -465,7 +465,15 @@ int usb_hc_init(void)
|
||||
|
||||
usb_hc_low_level_init();
|
||||
|
||||
if ((USB_OTG_GLB->CID & (0x1U << 8)) == 0U) {
|
||||
USB_LOG_INFO("========== DWC2 params ==========\r\n");
|
||||
USB_LOG_INFO("CID:%08x\r\n",USB_OTG_GLB->CID);
|
||||
USB_LOG_INFO("GSNPSID:%08x\r\n",USB_OTG_GLB->GSNPSID);
|
||||
USB_LOG_INFO("GHWCFG1:%08x\r\n",USB_OTG_GLB->GHWCFG1);
|
||||
USB_LOG_INFO("GHWCFG2:%08x\r\n",USB_OTG_GLB->GHWCFG2);
|
||||
USB_LOG_INFO("GHWCFG3:%08x\r\n",USB_OTG_GLB->GHWCFG3);
|
||||
USB_LOG_INFO("GHWCFG4:%08x\r\n",USB_OTG_GLB->GHWCFG4);
|
||||
|
||||
if ((USB_OTG_GLB->GHWCFG2 & (0x3U << 3)) == 0U) {
|
||||
USB_LOG_ERR("This dwc2 version does not support dma, so stop working\r\n");
|
||||
while (1) {
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user