Main Page | Modules | Namespace List | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

ADI_ETHER_BF537.c File Reference

#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <services/services.h>
#include <services/adi_int.h>
#include <drivers/adi_dev.h>
#include <lwip/ADI_ETHER_BF537.h>
#include <cdefbf537.h>
#include <time.h>

Defines

#define MAX_RCVE_FRAME   1560
#define CHECK_QUEUES   0
#define NO_PHY_REGS   0x20
#define PHYREG_MODECTL   0x0000
#define PHYREG_MODESTAT   0x0001
#define PHYREG_PHYID1   0x0002
#define PHYREG_PHYID2   0x0003
#define PHYREG_ANAR   0x0004
#define PHYREG_ANLPAR   0x0005
#define PHYREG_ANER   0x0006
#define PHYREG_NSR   0x0010
#define PHYREG_LBREMR   0x0011
#define PHYREG_REC   0x0012
#define PHYREG_10CFG   0x0013
#define PHYREG_PHY1_1   0x0014
#define PHYREG_PHY1_2   0x0015
#define PHYREG_PHY2   0x0016
#define PHYREG_TW_1   0x0017
#define PHYREG_TW_2   0x0018
#define PHYREG_TEST   0x0019
#define EMAC2_STAOP_RD   ( 0<< 1 )
#define EMAC2_STAOP_WR   ( 1<< 1 )
#define FLUSH(P)   asm volatile("SSYNC;FLUSH[%0++];SSYNC;":"+p"(P));
#define FLUSHINV(P)   asm volatile("SSYNC;FLUSHINV[%0++];SSYNC;":"+p"(P));
#define SIMPLEFLUSHINV(P)   asm volatile("SSYNC;FLUSHINV[%0++];SSYNC;"::"#p"(P));
#define CHECK_RES   res
#define CheckBuffers()   0
#define CheckQueues(q)
#define breakpoint(p)

Typedefs

typedef dma_descriptor DMA_DESCRIPTOR
typedef DMA_REGISTERS DMA_REGISTERS
typedef status_area STATUS_AREA
typedef buffer_info BUFFER_INFO
typedef frame_info FRAME_INFO
typedef frame_queue FRAME_QUEUE
typedef adi_ether_bf537_data ADI_ETHER_BF537_DATA
typedef buffer XBUFFER

Functions

static void SetupPinMux (void)
static void ExitCriticalRegion (void *xit)
static void * EnterCriticalRegion (void *xit)
static void FlushArea (void *start, void *nd)
static void FlushInvArea (void *start, void *nd)
static int GetTcpSeqNo (ADI_ETHER_BUFFER *pBuffer)
static DumpTraceBuffer (void)
static u32 adi_pdd_Open (ADI_DEV_MANAGER_HANDLE ManagerHandle, u32 DeviceNumber, ADI_DEV_DEVICE_HANDLE DeviceHandle, ADI_DEV_PDD_HANDLE *pPDDHandle, ADI_DEV_DIRECTION Direction, void *pEnterCriticalArg, ADI_DMA_MANAGER_HANDLE DMAHandle, ADI_DCB_HANDLE DCBHandle, ADI_DCB_CALLBACK_FN DMCallback)
static u32 adi_pdd_Close (ADI_DEV_PDD_HANDLE PDDHandle)
static u32 adi_pdd_Read (ADI_DEV_PDD_HANDLE PDDHandle, ADI_DEV_BUFFER_TYPE BufferType, ADI_DEV_BUFFER *pBuffer)
static u32 adi_pdd_Write (ADI_DEV_PDD_HANDLE PDDHandle, ADI_DEV_BUFFER_TYPE BufferType, ADI_DEV_BUFFER *pBuffer)
static u32 adi_pdd_Control (ADI_DEV_PDD_HANDLE PDDHandle, u32 Command, void *pArg)
static ADI_INT_HANDLER (DmaErrorInterruptHandler)
static ADI_INT_HANDLER (EtherInterruptHandler)
static ADI_INT_HANDLER (RxInterruptHandler)
static ADI_INT_HANDLER (TxInterruptHandler)
static void QueueFrames (ADI_ETHER_BF537_DATA *dev, FRAME_QUEUE *q)
void ADI_ETHER_BF537_CheckBuffers ()
static void PollMdcDone (void)
static u16 RdPHYReg (u16 PHYAddr, u16 RegAddr)
static void RawWrPHYReg (u16 PHYAddr, u16 RegAddr, u32 Data)
static void WrPHYReg (u16 PHYAddr, u16 RegAddr, u32 Data)
static SetPhy (ADI_ETHER_BF537_DATA *dev)
static void DumpQueue (char *str1, char *str2, ADI_ETHER_BUFFER *buf)
static void DumpDesc (char *str, FRAME_QUEUE *q)
static void GetPhyRegs (u16 addr, u16 *regs)
static void QueueNewFrames (ADI_ETHER_BF537_DATA *dev, FRAME_QUEUE *q, ADI_ETHER_BUFFER *bfs)
static void SetupMacAddr (unsigned char *mac)
static void GetMacAddr (unsigned char *mac)
static void UpdateStatistics (u64 *stats)
static int StartMac (ADI_ETHER_BF537_DATA *dev)
static void DmaError (FRAME_QUEUE *q)
static AppendPending (FRAME_QUEUE *q, ADI_ETHER_BUFFER *lstact)
static ADI_INT_HANDLER_RESULT ProcessCompletion (ADI_ETHER_BF537_DATA *dev, FRAME_QUEUE *q)

