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

📄 msotg.h

📁 MSTAR03的数码相框的代码
💻 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 + -