63 lines
2.6 KiB
C
63 lines
2.6 KiB
C
|
/*----------------------------------------------------------------------------
|
||
|
* U S B - K e r n e l
|
||
|
*----------------------------------------------------------------------------
|
||
|
* Name: usbhw.h
|
||
|
* Purpose: USB Hardware Layer Definitions
|
||
|
* Version: V1.20
|
||
|
*----------------------------------------------------------------------------
|
||
|
* This software is supplied "AS IS" without any warranties, express,
|
||
|
* implied or statutory, including but not limited to the implied
|
||
|
* warranties of fitness for purpose, satisfactory quality and
|
||
|
* noninfringement. Keil extends you a royalty-free right to reproduce
|
||
|
* and distribute executable files created using this software for use
|
||
|
* on NXP Semiconductors LPC microcontroller devices only. Nothing else
|
||
|
* gives you the right to use this software.
|
||
|
*
|
||
|
* Copyright (c) 2009 Keil - An ARM Company. All rights reserved.
|
||
|
*----------------------------------------------------------------------------
|
||
|
* History:
|
||
|
* V1.20 Added USB_ClearEPBuf
|
||
|
* V1.00 Initial Version
|
||
|
*----------------------------------------------------------------------------*/
|
||
|
|
||
|
#ifndef __USBHW_H__
|
||
|
#define __USBHW_H__
|
||
|
|
||
|
|
||
|
/* USB Error Codes */
|
||
|
#define USB_ERR_PID 0x0001 /* PID Error */
|
||
|
#define USB_ERR_UEPKT 0x0002 /* Unexpected Packet */
|
||
|
#define USB_ERR_DCRC 0x0004 /* Data CRC Error */
|
||
|
#define USB_ERR_TIMOUT 0x0008 /* Bus Time-out Error */
|
||
|
#define USB_ERR_EOP 0x0010 /* End of Packet Error */
|
||
|
#define USB_ERR_B_OVRN 0x0020 /* Buffer Overrun */
|
||
|
#define USB_ERR_BTSTF 0x0040 /* Bit Stuff Error */
|
||
|
#define USB_ERR_TGL 0x0080 /* Toggle Bit Error */
|
||
|
|
||
|
/* USB Hardware Functions */
|
||
|
extern void USBIOClkConfig (void);
|
||
|
extern void USB_Init (void);
|
||
|
extern void USB_Connect (uint32_t con);
|
||
|
extern void USB_Reset (void);
|
||
|
extern void USB_Suspend (void);
|
||
|
extern void USB_Resume (void);
|
||
|
extern void USB_WakeUp (void);
|
||
|
extern void USB_WakeUpCfg (uint32_t cfg);
|
||
|
extern void USB_SetAddress (uint32_t adr);
|
||
|
extern void USB_Configure (uint32_t cfg);
|
||
|
extern void USB_ConfigEP (USB_ENDPOINT_DESCRIPTOR * pEPD);
|
||
|
extern void USB_DirCtrlEP (uint32_t dir);
|
||
|
extern void USB_EnableEP (uint32_t EPNum);
|
||
|
extern void USB_DisableEP (uint32_t EPNum);
|
||
|
extern void USB_ResetEP (uint32_t EPNum);
|
||
|
extern void USB_SetStallEP (uint32_t EPNum);
|
||
|
extern void USB_ClrStallEP (uint32_t EPNum);
|
||
|
extern void USB_ClearEPBuf (uint32_t EPNum);
|
||
|
extern uint32_t USB_ReadEP (uint32_t EPNum, uint8_t * pData);
|
||
|
extern uint32_t USB_WriteEP (uint32_t EPNum, uint8_t * pData, uint32_t cnt);
|
||
|
extern uint32_t USB_GetFrame (void);
|
||
|
extern void USB_IRQHandler (void);
|
||
|
|
||
|
|
||
|
#endif /* __USBHW_H__ */
|