forked from Archive/PX4-Autopilot
A little STM32 logic in the PIC32 USB driver
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4235 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
parent
617a772aff
commit
0acfb62c65
|
@ -389,8 +389,8 @@ static inline uint16_t
|
|||
stm32_geteptxstatus(uint8_t epno);
|
||||
static inline uint16_t
|
||||
stm32_geteprxstatus(uint8_t epno);
|
||||
static uint16_t stm32_eptxstalled(uint8_t epno);
|
||||
static uint16_t stm32_eprxstalled(uint8_t epno);
|
||||
static bool stm32_eptxstalled(uint8_t epno);
|
||||
static bool stm32_eprxstalled(uint8_t epno);
|
||||
static void stm32_setimask(struct stm32_usbdev_s *priv, uint16_t setbits,
|
||||
uint16_t clrbits);
|
||||
|
||||
|
@ -595,7 +595,7 @@ static void stm32_putreg(uint16_t val, uint32_t addr)
|
|||
|
||||
/* Write the value */
|
||||
|
||||
putreg32(val, addr);
|
||||
putreg16(val, addr);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -983,7 +983,7 @@ static void stm32_seteprxstatus(uint8_t epno, uint16_t state)
|
|||
* Name: stm32_eptxstalled
|
||||
****************************************************************************/
|
||||
|
||||
static inline uint16_t stm32_eptxstalled(uint8_t epno)
|
||||
static inline bool stm32_eptxstalled(uint8_t epno)
|
||||
{
|
||||
return (stm32_geteptxstatus(epno) == USB_EPR_STATTX_STALL);
|
||||
}
|
||||
|
@ -992,7 +992,7 @@ static inline uint16_t stm32_eptxstalled(uint8_t epno)
|
|||
* Name: stm32_eprxstalled
|
||||
****************************************************************************/
|
||||
|
||||
static inline uint16_t stm32_eprxstalled(uint8_t epno)
|
||||
static inline bool stm32_eprxstalled(uint8_t epno)
|
||||
{
|
||||
return (stm32_geteprxstatus(epno) == USB_EPR_STATRX_STALL);
|
||||
}
|
||||
|
|
|
@ -551,32 +551,33 @@ EXTERN void pic32mx_dmadump(DMA_HANDLE handle, const struct pic32mx_dmaregs_s *r
|
|||
#endif
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
/****************************************************************************
|
||||
* Name: pic32mx_usbpullup
|
||||
*
|
||||
* Description:
|
||||
* If USB is supported and the board supports a pullup via GPIO (for USB software
|
||||
* connect and disconnect), then the board software must provide stm32_pullup.
|
||||
* See include/nuttx/usb/usbdev.h for additional description of this method.
|
||||
* Alternatively, if no pull-up GPIO the following EXTERN can be redefined to be
|
||||
* NULL.
|
||||
* If USB is supported and the board supports a pullup via GPIO (for USB
|
||||
* software connect and disconnect), then the board software must provide
|
||||
* stm32_pullup. See include/nuttx/usb/usbdev.h for additional description
|
||||
* of this method. Alternatively, if no pull-up GPIO the following EXTERN
|
||||
* can be redefined to be NULL.
|
||||
*
|
||||
************************************************************************************/
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_PIC32MX_USBDEV
|
||||
struct usbdev_s;
|
||||
EXTERN int pic32mx_usbpullup(FAR struct usbdev_s *dev, bool enable);
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
/****************************************************************************
|
||||
* Name: pic32mx_usbsuspend
|
||||
*
|
||||
* Description:
|
||||
* Board logic must provide the stm32_usbsuspend logic if the USBDEV driver is
|
||||
* used. This function is called whenever the USB enters or leaves suspend mode.
|
||||
* This is an opportunity for the board logic to shutdown clocks, power, etc.
|
||||
* while the USB is suspended.
|
||||
* Board logic must provide the stm32_usbsuspend logic if the USBDEV driver
|
||||
* is used. This function is called whenever the USB enters or leaves
|
||||
* suspend mode. This is an opportunity for the board logic to shutdown
|
||||
* clocks, power, etc. while the USB is suspended.
|
||||
*
|
||||
************************************************************************************/
|
||||
****************************************************************************/
|
||||
|
||||
#ifdef CONFIG_PIC32MX_USBDEV
|
||||
EXTERN void pic32mx_usbsuspend(FAR struct usbdev_s *dev, bool resume);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -209,6 +209,12 @@
|
|||
#define USB_STAT_ENDPT_MASK (15 << USB_STAT_ENDPT_SHIFT)
|
||||
# define USB_STAT_ENDPT(n) ((n) << USB_STAT_ENDPT_SHIFT) /* Endpoint n, n=0..15 */
|
||||
|
||||
#define USB_STAT_PPBI_ODD USB_STAT_PPBI /* The last transaction was to the ODD BD bank */
|
||||
#define USB_STAT_PPBI_EVEN 0 /* The last transaction was to the EVEN BD bank */
|
||||
|
||||
#define USB_STAT_DIR_IN USB_STAT_DIR /* Last transaction was a transmit transfer (TX) */
|
||||
#define USB_STAT_DIR_OUT 0 /* Last transaction was a receive transfer (RX) */
|
||||
|
||||
/* USB Module Control Register */
|
||||
|
||||
#define USB_CON_USBEN (1 << 0) /* Bit 0: USB Module Enable */
|
||||
|
|
|
@ -47,6 +47,11 @@
|
|||
/************************************************************************************
|
||||
* Preprocessor Definitions
|
||||
************************************************************************************/
|
||||
/* USB Tokens (See chapter 8 in the USB specification) */
|
||||
|
||||
#define USB_SETUP_TOKEN 0x0d
|
||||
#define USB_OUT_TOKEN 0x01
|
||||
#define USB_IN_TOKEN 0x09
|
||||
|
||||
/* All 16-bit values must be little-endian */
|
||||
|
||||
|
@ -209,6 +214,14 @@
|
|||
# define USB_EP_ATTR_USAGE_IMPLICIT (2 << USB_EP_ATTR_USAGE_SHIFT)
|
||||
#define USB_EP_ATTR_MAX_ADJUSTABLE (1 << 7)
|
||||
|
||||
/* OTG Definitions */
|
||||
|
||||
/* OTG SET FEATURE Constants */
|
||||
|
||||
#define USBOTG_FEATURE_B_HNP_ENABLE 3 /* Enable B device to perform HNP */
|
||||
#define USBOTG_FEATURE_A_HNP_SUPPORT 4 /* A device supports HNP */
|
||||
#define USBOTG_FEATURE_A_ALT_HNP_SUPPORT 5 /* Another port on the A device supports HNP */
|
||||
|
||||
/************************************************************************************
|
||||
* Public Types
|
||||
************************************************************************************/
|
||||
|
|
Loading…
Reference in New Issue