www.pudn.com > S3C44B0X_USB.rar > D12Def.H
/******* D12 operate function *******/ /// dma parameter #define D12Dma0 0 #define D12Dma1 1 #define D12Dma2 2 #define D12Dma3 3 #define D12DmaEn 4 #define D12DmaWr 8 #define D12DmaRld 0x10 #define D12SofIntEn 0x20 #define D12Ep4dInt 0x40 #define D12Ep5dInt 0x80 /// mode parameter #define D12NoLazyClk 2 #define D12ClkRun 4 #define D12AllInt 8 #define D12SoftConnect 0x10 #define D12EpCfgMask 0x3f #define D12EpCfg0 0x00 #define D12EpCfg1 0x40 #define D12EpCfg2 0x80 #define D12EpCfg3 0xc0 #define D12Pll4M 11 #define D12Pll6M 7 #define D12Pll8M 5 #define D12Pll12M 3 #define D12Pll24M 1 #define D12Pll48M 0 /// interrupt bits #define D12Ep0Int 1 #define D12Ep1Int 2 #define D12Ep2Int 4 #define D12Ep3Int 8 #define D12Ep4Int 0x10 #define D12Ep5Int 0x20 #define D12BusRst 0x40 #define D12SuspChg 0x80 #define D12DmaEot 1 /// endpoint status #define D12EpStart 0 #define D12EpStall 1 /// void D12SetEpStat(U8 Ep,U8 Stat); void D12SetAddr(U8 Addr); void D12SetEp(U8 Val); void D12SetDma(U8 Dma); void D12SetMode(U8 Val1, U8 Val2); void D12SendResume(void); void D12AckEp(U8 Ep); #define D12SelEp(Ep) D12Cmd = Ep #define D12RdEpStat(Ep) D12Cmd = Ep|0x80 #define D12RdLastTrStat(Ep) D12Cmd = Ep|0x40 U32 D12RdChipId(void); U8 D12GetDma(void); U8 D12RdEp(U8 Ep, U8 buf[], U8 cnt); void D12WrEp(U8 Ep, U8 buf[],U8 cnt); U8 D12RdInt(void); /// #define D12Cmd *(volatile U8 *)(0x2000001) #define D12Dat *(volatile U8 *)(0x2000000) #define MyD12DmaCfg D12Ep4dInt #define MyD12EpCfgOff D12EpCfg0|D12AllInt|D12ClkRun|D12NoLazyClk #define MyD12EpCfgOn MyD12EpCfgOff|D12SoftConnect /***********************************************************/ U8 UsbInit(void); void D12Ep0IntProc(void); void D12Ep1IntProc(void); void D12Ep2IntProc(void); void D12Ep3IntProc(void); void D12Ep4IntProc(void); void D12Ep5IntProc(void); void D12BusRstProc(void); void D12SuspChgProc(void); #define UsbRdChipId() D12RdChipId() #define UsbQueryInt() D12RdInt() #define UsbIntProc(i) \ if(i&D12Ep0Int)\ D12Ep0IntProc();\ if(i&D12Ep1Int)\ D12Ep1IntProc();\ if(i&D12Ep2Int)\ D12Ep2IntProc();\ if(i&D12Ep3Int)\ D12Ep3IntProc();\ if(i&D12Ep4Int)\ D12Ep4IntProc();\ if(i&D12Ep5Int)\ D12Ep5IntProc();\ if(i&D12BusRst)\ D12BusRstProc();\ if(i&D12SuspChg)\ D12SuspChgProc();