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

📄 usbotg_internal.h

📁 mx21的NAND Flash Bootloader源代码
💻 H
📖 第 1 页 / 共 4 页
字号:
/********** 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 + -