Variables

static ADI_ETHER_BF537_DATA EtherDev
static int NoTxInts = 0
static int NoRxInts = 0
static int NoTxPosts = 0
static int NoRxPosts = 0
static int NoTxStarts
static int NoRxStarts
static int FailedPosts
static int TxErr
ADI_DEV_PDD_ENTRY_POINT ADI_ETHER_BF537_Entrypoint
XBUFFERADI_ETHER_BF537_FreeBuf
int ADI_ETHER_BF537_NoOfBuffers
int ADI_ETHER_BF537_NoOfFreeBuffers
int ADI_ETHER_BF537_NoPosted
void * ADI_ETHER_BF537_PostedBuffer
int ADI_ETHER_BF537_OutstandingPosts
static int DumpAllQueues

Define Documentation

#define breakpoint  ) 
 

#define CHECK_QUEUES   0
 

#define CHECK_RES   res
 

 
#define CheckBuffers  )     0
 

#define CheckQueues  ) 
 

#define EMAC2_STAOP_RD   ( 0<< 1 )
 

#define EMAC2_STAOP_WR   ( 1<< 1 )
 

#define FLUSH  )     asm volatile("SSYNC;FLUSH[%0++];SSYNC;":"+p"(P));
 

#define FLUSHINV  )     asm volatile("SSYNC;FLUSHINV[%0++];SSYNC;":"+p"(P));
 

#define MAX_RCVE_FRAME   1560
 

#define NO_PHY_REGS   0x20
 

#define PHYREG_10CFG   0x0013
 

#define PHYREG_ANAR   0x0004
 

#define PHYREG_ANER   0x0006
 

#define PHYREG_ANLPAR   0x0005
 

#define PHYREG_LBREMR   0x0011
 

#define PHYREG_MODECTL   0x0000
 

#define PHYREG_MODESTAT   0x0001
 

#define PHYREG_NSR   0x0010
 

#define PHYREG_PHY1_1   0x0014
 

#define PHYREG_PHY1_2   0x0015
 

#define PHYREG_PHY2   0x0016
 

#define PHYREG_PHYID1   0x0002
 

#define PHYREG_PHYID2   0x0003
 

#define PHYREG_REC   0x0012
 

#define PHYREG_TEST   0x0019
 

#define PHYREG_TW_1   0x0017
 

#define PHYREG_TW_2   0x0018
 

#define SIMPLEFLUSHINV  )     asm volatile("SSYNC;FLUSHINV[%0++];SSYNC;"::"#p"(P));
 


Typedef Documentation

typedef struct adi_ether_bf537_data ADI_ETHER_BF537_DATA
 

typedef struct buffer_info BUFFER_INFO
 

typedef struct dma_descriptor DMA_DESCRIPTOR
 

typedef struct DMA_REGISTERS DMA_REGISTERS
 

typedef struct frame_info FRAME_INFO
 

typedef struct frame_queue FRAME_QUEUE
 

typedef struct status_area STATUS_AREA
 

typedef struct buffer XBUFFER
 


Function Documentation

void ADI_ETHER_BF537_CheckBuffers  ) 
 

static ADI_INT_HANDLER TxInterruptHandler   )  [static]
 

static ADI_INT_HANDLER RxInterruptHandler   )  [static]
 

static ADI_INT_HANDLER EtherInterruptHandler   )  [static]
 

static ADI_INT_HANDLER DmaErrorInterruptHandler   )  [static]
 

static u32 adi_pdd_Close ADI_DEV_PDD_HANDLE  PDDHandle  )  [static]
 

