📄 usbotg_internal.h
字号:
/********** Macro definition for SW level**********************************/
//#define PRINT
//#define Tahiti
//#define FPGA
//#define NOLM
//#define UartTest //Uart test only (5 polling times)
//#define UsbTest //USB test (100000 polling times + I2C Address + SCL clock change same as host model)
//#define Production //Production (100000 polling times) with I2C setting same as reality
#define TIMEOUT_VALUE 100000
#ifdef UartTest
#define Tahiti
#define TIMEOUT_VALUE 5
#endif
#ifdef UsbTest
#define Tahiti
#define TIMEOUT_VALUE 100000
#endif
#ifdef Production
#define Tahiti
#define TIMEOUT_VALUE 100000
#endif
#ifdef FPGA
#define UARTonly
#define NewSW
#define TIMEOUT_VALUE 100000
#endif
//#define PACKET_SIZE 32
#define BIR_115200 1151
#define BIR_57600 575
#define ErrorFree 0x0
// Command Packet Format: Header(2)+Address(4)+Format(1)+ByteCount(4)+Data(4)
#define ReadHeader 0x0101
#define WriteHeader 0x0202
#define PCHeader 0x0303
#define WriteFile 0x0404
#define ErrorHeader 0x0505
#define CSFHeader 0x0606
#define HWConfigHeader 0x0707
#define ExecuteHeader 0x0808
#define ProductionPart 0x12343412
#define DevelopmentPart 0x56787856
#ifdef Tahiti
#define NFCstart 0xDF003000
#define NFCend 0xDF003E1C
#define WEIMstart 0xDF001000
#define WEIMend 0xDF001030
#define MemoryStart 0xC0000000
#define MemoryEnd 0xD3FFFFFF
#define PLLstart 0x10027000
#define PLLend 0x10027020
#define SDRAMCstart 0xDF000000
#define SDRAMCend 0xDF001018
#define SysCstart 0x10027804
#define SysCend 0x10027850
#endif
#ifdef FPGA
#define NFCstart 0x80000000
#define NFCend 0x81000000
#define WEIMstart 0x81000000
#define WEIMend 0x82000000
#define MemoryStart 0x82000000
#define MemoryEnd 0x88000000
#define PLLstart 0x83000000
#define PLLend 0x84000000
#define SDRAMCstart 0x83100000
#define SDRAMCend 0x83101018
#define SysCstart 0x83027804
#define SysCend 0x83027850
#endif
/*=====OTG=====*/
#define BIT0 0x00000001
#define BIT1 0x00000002
#define BIT2 0x00000004
#define BIT3 0x00000008
#define BIT4 0x00000010
#define BIT5 0x00000020
#define BIT6 0x00000040
#define BIT7 0x00000080
#define BIT8 0x00000100
#define BIT9 0x00000200
#define BIT10 0x00000400
#define BIT11 0x00000800
#define BIT12 0x00001000
#define BIT13 0x00002000
#define BIT14 0x00004000
#define BIT15 0x00008000
#define BIT16 0x00010000
#define BIT17 0x00020000
#define BIT18 0x00040000
#define BIT19 0x00080000
#define BIT20 0x00100000
#define BIT21 0x00200000
#define BIT22 0x00400000
#define BIT23 0x00800000
#define BIT24 0x01000000
#define BIT25 0x02000000
#define BIT26 0x04000000
#define BIT27 0x08000000
#define BIT28 0x10000000
#define BIT29 0x20000000
#define BIT30 0x40000000
#define BIT31 0x80000000
#define ENABLE 0x1
#define DISABLE 0x0
#define DELAY_VALUE 0x10000
#define EP_OUT_DIR 0
#define EP_IN_DIR 1
#define EP_NO_STALL 0
#define EP_STALL 1
#define EP_NO_SETUP 0
#define EP_SETUP 1
#define EP0OUT BIT0
#define EP0IN BIT1
#define EP1OUT BIT2
#define EP1IN BIT3
#define EP2OUT BIT4
#define EP2IN BIT5
#define EP3OUT BIT6
#define EP3IN BIT7
#define EP4OUT BIT8
#define EP4IN BIT9
#define EP5OUT BIT10
#define EP5IN BIT11
#define EP6OUT BIT12
#define EP6IN BIT13
#define EP7OUT BIT14
#define EP7IN BIT15
#define EP8OUT BIT16
#define EP8IN BIT17
#define EP9OUT BIT18
#define EP9IN BIT19
#define EP10OUT BIT20
#define EP10IN BIT21
#define EP11OUT BIT22
#define EP11IN BIT23
#define EP12OUT BIT24
#define EP12IN BIT25
#define EP13OUT BIT26
#define EP13IN BIT27
#define EP14OUT BIT28
#define EP14IN BIT29
#define EP15OUT BIT30
#define EP15IN BIT31
#define EP0 0x0
#define EP1 0x1
#define EP2 0x2
/*====i2c defines==== */
#ifdef UsbTest
#define I2C_DEV_ADDR 0x2E
#else
#define I2C_DEV_ADDR 0x2D
#endif
#define I2C_XCVR_LOWADR 0x02
/*#define I2C_TEST_SCLK_SCL 0x000c0000 --- as defined by TDI*/
#ifdef UsbTest
#define I2C_TEST_SCLK_SCL 0x0C //for simuation 2000Kbps
#else
#define I2C_TEST_SCLK_SCL 0xF0 //configure as 100kHz /* defined for own purposes, due to byte access */
#endif
#define I2C_TEST_SINGLE_WRITE 0x0
#define I2C_TEST_DOUBLE_WRITE 0x1
#define I2C_TEST_BLOCK_WRITE 0x2
#define I2C_TEST_RANDOM_WRITE 0x3
/********** End of Macro definition for SW level**********************************/
/***************** Type declaration **************************/
/* Typedefs for integer types */
typedef unsigned char U8; /* unsigned 8 bit data */
typedef unsigned short U16; /* unsigned 16 bit data */
typedef unsigned int U32; /* unsigned 32 bit data */
typedef char S8; /* signed 8 bit data */
typedef short S16; /* signed 16 bit data */
typedef int S32; /* signed 32 bit data */
typedef U8 * P_U8; /* unsigned 8 bit data */
typedef volatile U8 * VP_U8;
typedef U16 * P_U16; /* unsigned 16 bit data */
typedef volatile U16 * VP_U16;
typedef U32 * P_U32; /* unsigned 32 bit data */
typedef volatile U32 * VP_U32; /* volatile unsigned 32 bit data */
typedef S8 * P_S8; /* signed 8 bit data */
typedef S16 * P_S16; /* signed 16 bit data */
typedef S32 * P_S32; /* signed 32 bit data */
typedef U16 TEXT; /* 16-bit text data */
typedef P_U16 P_TEXT; /* 16-bit text data */
typedef U8 BOOL; /* Boolean, TRUE/FALSE */
typedef void VOID; /* void */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -