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

📄 pe_usb_fifoepxcfg.c

📁 GM8120 linux driver.
💻 C
字号:
#include <stdarg.h>#include "Pe_usb.h"#include "Pe_usb_hs_pos.h"#include "Pe_usb_fs_pos.h"#include "FOTG200_peripheral.h"#include "Pe_my_usbtable.h"#if((OTG_AP_Satus == Bulk_AP) || (OTG_AP_Satus == Interrupt_AP))///////////////////////////////////////////////////////		vOTGFIFO_EPxCfg_HS(void)//		Description://			1. Configure the FIFO and EPx map//		input: none//		output: none/////////////////////////////////////////////////////void vOTGFIFO_EPxCfg_HS(void){	int i;	switch (u8OTGConfigValue)	{		#if (HS_CONFIGURATION_NUMBER >= 0X01)		// Configuration 0X01		case 0X01:			switch (u8OTGInterfaceValue)			{				#if (HS_C1_INTERFACE_NUMBER >= 0x01)				// Interface 0				case 0:					switch (u8OTGInterfaceAlternateSetting)					{						#if (HS_C1_I0_ALT_NUMBER >= 0X01)						// AlternateSetting 0						case 0:							#if (HS_C1_I0_A0_EP_NUMBER >= 0X01)							//EP0X01							mUsbEPMap(EP1, HS_C1_I0_A0_EP1_MAP);							mUsbFIFOMap(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_MAP);							mUsbFIFOConfig(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_CONFIG);														for(i = HS_C1_I0_A0_EP1_FIFO_START + 1 ;								i < HS_C1_I0_A0_EP1_FIFO_START + HS_C1_I0_A0_EP1_FIFO_NO ;							    i ++)							{								mUsbFIFOConfig(i, (HS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT7)) );							}														mUsbEPMxPtSz(EP1, HS_C1_I0_A0_EP1_DIRECTION, (HS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff) );							mUsbEPinHighBandSet(EP1 , HS_C1_I0_A0_EP1_DIRECTION , HS_C1_I0_A0_EP1_MAX_PACKET);							#endif							#if (HS_C1_I0_A0_EP_NUMBER >= 0X02)							//EP0X02							mUsbEPMap(EP2, HS_C1_I0_A0_EP2_MAP);														#if((OTG_AP_Satus == Bulk_AP) && (Bulk_Satus == Bulk_FIFO_SingleDir))							mUsbFIFOMap(HS_C1_I0_A0_EP2_FIFO_START, HS_C1_I0_A0_EP2_FIFO_MAP);							#endif														mUsbFIFOConfig(HS_C1_I0_A0_EP2_FIFO_START, HS_C1_I0_A0_EP2_FIFO_CONFIG);														for(i = HS_C1_I0_A0_EP2_FIFO_START + 1 ;								i < HS_C1_I0_A0_EP2_FIFO_START + HS_C1_I0_A0_EP2_FIFO_NO ;							    i ++)							{								mUsbFIFOConfig(i, (HS_C1_I0_A0_EP2_FIFO_CONFIG & (~BIT7)) );							}														mUsbEPMxPtSz(EP2, HS_C1_I0_A0_EP2_DIRECTION, (HS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff) );							mUsbEPinHighBandSet(EP2 , HS_C1_I0_A0_EP2_DIRECTION , HS_C1_I0_A0_EP2_MAX_PACKET);							#endif														#if (HS_C1_I0_A0_EP_NUMBER >= 0X03)							//EP0X03							mUsbEPMap(EP3, HS_C1_I0_A0_EP3_MAP);													mUsbFIFOMap(HS_C1_I0_A0_EP3_FIFO_START, HS_C1_I0_A0_EP3_FIFO_MAP);							mUsbFIFOConfig(HS_C1_I0_A0_EP3_FIFO_START, HS_C1_I0_A0_EP3_FIFO_CONFIG);														for(i = HS_C1_I0_A0_EP3_FIFO_START + 1 ;								i < HS_C1_I0_A0_EP3_FIFO_START + HS_C1_I0_A0_EP3_FIFO_NO ;							    i ++)							{								mUsbFIFOConfig(i, (HS_C1_I0_A0_EP3_FIFO_CONFIG & (~BIT7)) );							}														mUsbEPMxPtSz(EP3, HS_C1_I0_A0_EP3_DIRECTION, (HS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff) );							mUsbEPinHighBandSet(EP3, HS_C1_I0_A0_EP3_DIRECTION , HS_C1_I0_A0_EP3_MAX_PACKET);							#endif														#if (HS_C1_I0_A0_EP_NUMBER >= 0X04)							//EP0X04							mUsbEPMap(EP4, HS_C1_I0_A0_EP4_MAP);														mUsbFIFOMap(HS_C1_I0_A0_EP4_FIFO_START, HS_C1_I0_A0_EP4_FIFO_MAP);													mUsbFIFOConfig(HS_C1_I0_A0_EP4_FIFO_START, HS_C1_I0_A0_EP4_FIFO_CONFIG);														for(i = HS_C1_I0_A0_EP4_FIFO_START + 1 ;								i < HS_C1_I0_A0_EP4_FIFO_START + HS_C1_I0_A0_EP4_FIFO_NO ;							    i ++)							{								mUsbFIFOConfig(i, (HS_C1_I0_A0_EP4_FIFO_CONFIG & (~BIT7)) );							}														mUsbEPMxPtSz(EP4, HS_C1_I0_A0_EP4_DIRECTION, (HS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff) );							mUsbEPinHighBandSet(EP4 , HS_C1_I0_A0_EP4_DIRECTION , HS_C1_I0_A0_EP4_MAX_PACKET);							#endif							break;						#endif						default:							break;					}					break;				#endif				default:					break;			}			break;		#endif		default:			break;	}}void vOTGFIFO_EPxCfg_FS(void){	int i;	switch (u8OTGConfigValue)	{		#if (FS_CONFIGURATION_NUMBER >= 0X01)		// Configuration 0X01		case 0X01:			switch (u8OTGInterfaceValue)			{				#if (FS_C1_INTERFACE_NUMBER >= 0x01)				// Interface 0				case 0:					switch (u8OTGInterfaceAlternateSetting)					{						#if (FS_C1_I0_ALT_NUMBER >= 0X01)						// AlternateSetting 0						case 0:							#if (FS_C1_I0_A0_EP_NUMBER >= 0X01)							//EP0X01							mUsbEPMap(EP1, FS_C1_I0_A0_EP1_MAP);							mUsbFIFOMap(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_MAP);							mUsbFIFOConfig(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_CONFIG);														for(i = FS_C1_I0_A0_EP1_FIFO_START + 1 ;								i < FS_C1_I0_A0_EP1_FIFO_START + FS_C1_I0_A0_EP1_FIFO_NO ;							    i ++)							{								mUsbFIFOConfig(i, (FS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT7)) );							}														mUsbEPMxPtSz(EP1, FS_C1_I0_A0_EP1_DIRECTION, (FS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff));							mUsbEPinHighBandSet(EP1 , FS_C1_I0_A0_EP1_DIRECTION, FS_C1_I0_A0_EP1_MAX_PACKET);							#endif							#if (FS_C1_I0_A0_EP_NUMBER >= 0X02)							//EP0X02							mUsbEPMap(EP2, FS_C1_I0_A0_EP2_MAP);														#if((OTG_AP_Satus == Bulk_AP) && (Bulk_Satus == Bulk_FIFO_SingleDir))														mUsbFIFOMap(FS_C1_I0_A0_EP2_FIFO_START, FS_C1_I0_A0_EP2_FIFO_MAP);							#endif														mUsbFIFOConfig(FS_C1_I0_A0_EP2_FIFO_START, FS_C1_I0_A0_EP2_FIFO_CONFIG);														for(i = FS_C1_I0_A0_EP2_FIFO_START + 1 ;								i < FS_C1_I0_A0_EP2_FIFO_START + FS_C1_I0_A0_EP2_FIFO_NO ;							    i ++)							{								mUsbFIFOConfig(i, (FS_C1_I0_A0_EP2_FIFO_CONFIG & (~BIT7)) );							}														mUsbEPMxPtSz(EP2, FS_C1_I0_A0_EP2_DIRECTION, (FS_C1_I0_A0_EP2_MAX_PACKET & 0x7ff));							mUsbEPinHighBandSet(EP2 , FS_C1_I0_A0_EP2_DIRECTION, FS_C1_I0_A0_EP2_MAX_PACKET);							#endif							#if (FS_C1_I0_A0_EP_NUMBER >= 0X03)							//EP0X03							mUsbEPMap(EP3, FS_C1_I0_A0_EP3_MAP);							mUsbFIFOMap(FS_C1_I0_A0_EP3_FIFO_START, FS_C1_I0_A0_EP3_FIFO_MAP);							mUsbFIFOConfig(FS_C1_I0_A0_EP3_FIFO_START, FS_C1_I0_A0_EP3_FIFO_CONFIG);														for(i = FS_C1_I0_A0_EP3_FIFO_START + 1 ;								i < FS_C1_I0_A0_EP3_FIFO_START + FS_C1_I0_A0_EP3_FIFO_NO ;							    i ++)							{								mUsbFIFOConfig(i, (FS_C1_I0_A0_EP3_FIFO_CONFIG & (~BIT7)) );							}														mUsbEPMxPtSz(EP3, FS_C1_I0_A0_EP3_DIRECTION, (FS_C1_I0_A0_EP3_MAX_PACKET & 0x7ff));							mUsbEPinHighBandSet(EP3 , FS_C1_I0_A0_EP3_DIRECTION, FS_C1_I0_A0_EP3_MAX_PACKET);							#endif							#if (FS_C1_I0_A0_EP_NUMBER >= 0X04)							//EP0X01							mUsbEPMap(EP4, FS_C1_I0_A0_EP4_MAP);							mUsbFIFOMap(FS_C1_I0_A0_EP4_FIFO_START, FS_C1_I0_A0_EP4_FIFO_MAP);							mUsbFIFOConfig(FS_C1_I0_A0_EP4_FIFO_START, FS_C1_I0_A0_EP4_FIFO_CONFIG);														for(i = FS_C1_I0_A0_EP4_FIFO_START + 1 ;								i < FS_C1_I0_A0_EP4_FIFO_START + FS_C1_I0_A0_EP4_FIFO_NO ;							    i ++)							{								mUsbFIFOConfig(i, (FS_C1_I0_A0_EP4_FIFO_CONFIG & (~BIT7)) );							}														mUsbEPMxPtSz(EP4, FS_C1_I0_A0_EP4_DIRECTION, (FS_C1_I0_A0_EP4_MAX_PACKET & 0x7ff));							mUsbEPinHighBandSet(EP4 , FS_C1_I0_A0_EP4_DIRECTION, FS_C1_I0_A0_EP4_MAX_PACKET);							#endif							break;						#endif						default:							break;					}					break;				#endif				default:					break;			}			break;		#endif		default:			break;	}}#elif((OTG_AP_Satus == IsochronousIN_AP) || (OTG_AP_Satus == IsochronousOUT_AP))///////////////////////////////////////////////////////		vOTGFIFO_EPxCfg_HS(void)//		Description://			1. Configure the FIFO and EPx map//		input: none//		output: none/////////////////////////////////////////////////////void vOTGFIFO_EPxCfg_HS(void){	int i;	switch (u8OTGConfigValue)	{		#if (HS_CONFIGURATION_NUMBER >= 0X01)		// Configuration 0X01		case 0X01:			switch (u8OTGInterfaceValue)			{				#if (HS_C1_INTERFACE_NUMBER >= 0x01)				// Interface 0				case 0:					switch (u8OTGInterfaceAlternateSetting)					{						#if (HS_C1_I0_ALT_NUMBER >= 0X01)						// AlternateSetting 0						case 0:							#if (HS_C1_I0_A0_EP_NUMBER >= 0X01)							//EP0X01							mUsbEPMap(EP1, HS_C1_I0_A0_EP1_MAP);							mUsbFIFOMap(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_MAP);							mUsbFIFOConfig(HS_C1_I0_A0_EP1_FIFO_START, HS_C1_I0_A0_EP1_FIFO_CONFIG);														for(i = HS_C1_I0_A0_EP1_FIFO_START + 1 ;								i < HS_C1_I0_A0_EP1_FIFO_START + HS_C1_I0_A0_EP1_FIFO_NO ;							    i ++)							{								mUsbFIFOConfig(i, (HS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT7)) );							}														mUsbEPMxPtSz(EP1, HS_C1_I0_A0_EP1_DIRECTION, (HS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff) );							mUsbEPinHighBandSet(EP1 , HS_C1_I0_A0_EP1_DIRECTION , HS_C1_I0_A0_EP1_MAX_PACKET);							#endif							break;						#endif						default:							break;					}					break;				#endif				default:					break;			}			break;		#endif		default:			break;	}}void vOTGFIFO_EPxCfg_FS(void){	int i;	switch (u8OTGConfigValue)	{		#if (FS_CONFIGURATION_NUMBER >= 0X01)		// Configuration 0X01		case 0X01:			switch (u8OTGInterfaceValue)			{				#if (FS_C1_INTERFACE_NUMBER >= 0x01)				// Interface 0				case 0:					switch (u8OTGInterfaceAlternateSetting)					{						#if (FS_C1_I0_ALT_NUMBER >= 0X01)						// AlternateSetting 0						case 0:							#if (FS_C1_I0_A0_EP_NUMBER >= 0X01)							//EP0X01							mUsbEPMap(EP1, FS_C1_I0_A0_EP1_MAP);							mUsbFIFOMap(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_MAP);							mUsbFIFOConfig(FS_C1_I0_A0_EP1_FIFO_START, FS_C1_I0_A0_EP1_FIFO_CONFIG);														for(i = FS_C1_I0_A0_EP1_FIFO_START + 1 ;								i < FS_C1_I0_A0_EP1_FIFO_START + FS_C1_I0_A0_EP1_FIFO_NO ;							    i ++)							{								mUsbFIFOConfig(i, (FS_C1_I0_A0_EP1_FIFO_CONFIG & (~BIT7)) );							}														mUsbEPMxPtSz(EP1, FS_C1_I0_A0_EP1_DIRECTION, (FS_C1_I0_A0_EP1_MAX_PACKET & 0x7ff));							mUsbEPinHighBandSet(EP1 , FS_C1_I0_A0_EP1_DIRECTION, FS_C1_I0_A0_EP1_MAX_PACKET);							#endif							break;						#endif						default:							break;					}					break;				#endif				default:					break;			}			break;		#endif		default:			break;	}}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -