flatUSB/driver/stm32/usb_common_defs.h

33 lines
1.1 KiB
C

#ifndef CORE_USB_USB_COMMON_DEFS
#define CORE_USB_USB_COMMON_DEFS
#include <flatUSB_config.h>
// Select appropriate headers
#if defined(STM32H745xx) || defined(STM32H743xx) || defined(STM32H723xx)
#include <stm32h7xx.h>
#include <stm32h7xx_hal.h>
#define USB_STM32H7
// ------------
#elif defined(STM32F407xx) || defined(STM32F401xC)
#include <stm32f4xx.h>
#include <stm32f4xx_hal.h>
#define USB_STM32F4
#endif
#define USB_LINESPEED_FULL_SPEED (0b11)
#define USB_LINESPEED_FULL_SPEED_ULPI (0b01)
#define USB_LINESPEED_HIGH_SPEED_ULPI (0b00)
#define USBD ((USB_OTG_DeviceTypeDef *) (((uint32_t)(USBG)) + ((uint32_t)(USB_OTG_DEVICE_BASE))))
#define USBINEP ((USB_OTG_INEndpointTypeDef *) (((uint32_t)(USBG)) + ((uint32_t)(USB_OTG_IN_ENDPOINT_BASE))))
#define USBOUTEP ((USB_OTG_OUTEndpointTypeDef *) (((uint32_t)(USBG)) + ((uint32_t)(USB_OTG_OUT_ENDPOINT_BASE))))
#define USBFIFO(ep) ((uint32_t *)(((uint32_t)(USBG)) + USB_OTG_FIFO_BASE + (USB_OTG_FIFO_SIZE) * (ep)))
#define USBPCGCCTL ((uint32_t *)(((uint32_t)(USBG)) + USB_OTG_PCGCCTL_BASE))
#endif /* CORE_USB_USB_COMMON_DEFS */