usb_common_defs.h merged
This commit is contained in:
commit
1d69ea3129
@ -4,14 +4,18 @@
|
|||||||
#if defined(STM32H745xx) || defined(STM32H743xx)
|
#if defined(STM32H745xx) || defined(STM32H743xx)
|
||||||
#include <stm32h7xx.h>
|
#include <stm32h7xx.h>
|
||||||
#include <stm32h7xx_hal.h>
|
#include <stm32h7xx_hal.h>
|
||||||
#elif defined(STM32F407xx)
|
#define USB_STM32H7
|
||||||
#include <stm32f407xx.h>
|
#elif defined(STM32F407xx) || defined(STM32F401xC)
|
||||||
|
#include <stm32f4xx.h>
|
||||||
#include <stm32f4xx_hal.h>
|
#include <stm32f4xx_hal.h>
|
||||||
|
#define USB_STM32F4
|
||||||
|
|
||||||
#ifdef USB_HIGH_SPEED
|
#ifdef USB_HIGH_SPEED
|
||||||
#define USBG (USB_OTG_HS)
|
#define USBG (USB_OTG_HS)
|
||||||
#else
|
#else
|
||||||
#define USBG (USB_OTG_FS)
|
#define USBG (USB_OTG_FS)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define USBD ((USB_OTG_DeviceTypeDef *) ((uint32_t)(USBG) + (uint32_t)(USB_OTG_DEVICE_BASE)))
|
#define USBD ((USB_OTG_DeviceTypeDef *) ((uint32_t)(USBG) + (uint32_t)(USB_OTG_DEVICE_BASE)))
|
||||||
|
20
usb_driver.c
20
usb_driver.c
@ -42,9 +42,9 @@ static const char *FIFO_STATUS_STR[6] = {
|
|||||||
|
|
||||||
// ---------------
|
// ---------------
|
||||||
|
|
||||||
#if defined(STM32H745xx) || defined(STM32H743xx)
|
#if defined(USB_STM32H7)
|
||||||
#define USB_GPIO_AF (GPIO_AF10_OTG2_FS)
|
#define USB_GPIO_AF (GPIO_AF10_OTG2_FS)
|
||||||
#elif defined(STM32F407xx)
|
#elif defined(USB_STM32F4)
|
||||||
#define USB_GPIO_AF (GPIO_AF10_OTG_FS)
|
#define USB_GPIO_AF (GPIO_AF10_OTG_FS)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -132,10 +132,10 @@ void usbdrv_init_global_state() {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(STM32H745xx) || defined(STM32H743xx)
|
#if defined(USB_STM32H7)
|
||||||
#define TOCAL_VALUE (0x00)
|
#define TOCAL_VALUE (0x00)
|
||||||
#define TRDT_VALUE (0x05)
|
#define TRDT_VALUE (0x05)
|
||||||
#elif defined(STM32F407xx)
|
#elif defined(USB_STM32F4)
|
||||||
#define TOCAL_VALUE (0x07)
|
#define TOCAL_VALUE (0x07)
|
||||||
#define TRDT_VALUE (0x06)
|
#define TRDT_VALUE (0x06)
|
||||||
#endif
|
#endif
|
||||||
@ -146,7 +146,7 @@ void usbdrv_init_global_state() {
|
|||||||
|
|
||||||
// initialize USB peripheral
|
// initialize USB peripheral
|
||||||
void usbdrv_periph_init() {
|
void usbdrv_periph_init() {
|
||||||
#if defined(STM32H745xx) || defined(STM32H743xx)
|
#if defined(USB_STM32H7)
|
||||||
HAL_PWREx_EnableUSBVoltageDetector();
|
HAL_PWREx_EnableUSBVoltageDetector();
|
||||||
WAIT_FOR_nBIT(PWR->CR3, PWR_CR3_USB33RDY);
|
WAIT_FOR_nBIT(PWR->CR3, PWR_CR3_USB33RDY);
|
||||||
#endif
|
#endif
|
||||||
@ -159,7 +159,7 @@ void usbdrv_periph_init() {
|
|||||||
//__HAL_RCC_USB_OTG_FS_FORCE_RESET();
|
//__HAL_RCC_USB_OTG_FS_FORCE_RESET();
|
||||||
//__HAL_RCC_USB_OTG_FS_RELEASE_RESET();
|
//__HAL_RCC_USB_OTG_FS_RELEASE_RESET();
|
||||||
|
|
||||||
#if defined(STM32H745xx) || defined(STM32H743xx)
|
#if defined(USB_STM32H7)
|
||||||
SET_BIT(USBG->GUSBCFG, USB_OTG_GUSBCFG_PHYSEL); // select the internal FS PHY
|
SET_BIT(USBG->GUSBCFG, USB_OTG_GUSBCFG_PHYSEL); // select the internal FS PHY
|
||||||
|
|
||||||
SET_BIT(USBG->GRSTCTL, USB_OTG_GRSTCTL_CSRST); // reset USB core
|
SET_BIT(USBG->GRSTCTL, USB_OTG_GRSTCTL_CSRST); // reset USB core
|
||||||
@ -174,10 +174,10 @@ void usbdrv_periph_init() {
|
|||||||
WRITE_FIELD(USBG->GUSBCFG, USB_OTG_GUSBCFG_TOCAL, TOCAL_VALUE); // set TOCAL
|
WRITE_FIELD(USBG->GUSBCFG, USB_OTG_GUSBCFG_TOCAL, TOCAL_VALUE); // set TOCAL
|
||||||
SET_BIT(USBG->GUSBCFG, USB_OTG_GUSBCFG_FDMOD); // force Device mode
|
SET_BIT(USBG->GUSBCFG, USB_OTG_GUSBCFG_FDMOD); // force Device mode
|
||||||
|
|
||||||
#if defined(STM32H745xx) || defined(STM32H743xx)
|
#if defined(USB_STM32H7)
|
||||||
CLEAR_BIT(USBG->GCCFG, USB_OTG_GCCFG_VBDEN); // turn on VBUSSENSE
|
CLEAR_BIT(USBG->GCCFG, USB_OTG_GCCFG_VBDEN); // turn on VBUSSENSE
|
||||||
SET_BIT(USBG->GOTGCTL, USB_OTG_GOTGCTL_BVALOEN | USB_OTG_GOTGCTL_BVALOVAL); // force B-session
|
SET_BIT(USBG->GOTGCTL, USB_OTG_GOTGCTL_BVALOEN | USB_OTG_GOTGCTL_BVALOVAL); // force B-session
|
||||||
#elif defined(STM32F407xx)
|
#elif defined(USB_STM32F4)
|
||||||
SET_BIT(USBG->GCCFG, USB_OTG_GCCFG_NOVBUSSENS); // turn off VBUSSENSE
|
SET_BIT(USBG->GCCFG, USB_OTG_GCCFG_NOVBUSSENS); // turn off VBUSSENSE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -305,9 +305,9 @@ void usbdrv_fetch_endpoint_configuration(uint8_t config_index) {
|
|||||||
#define USB_RX_FIFO_SETUP_RESERVATION_DWORDS (10)
|
#define USB_RX_FIFO_SETUP_RESERVATION_DWORDS (10)
|
||||||
#define USB_MIN_GROSS_TX_FIFO_SIZE (2 * USB_MIN_EP_FIFO_SIZE)
|
#define USB_MIN_GROSS_TX_FIFO_SIZE (2 * USB_MIN_EP_FIFO_SIZE)
|
||||||
|
|
||||||
#ifdef STM32F407xx
|
#if defined(USB_STM32F4)
|
||||||
#define USB_MIN_GROSS_RX_FIFO_SIZE (2 * USB_MIN_EP_FIFO_SIZE + USB_RX_FIFO_SETUP_RESERVATION_DWORDS * 4)
|
#define USB_MIN_GROSS_RX_FIFO_SIZE (2 * USB_MIN_EP_FIFO_SIZE + USB_RX_FIFO_SETUP_RESERVATION_DWORDS * 4)
|
||||||
#elif defined(STM32H745xx) || defined(STM32H743xx)
|
#elif defined(USB_STM32H7)
|
||||||
#define USB_MIN_GROSS_RX_FIFO_SIZE (256)
|
#define USB_MIN_GROSS_RX_FIFO_SIZE (256)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user