📄 msotg.h
字号:
#ifndef __MSOTG_H_
#define __MSOTG_H_
#define AB_IDLE 0x00
#define WAIT_VRISE 0x01
#define A_PERIPHERAL 0x21
#define A_WAIT_BCON 0x22
#define A_HOST 0x23
#define A_SUSPEND 0x24
#define B_PERIPHERAL 0x11
#define B_WAIT_ACON 0x12
#define B_HOST 0x13
#define B_SRP_INIT 0x14
/*
* OTG State timers, per OTG spec Chapter 5
* Unless noted otherwise, constants expressed in milliseconds
*/
#define TA_AIDL_BDIS 250 /* Min */
#define CID_UNKNOWN 2
#define CID_A_DEVICE 0
#define CID_B_DEVICE 1
#define LOW_SPEED 3
#define FULL_SPEED 1
#define HIGH_SPEED 2
#ifndef YES
#define YES 1
#define NO 0
#endif
#ifndef SUCCESS
#define SUCCESS 1
#define FAILURE -1
#endif
#ifndef NULL
#define NULL 0
#endif
#define AB_PERIPHERAL 0x1
#define AB_WAIT_CON 0x2
#define AB_HOST 0x3
#define USB_POWERED 1 /* CONNECT int in, Reset pending */
#define USB_DEFAULT 2 /* CONNECT in, Reset completed */
#define USB_ADDRESS 3 /* Above,+ peripheral SET_ADDRESS completed */
#define USB_CONFIGURED 4 /* Above,+ enumeration completed. OK for traffic*/
#define TM_PERIPHERAL_RESUME 10 /* MS for signalling RESUME */
#define TM_HOST_RESUME 30 /* ditto for host */
#define TS_SESSREQ 6 /* SRP, WAIT_A_BCON, WAIT_B_ACON */
#define TB_SRP_FAIL 6 /* from B_SRP_INIT to B_PERIPHERAL, 5 ~ 30 sec */
#define EP_EQ_TX(x) (!((x) & 0x01)) /* test for TX mode of endpoint */
#define EP_EQ_RX(x) ((x) & 0x01) /* test for RX mode of endpoint */
#define EP_EQ_ST(x) ((x) & 0x02) /* test for ST mode of endpoint */
#define EP_TX 0x00 /* set endpoint to TX only, no status */
#define EP_RX 0x01 /* set endpoint to RX only, no status */
#define EP_TXST 0x02 /* set status in TX direction */
#define EP_RXST 0x03 /* set status in RX direction */
#define EP_IDLE 0x02 /* peripheral only! 2nd bit set is idle */
/* INTRUSB, INTRUSBE */
#define M_INTR_VBUSERROR 0x80 /* only valid when A device */
#define M_INTR_SESSREQ 0x40 /* only valid when A device */
#define M_INTR_DISCONNECT 0x20
#define M_INTR_CONNECT 0x10 /* only valid in Host mode */
#define M_INTR_SOF 0x08
#define M_INTR_RESET 0x04
#define M_INTR_BABBLE 0x04
#define M_INTR_RESUME 0x02
#define M_INTR_SUSPEND 0x01 /* only valid in Peripheral mode */
#define b_hnp_enable 0x03
#define a_hnp_support 0x04
#define a_alt_hnp_support 0x05
#define AB_MODE(x) ((x) & 0xf) /* mask off A-B indicator */
#define DRCHOST(x) ((x) & M_DEVCTL_HM)
#define DRCPERIPHERAL(x) (!((x) & M_DEVCTL_HM))
#define DRC_HIGHSPEED(x) ((x) & M_POWER_HSMODE)
void usbParse_DRC_INTRUSB(__u16 intrusb);
void usbChange_OTG_State(__u8 toOTG);
void usbReset_All_EP_IO_Vars(void);
__u8 usbIsHOST(void);
__u8 usbIsPeripheral(void);
extern __u8 volatile usbSessRequest;
extern __u8 volatile usbSuspended;
extern __u8 volatile usbResuming;
extern __u8 volatile usbHNPEnabled;
extern __u8 volatile usbHNPSupport;
extern __u8 volatile usbSRPSupport;
extern __u8 volatile usbRemoteWakeup;
extern __u8 volatile usbSelfPower;
extern __u8 volatile usbEP0State;
extern __u8 volatile usbConfig;
extern __u8 volatile usbInterface;
extern __u8 volatile usbUSBState;
extern __u8 volatile usbcid;
extern __u8 volatile usbFaddr;
extern __u8 volatile usbRegDevCtl;
extern __u8 volatile usbSpeed;
extern __u8 volatile usbDescFoundOTG;
extern __s8 volatile usbCurOTGState;
extern __u8 volatile usbReqOTGState;
extern __u8 volatile usbConnectFlag;
extern __u8 volatile NotifyusbConnect;
extern __u8 volatile usbResetComplete;
extern __u8 volatile ProcessCount;
extern __u8 volatile DetCount;
extern __u8 volatile NotifyusbConnect2;
extern __u8 volatile HostMassmax_Lun;
extern __u8 volatile HostMassValid_Lun;
extern __u8 volatile Valid_lun_Mask;
extern __u8 volatile EPConfig;
extern __u8 volatile IntCheck; // for test
extern __u8 volatile pbGetImageFlag;
extern __u8 volatile DviceMassmax_Lun;
extern __u8 volatile usbMassRxDataReceived;
extern __u8 volatile usbMassCmdRevFlag;
extern __u8 volatile OtgDeviceType;
#endif /* __MSOTG_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -