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

📄 ftc_fotg2xx.h

📁 WiFi IP-Cam solution. FIC8120 platform VIA VT6656 USB Module driver source code.
💻 H
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (c) 2005 by Faraday * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License * for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software Foundation, *///*************************************************************************//****************************** 1.Normal Define ****************************//*************************************************************************#define TRUE			1#define FALSE			0#define MASK_F0			0xF0#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 mLowByte(u16)	((u8)(u16	 ))#define mHighByte(u16)	((u8)(u16 >> 8))//*************************************************************************//****************************** 2.Struct Define************************//*************************************************************************typedef struct FTC_OTGC_STS{   //Standard   struct otg_transceiver	otg;   spinlock_t		lock;   int			    got_irq;   //For FOTG2XX   int              A_HNP_to_Peripheral; //1=>When A-device change to Peripheral   //int            iTMP_Force_Speed;   u32              wCurrentInterruptMask;} FTC_OTGC_STS;/*-------------------------------------------------------------------------*///*************************************************************************//****************************** 3.Debug Info Define************************//*************************************************************************#define DEBUG#define VERBOSE//#define OPEN_CRITICAL_MESSAGE//Internal Option#define DBG_OTG_OFF 	0x00#define DBG_OTG_FUNC	0x01#define DBG_OTG_ERROR	0x02#define DBG_OTG_TRACE	0x04#define DBG_OTG_INFO	0x08#define USB_DBG_OTG_CONDITION 	(DBG_OTG_INFO)#define xprintk(dev,level,fmt,args...) printk(level "%s : " fmt , driver_name , ## args)#define wprintk(level,fmt,args...) printk(level "%s : " fmt , driver_name , ## args)#ifdef DEBUG#define DBG(dev,fmt,args...) xprintk(dev , KERN_DEBUG , fmt , ## args)#else#define DBG(dev,fmt,args...) do { } while (0)#endif /* DEBUG */#ifdef VERBOSE#define VDBG DBG#else#define VDBG(dev,fmt,args...) do { } while (0)#endif	/* VERBOSE */#define ERROR(dev,fmt,args...) xprintk(dev , KERN_ERR , fmt , ## args)#define WARN(dev,fmt,args...) xprintk(dev , KERN_WARNING , fmt , ## args)#define INFO(dev,fmt,args...) xprintk(dev , KERN_INFO , fmt , ## args)//For DBG_OTG_FUNC#if (USB_DBG_OTG_CONDITION & DBG_OTG_FUNC)#define DBG_OTG_FUNCC(fmt,args...) wprintk(KERN_INFO , fmt , ## args)#else#define DBG_OTG_FUNCC(fmt,args...)#endif//For DBG_OTG_TRACE#if (USB_DBG_OTG_CONDITION & DBG_OTG_TRACE)#define DBG_OTG_TRACEC(fmt,args...) wprintk(KERN_INFO , fmt , ## args)#else#define DBG_OTG_TRACEC(fmt,args...)#endif//For DBG_OTG_INFO#if (USB_DBG_OTG_CONDITION & DBG_OTG_INFO)#define DBG_OTG_INFOC(fmt,args...) wprintk(KERN_INFO , fmt , ## args)#else#define DBG_OTG_INFOC(fmt,args...)#endif/*-------------------------------------------------------------------------*///*************************************************************************//****************************** 4.Others Define************************//*************************************************************************#ifndef container_of#define	container_of	list_entry#endif#ifndef likely#define likely(x)	(x)#define unlikely(x)	(x)#endif//*************************************************************************//****************************** 5.HW Macro Define************************//*************************************************************************//### For AHB ##########################define AHB_BASE_ADDRESS	           (IO_ADDRESS(CPE_AHB_BASE))#define mdwAHBPort(bOffset)	           *((volatile u32 *) ( AHB_BASE_ADDRESS))//### For OTG ##########################define OTG_BASE_ADDRESS	           (IO_ADDRESS(CPE_FOTG200_BASE))#define mbFOTGPort(bOffset)	           *((volatile u8 *) ( OTG_BASE_ADDRESS |  (u32)bOffset))#define mwFOTGPort(bOffset)	           *((volatile u16 *) ( OTG_BASE_ADDRESS |  (u32)bOffset))#define mdwFOTGPort(bOffset)	       *((volatile u32 *) ( OTG_BASE_ADDRESS |  (u32)bOffset))//Offset:0x080(OTG Control/Status Register) => Suppose Word-Read & Word-Write//~B Function#define mdwOTGC_Control_B_BUS_REQ_Rd()		  (mdwFOTGPort(0x80)& BIT0)#define mdwOTGC_Control_B_BUS_REQ_Set()  	  (mdwFOTGPort(0x80) |=  BIT0)#define mdwOTGC_Control_B_BUS_REQ_Clr()  	  (mdwFOTGPort(0x80) &=  (~BIT0))#define mdwOTGC_Control_B_HNP_EN_Rd()		  (mdwFOTGPort(0x80)& BIT1)#define mdwOTGC_Control_B_HNP_EN_Set()		  (mdwFOTGPort(0x80) |=  BIT1)#define mdwOTGC_Control_B_HNP_EN_Clr()  	  (mdwFOTGPort(0x80) &=  (~BIT1))#define mdwOTGC_Control_B_DSCHG_VBUS_Rd()	  (mdwFOTGPort(0x80)& BIT2)#define mdwOTGC_Control_B_DSCHG_VBUS_Set()	  (mdwFOTGPort(0x80) |=  BIT2)#define mdwOTGC_Control_B_DSCHG_VBUS_Clr() 	  (mdwFOTGPort(0x80) &=  (~BIT2))

⌨️ 快捷键说明

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