mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-08-18 09:08:33 -04:00
Add FreeRTOS-Plus directory.
This commit is contained in:
parent
7bd5f21ad5
commit
f508a5f653
6798 changed files with 134949 additions and 19 deletions
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
* File: fec.h
|
||||
* Purpose: Driver for the Fast Ethernet Controller (FEC)
|
||||
*
|
||||
* Notes:
|
||||
*/
|
||||
|
||||
#ifndef _FEC_H_
|
||||
#define _FEC_H_
|
||||
|
||||
#include "eth.h"
|
||||
#include "fecbd.h"
|
||||
#include "mii.h"
|
||||
#include "eth_phy.h"
|
||||
|
||||
/********************************************************************/
|
||||
|
||||
/* External Interface Modes */
|
||||
#define FEC_MODE_7WIRE 0 /* Old 7-wire (AMD) mode */
|
||||
#define FEC_MODE_MII 1 /* Media Independent Interface */
|
||||
#define FEC_MODE_RMII 2 /* Reduced MII */
|
||||
#define FEC_MODE_LOOPBACK 3 /* Internal Loopback */
|
||||
|
||||
#define INTC_LVL_FEC 3
|
||||
/*
|
||||
* FEC Configuration Parameters
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
uint8 ch; /* FEC channel */
|
||||
uint8 mode; /* Transceiver mode */
|
||||
MII_SPEED speed; /* Ethernet Speed */
|
||||
MII_DUPLEX duplex; /* Ethernet Duplex */
|
||||
uint8 prom; /* Promiscuous Mode? */
|
||||
uint8 mac[6]; /* Ethernet Address */
|
||||
uint8 phyaddr; /* PHY address */
|
||||
uint8 initphy; /* Init PHY? */
|
||||
int nrxbd; /* Number of RxBDs */
|
||||
int ntxbd; /* Number of TxBDs */
|
||||
} FEC_CONFIG;
|
||||
#define YES 1
|
||||
#define NO 0
|
||||
/*
|
||||
* FEC Event Log
|
||||
*/
|
||||
typedef struct {
|
||||
int errors; /* total count of errors */
|
||||
int hberr; /* heartbeat error */
|
||||
int babr; /* babbling receiver */
|
||||
int babt; /* babbling transmitter */
|
||||
int gra; /* graceful stop complete */
|
||||
int txf; /* transmit frame */
|
||||
int txb; /* transmit buffer */
|
||||
int rxf; /* receive frame */
|
||||
int rxb; /* received buffer */
|
||||
int mii; /* MII */
|
||||
int eberr; /* FEC/DMA fatal bus error */
|
||||
int lc; /* late collision */
|
||||
int rl; /* collision retry limit */
|
||||
int un; /* Tx FIFO underflow */
|
||||
int rfsw_inv; /* Invalid bit in RFSW */
|
||||
int rfsw_l; /* RFSW Last in Frame */
|
||||
int rfsw_m; /* RFSW Miss */
|
||||
int rfsw_bc; /* RFSW Broadcast */
|
||||
int rfsw_mc; /* RFSW Multicast */
|
||||
int rfsw_lg; /* RFSW Length Violation */
|
||||
int rfsw_no; /* RFSW Non-octet */
|
||||
int rfsw_cr; /* RFSW Bad CRC */
|
||||
int rfsw_ov; /* RFSW Overflow */
|
||||
int rfsw_tr; /* RFSW Truncated */
|
||||
} FEC_EVENT_LOG;
|
||||
|
||||
void vFECInit( void );
|
||||
unsigned short usFECGetRxedData( void );
|
||||
void vFECSendData( void );
|
||||
void vFECRxProcessingCompleted( void );
|
||||
|
||||
/********************************************************************/
|
||||
|
||||
#endif /* _FEC_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue