📄 ha_usbirq.h
字号:
/*
********************************************************************************************************
Module Name:
USBIRQ.H
Description:
This is a header file for usb interrupt services which are not yet
a standard system header file.
Revision History:
Version DATE Author Comments
1.0 2003.7.6 lmq initial creation
*********************************************************************************************************
*/
//**********************************************************************************************************
//I N C L U D E S
//**********************************************************************************************************
#include "HA_TypeDef.h"
//**********************************************************************************************************
// D E F I N E S
//**********************************************************************************************************
#ifndef GFD_USB
#define GFD_USB
//
// ep0out_setup_bmRequestType Register
//
#define descty 0x1f
#define reqty 0x60
#define dir 0x80
/* the bit of success on write and read*/
#define write_success 0x80000000
#define read_success 0x40000000
/* The flag of type about irq */
#define irq_none 0x00
#define irq_setup 0x80
#define irq_in 0x40
#define irq_out 0x20
#define irq_ping 0x10
#define irq_error 0x08
#define irq_ack 0x04
#define irq_stat_ov 0x02
#define irq_ctrl_err 0x01
/* DMA register */
#define DMACbase 0x0220000
#define DMACIntTCClear (DMACbase+0x1060) //Write
#define DMACIntErrClr (DMACbase+0x1090) //Write
#define DMACC5SrcAddr (DMACbase+0x1500) //DMA channel 5 registers; R/W
#define DMACC5DestAddr (DMACbase+0x1504)
#define DMACC5Control (DMACbase+0x1508)
#define DMACC5Configuration (DMACbase+0x150c)
/* Identify the vendor and product */
#define gfd_vendor_id 0x04CC //0x6680
#define gfd_product_id 0x1A62 // 0x0100
#define gfd_product_string { 60,3, \
'1',0, '3',0, '6',0, '2',0, '-',0, 'O',0, 'T',0, 'G',0, ' ',0, \
'M',0, 'A',0, 'S',0, 'S',0, ' ',0, \
'S',0, 't',0, 'o',0, 'r',0, 'a',0, 'g',0, 'e',0, ' ',0, \
'P',0, 'C',0, 'I',0, \
' ',0, 'K',0, 'i',0, 't',0 }
//
//app_intr reg bit
//
#define setup 0x01
#define in 0x02
#define out 0x04
#define ping 0x08
#define traerr 0x10
#define ack 0x20
#define stcov 0x40
#define ctraerr 0x80
#define reset 0x20
#define suspend 0x10
//
//ep_info reg bit
//
#define ep0out 0x00
#define ep0in 0x01
#define ep1out 0x02
#define ep1in 0x03
#define ep2out 0x04
#define ep2in 0x05
//
// T H E R E G I S T E R O F U S B D E V I C E
//
#define BASE_USBDEVICE 0x4000a000 //BASE ADDRESS OF usb device
#define USB_INTR (BASE_USBDEVICE+0X000) // ;int register
#define USB_INTRMASK (BASE_USBDEVICE+0X004) // ;imask register
#define USB_INTRCTRL (BASE_USBDEVICE+0X008) // ;control register
#define USB_EPINFO (BASE_USBDEVICE+0X00c) // ;information register
#define USB_BCONFIGURATIONVALUE (BASE_USBDEVICE+0X010) // ;configuration of value register
#define USB_BMATTRIBUTES (BASE_USBDEVICE+0X014) // ;configuration of bmattr register
#define USB_DEVSPEED (BASE_USBDEVICE+0X018) // ;record status register
#define USB_FRAMENUMBER (BASE_USBDEVICE+0X01C) // ;record status register
#define USB_EPTRANSACTIONS0 (BASE_USBDEVICE+0X020) // ;record status register
#define USB_EPTRANSACTIONS1 (BASE_USBDEVICE+0X024) // ;record status register
#define USB_APPIFUPDATE (BASE_USBDEVICE+0X028) // ;record status register
#define USB_CFGINTERFACE0 (BASE_USBDEVICE+0X02C) // ;cfg_interface register
#define USB_CFGINTERFACE1 (BASE_USBDEVICE+0X030) // ;cfg_interface register
#define USB_CFGINTERFACE2 (BASE_USBDEVICE+0X034) // ;cfg_interface register
#define USB_CFGINTERFACE3 (BASE_USBDEVICE+0X038) // ;cfg_interface register
#define USB_CFGINTERFACE4 (BASE_USBDEVICE+0X03c) // ;cfg_interface register
#define USB_CFGINTERFACE5 (BASE_USBDEVICE+0X040) // ;cfg_interface register
#define USB_CFGINTERFACE6 (BASE_USBDEVICE+0X044) // ;cfg_interface register
#define USB_CFGINTERFACE7 (BASE_USBDEVICE+0X048) // ;cfg_interface register
#define USB_CFGINTERFACE8 (BASE_USBDEVICE+0X04c) // ;cfg_interface register
#define USB_CFGINTERFACE9 (BASE_USBDEVICE+0X050) // ;cfg_interface register
#define USB_CFGINTERFACE10 (BASE_USBDEVICE+0X054) // ;cfg_interface register
#define USB_CFGINTERFACE11 (BASE_USBDEVICE+0X058) // ;cfg_interface register
#define USB_CFGINTERFACE12 (BASE_USBDEVICE+0X05c) // ;cfg_interface register
#define USB_CFGINTERFACE13 (BASE_USBDEVICE+0X060) // ;cfg_interface register
#define USB_CFGINTERFACE14 (BASE_USBDEVICE+0X064) // ;cfg_interface register
#define USB_CFGINTERFACE15 (BASE_USBDEVICE+0X068) // ;cfg_interface register
#define USB_CFGINTERFACE16 (BASE_USBDEVICE+0X06c) // ;cfg_interface register
#define USB_CFGINTERFACE17 (BASE_USBDEVICE+0X070) // ;cfg_interface register
#define USB_CFGINTERFACE18 (BASE_USBDEVICE+0X074) // ;cfg_interface register
#define USB_CFGINTERFACE19 (BASE_USBDEVICE+0X078) // ;cfg_interface register
#define USB_CFGINTERFACE20 (BASE_USBDEVICE+0X07c) // ;cfg_interface register
#define USB_CFGINTERFACE21 (BASE_USBDEVICE+0X080) // ;cfg_interface register
#define USB_CFGINTERFACE22 (BASE_USBDEVICE+0X084) // ;cfg_interface register
#define USB_CFGINTERFACE23 (BASE_USBDEVICE+0X088) // ;cfg_interface register
#define USB_CFGINTERFACE24 (BASE_USBDEVICE+0X08c) // ;cfg_interface register
#define USB_CFGINTERFACE25 (BASE_USBDEVICE+0X090) // ;cfg_interface register
#define USB_CFGINTERFACE26 (BASE_USBDEVICE+0X094) // ;cfg_interface register
#define USB_CFGINTERFACE27 (BASE_USBDEVICE+0X098) // ;cfg_interface register
#define USB_CFGINTERFACE28 (BASE_USBDEVICE+0X09c) // ;cfg_interface register
#define USB_CFGINTERFACE29 (BASE_USBDEVICE+0X0A0) // ;cfg_interface register
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -