⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbd.h.svn-base

📁 usb drivers based on s3c2410
💻 SVN-BASE
字号:
#ifndef  USBD_CONFIG_H
#define  USBD_CONFIG_H

#include "config.h"

/*Power Management Register*/
#define DISABLE_SUSPEND          0x00   
#define ENABLE_SUSPEND           0x01
#define SUSPEND_MODE		         0x02
#define MCU_RESUME               0x04
#define USB_RESET		             0x08

/*MAXP Register*/
#define FIFO_SIZE_0              0x00  
#define FIFO_SIZE_8              0x01  
#define FIFO_SIZE_16             0x02  
#define FIFO_SIZE_32             0x04  
#define FIFO_SIZE_64             0x08  

/*EP0_CSR : Mapped to IN_CSR1_REG*/
#define EP0_OUT_PKT_READY        0x01  
#define EP0_IN_PKT_READY         0x02 
#define EP0_SENT_STALL           0x04         
#define EP0_DATA_END             0x08  
#define EP0_SETUP_END            0x10  
#define EP0_SEND_STALL           0x20  
#define EP0_SERVICED_OUT_PKT_RDY 0x40  
#define EP0_SERVICED_SETUP_END   0x80 

/*Clear the Bits of EP0_SETUP_END and EP0_OUT_PKT_READY*/
#define EP0_WR_BITS              0xc0 

/*EP_INT_REG*/ 
#define EP0_INT                	 0x01   
#define EP1_INT                  0x02   
#define EP2_INT                  0x04   
#define EP3_INT			             0x08   
#define EP4_INT			             0x10  

/*USB_INT_REG*/ 
#define SUSPEND_INT            	 0x01  
#define RESUME_INT               0x02  
#define RESET_INT                0x04  

/*IN_CSR1_REG*/
#define EPI_IN_PKT_READY         0x01  
#define EPI_UNDER_RUN		         0x04
#define EPI_FIFO_FLUSH		       0x08
#define EPI_SEND_STALL           0x10  
#define EPI_SENT_STALL           0x20  
#define EPI_CLR_DATA_TOGGLE      0x40	
#define EPI_WR_BITS              0x49 
					                       
/*IN_CSR2_REG*/
#define EPI_IN_DMA_INT_MASK	     0x10//(1<<4)
#define EPI_MODE_IN		           0x20//(1<<5)
#define EPI_MODE_OUT		         0x00//(0<<5)
#define EPI_ISO			             0x40//(1<<6)
#define EPI_BULK		             0x00//(0<<6)
#define EPI_AUTO_SET		         0x80//(1<<7)

/*OUT_CSR1_REG*/
#define EPO_OUT_PKT_READY        0x01  
#define EPO_OVER_RUN		         0x04  
#define EPO_DATA_ERROR		       0x08  
#define EPO_FIFO_FLUSH		       0x10
#define EPO_SEND_STALL           0x20  
#define EPO_SENT_STALL           0x40
#define EPO_CLR_DATA_TOGGLE      0x80	
#define EPO_WR_BITS              0xB0
					
/*OUT_CSR2_REG*/
#define EPO_OUT_DMA_INT_MASK	   0x20
#define EPO_ISO		 	             0x40
#define EPO_BULK	 	             0x00
#define EPO_AUTO_CLR		         0x80

/*USB DMA control register*/
#define UDMA_IN_RUN_OB		       0x80
#define UDMA_IGNORE_TTC		       0x80
#define UDMA_DEMAND_MODE	       0x08
#define UDMA_OUT_RUN_OB		       0x04
#define UDMA_OUT_DMA_RUN	       0x04
#define UDMA_IN_DMA_RUN		       0x02
#define UDMA_DMA_MODE_EN	       0x01

#define BULK_PKT_SIZE            0x20

void init_usb(void);
void ep0_handler(void);
void ep1_handler(void);
void ep3_handler(void);
void read_pkt_ep0(unsigned char *buf,int len);
void write_pkt_ep0(unsigned char *buf,int len);
void write_byte_ep0(unsigned char value);
void write_pkt_ep1(unsigned char *buf, int len);
void read_pkt_ep3(unsigned char *buf, int len);

#endif/*USBD_CONFIG_H*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -