OpenCores
URL https://opencores.org/ocsvn/pcie_ds_dma/pcie_ds_dma/trunk

Subversion Repositories pcie_ds_dma

[/] [pcie_ds_dma/] [trunk/] [soft/] [linux/] [driver/] [pexdrv/] [hardware.h] - Blame information for rev 36

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dsmv
 
2
#ifndef _HARDWARE_H_
3
#define _HARDWARE_H_
4
 
5
//-----------------------------------------------------------------------------
6
 
7 36 v.karak
#define INSYS_VENDOR_ID     0x4953
8 2 dsmv
#define AMBPEX8_DEVID           0x5503
9
#define AMBPEX5_DEVID           0x5507
10
 
11
//-----------------------------------------------------------------------------
12
 
13
#define MAX_PEXDEVICE_SUPPORT   4
14
 
15
//-----------------------------------------------------------------------------
16
struct pex_device;
17
//-----------------------------------------------------------------------------
18
 
19
int set_device_name(struct pex_device *brd, u16 dev_id, int index);
20
int InitializeBoard(struct pex_device *brd);
21
u32 ReadOperationReg(struct pex_device *brd, u32 RelativePort);
22
void WriteOperationReg(struct pex_device *brd, u32 RelativePort, u32 Value);
23
u16 ReadOperationWordReg(struct pex_device *brd, u32 RelativePort);
24
void WriteOperationWordReg(struct pex_device *brd, u32 RelativePort, u16 Value);
25
u32 ReadAmbReg(struct pex_device *brd, u32 AdmNumber, u32 RelativePort);
26
u32 ReadAmbMainReg(struct pex_device *brd, u32 RelativePort);
27
void WriteAmbReg(struct pex_device *brd, u32 AdmNumber, u32 RelativePort, u32 Value);
28
void WriteAmbMainReg(struct pex_device *brd, u32 RelativePort, u32 Value);
29
void ReadBufAmbReg(struct pex_device *brd, u32 AdmNumber, u32 RelativePort, u32* VirtualAddress, u32 DwordsCount);
30
void WriteBufAmbReg(struct pex_device *brd, u32 AdmNumber, u32 RelativePort, u32* VirtualAddress, u32 DwordsCount);
31
void WriteBufAmbMainReg(struct pex_device *brd, u32 RelativePort, u32* VirtualAddress, u32 DwordsCount);
32
void TimeoutTimerCallback(unsigned long arg );
33
void SetRelativeTimer ( struct timer_list *timer, int timeout, void *data );
34
void CancelTimer ( struct timer_list *timer );
35
int WaitCmdReady(struct pex_device *brd, u32 AdmNumber, u32 StatusAddress);
36
int WriteRegData(struct pex_device *brd, u32 AdmNumber, u32 TetrNumber, u32 RegNumber, u32 Value);
37
void ToPause(int time_out);
38
void ToTimeOut(int mctime_out);
39
int ReadRegData(struct pex_device *brd, u32 AdmNumber, u32 TetrNumber, u32 RegNumber, u32 *Value);
40
int SetDmaMode(struct pex_device *brd, u32 NumberOfChannel, u32 AdmNumber, u32 TetrNumber);
41
int SetDrqFlag(struct pex_device *brd, u32 AdmNumber, u32 TetrNumber, u32 DrqFlag);
42
int DmaEnable(struct pex_device *brd, u32 AdmNumber, u32 TetrNumber);
43
int DmaDisable(struct pex_device *brd, u32 AdmNumber, u32 TetrNumber);
44
int ResetFifo(struct pex_device *brd, u32 NumberOfChannel);
45
int Done(struct pex_device *brd, u32 NumberOfChannel);
46
int HwStartDmaTransfer(struct pex_device *brd, u32 NumberOfChannel);
47
int HwCompleteDmaTransfer(struct pex_device *brd, u32 NumberOfChannel);
48
 
49
//-----------------------------------------------------------------------------
50
 
51
int lock_pages( void *va, u32 size );
52
int unlock_pages( void *va, u32 size );
53
 
54
//-----------------------------------------------------------------------------
55
 
56
#endif //_HARDWARE_H_

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.