static u32 adi_pdd_Control ADI_DEV_PDD_HANDLE  PDDHandle,
u32  Command,
void *  pArg
[static]
 

static u32 adi_pdd_Open ADI_DEV_MANAGER_HANDLE  ManagerHandle,
u32  DeviceNumber,
ADI_DEV_DEVICE_HANDLE  DeviceHandle,
ADI_DEV_PDD_HANDLE *  pPDDHandle,
ADI_DEV_DIRECTION  Direction,
void *  pEnterCriticalArg,
ADI_DMA_MANAGER_HANDLE  DMAHandle,
ADI_DCB_HANDLE  DCBHandle,
ADI_DCB_CALLBACK_FN  DMCallback
[static]
 

static u32 adi_pdd_Read ADI_DEV_PDD_HANDLE  PDDHandle,
ADI_DEV_BUFFER_TYPE  BufferType,
ADI_DEV_BUFFER *  pBuffer
[static]
 

static u32 adi_pdd_Write ADI_DEV_PDD_HANDLE  PDDHandle,
ADI_DEV_BUFFER_TYPE  BufferType,
ADI_DEV_BUFFER *  pBuffer
[static]
 

static AppendPending FRAME_QUEUE q,
ADI_ETHER_BUFFER *  lstact
[static]
 

static void DmaError FRAME_QUEUE q  )  [static]
 

static void DumpDesc char *  str,
FRAME_QUEUE q
[static]
 

static void DumpQueue char *  str1,
char *  str2,
ADI_ETHER_BUFFER *  buf
[static]
 

static DumpTraceBuffer void   )  [static]
 

static void* EnterCriticalRegion void *  xit  )  [static]
 

static void ExitCriticalRegion void *  xit  )  [static]
 

static void FlushArea void *  start,
void *  nd
[static]
 

static void FlushInvArea void *  start,
void *  nd
[static]
 

static void GetMacAddr unsigned char *  mac  )  [static]
 

static void GetPhyRegs u16  addr,
u16 *  regs
[static]
 

static int GetTcpSeqNo ADI_ETHER_BUFFER *  pBuffer  )  [static]
 

static void PollMdcDone void   )  [static]
 

static ADI_INT_HANDLER_RESULT ProcessCompletion ADI_ETHER_BF537_DATA dev,
FRAME_QUEUE q
[static]
 

static void QueueFrames ADI_ETHER_BF537_DATA dev,
FRAME_QUEUE q
[static]
 

static void QueueNewFrames ADI_ETHER_BF537_DATA dev,
FRAME_QUEUE q,
ADI_ETHER_BUFFER *  bfs
[static]
 

static void RawWrPHYReg u16  PHYAddr,
u16  RegAddr,
u32  Data
[static]
 

static u16 RdPHYReg u16  PHYAddr,
u16  RegAddr
[static]
 

static SetPhy ADI_ETHER_BF537_DATA dev  )  [static]
 

static void SetupMacAddr unsigned char *  mac  )  [static]
 

static void SetupPinMux void   )  [static]
 

static int StartMac ADI_ETHER_BF537_DATA dev  )  [static]
 

static void UpdateStatistics u64 *  stats  )  [static]
 

static void WrPHYReg u16  PHYAddr,
u16  RegAddr,
u32  Data
[static]
 


Variable Documentation

ADI_DEV_PDD_ENTRY_POINT ADI_ETHER_BF537_Entrypoint
 

Initial value:

 {
        adi_pdd_Open,
        adi_pdd_Close,
        adi_pdd_Read,
        adi_pdd_Write,
        adi_pdd_Control
}

XBUFFER* ADI_ETHER_BF537_FreeBuf
 

int ADI_ETHER_BF537_NoOfBuffers
 

int ADI_ETHER_BF537_NoOfFreeBuffers
 

int ADI_ETHER_BF537_NoPosted
 

int ADI_ETHER_BF537_OutstandingPosts
 

void* ADI_ETHER_BF537_PostedBuffer
 

int DumpAllQueues [static]
 

ADI_ETHER_BF537_DATA EtherDev [static]
 

int FailedPosts [static]
 

int NoRxInts = 0 [static]
 

int NoRxPosts = 0 [static]
 

int NoRxStarts [static]
 

int NoTxInts = 0 [static]
 

int NoTxPosts = 0 [static]
 

int NoTxStarts [static]
 

int TxErr [static]
 


Generated on Thu Mar 2 16:11:30 2006 for VDK Blacksheep by  doxygen 1.4.1