/home/midibox/svn_snapshot/mios32/trunk/modules/uip/mios32/LPC17xx/lpc17xx_emac.c File Reference

#include <string.h>
#include "lpc17xx_emac.h"
#include "uip-conf.h"
#include "uipopt.h"

Defines

#define LAN8720_ID   0x0007C0F0
#define LPC17XX_EMAC_MEM_SECTION   __attribute__ ((section (".bss_ahb")))
#define LPC17XX_EMAC_NUM_RX_FRAG   4
#define LPC17XX_EMAC_NUM_TX_FRAG   3
#define LPC17XX_EMAC_FRAG_SIZE   1538
#define NUM_RX_FRAG   LPC17XX_EMAC_NUM_RX_FRAG
#define NUM_TX_FRAG   LPC17XX_EMAC_NUM_TX_FRAG
#define ETH_FRAG_SIZE   LPC17XX_EMAC_FRAG_SIZE
#define ETH_MAX_FLEN   LPC17XX_EMAC_FRAG_SIZE
#define NUM_RX_FRAG   LPC17XX_EMAC_NUM_RX_FRAG
#define NUM_TX_FRAG   LPC17XX_EMAC_NUM_TX_FRAG
#define RX_DESC_BASE   ((u32)&rx_desc_ll)
#define RX_STAT_BASE   ((u32)&rx_stat_ll)
#define TX_DESC_BASE   ((u32)&tx_desc_ll)
#define TX_STAT_BASE   ((u32)&tx_stat)
#define MEM32(addr)   (*((volatile u32 *)(addr)))
#define RX_DESC_PACKET(i)   MEM32(RX_DESC_BASE + 8*i + 0)
#define RX_DESC_CTRL(i)   MEM32(RX_DESC_BASE + 8*i + 4)
#define RX_STAT_INFO(i)   MEM32(RX_STAT_BASE + 8*i + 0)
#define RX_STAT_HASHCRC(i)   MEM32(RX_STAT_BASE + 8*i + 4)
#define TX_DESC_PACKET(i)   MEM32(TX_DESC_BASE + 8*i + 0)
#define TX_DESC_CTRL(i)   MEM32(TX_DESC_BASE + 8*i + 4)
#define TX_STAT_INFO(i)   tx_stat[i]
#define RX_BUF(i)   (&rx_buf[(i*ETH_FRAG_SIZE)/4])
#define TX_BUF(i)   (&tx_buf[(i*ETH_FRAG_SIZE)/4])

Functions

BOOL_32 EMAC_Init (uint8_t *mac_addr)
BOOL_32 EMAC_Init2 (uint8_t *mac_addr)
BOOL_32 EMAC_Init3 (uint8_t *mac_addr)
BOOL_32 EMAC_CheckLink (void)
UNS_32 EMAC_ReadPacket (void *pPacket)
BOOL_32 EMAC_SendPacket (void *pPacket, UNS_32 size, void *pPacket2, UNS_32 size2)

Variables

LPC_EMAC SA1 = (mac_addr[3]<<8) | mac_addr[2]
LPC_EMAC SA2 = (mac_addr[5]<<8) | mac_addr[4]
LPC_EMAC RxFilterCtrl = RFC_BCAST_EN | RFC_PERFECT_EN
LPC_EMAC IntEnable = INT_RX_DONE | INT_TX_DONE
LPC_EMAC IntClear = 0xFFFF
LPC_EMAC Command = (CR_RX_EN | CR_TX_EN)
LPC_EMAC MAC1 = MAC1_REC_EN
return TRUE

Define Documentation

#define ETH_FRAG_SIZE   LPC17XX_EMAC_FRAG_SIZE
#define ETH_MAX_FLEN   LPC17XX_EMAC_FRAG_SIZE
#define LAN8720_ID   0x0007C0F0
#define LPC17XX_EMAC_FRAG_SIZE   1538
#define LPC17XX_EMAC_MEM_SECTION   __attribute__ ((section (".bss_ahb")))
#define LPC17XX_EMAC_NUM_RX_FRAG   4
#define LPC17XX_EMAC_NUM_TX_FRAG   3
#define MEM32 ( addr   )     (*((volatile u32 *)(addr)))
#define NUM_RX_FRAG   LPC17XX_EMAC_NUM_RX_FRAG
#define NUM_RX_FRAG   LPC17XX_EMAC_NUM_RX_FRAG
#define NUM_TX_FRAG   LPC17XX_EMAC_NUM_TX_FRAG
#define NUM_TX_FRAG   LPC17XX_EMAC_NUM_TX_FRAG
#define RX_BUF (  )     (&rx_buf[(i*ETH_FRAG_SIZE)/4])
#define RX_DESC_BASE   ((u32)&rx_desc_ll)
#define RX_DESC_CTRL (  )     MEM32(RX_DESC_BASE + 8*i + 4)
#define RX_DESC_PACKET (  )     MEM32(RX_DESC_BASE + 8*i + 0)
#define RX_STAT_BASE   ((u32)&rx_stat_ll)
#define RX_STAT_HASHCRC (  )     MEM32(RX_STAT_BASE + 8*i + 4)
#define RX_STAT_INFO (  )     MEM32(RX_STAT_BASE + 8*i + 0)
#define TX_BUF (  )     (&tx_buf[(i*ETH_FRAG_SIZE)/4])
#define TX_DESC_BASE   ((u32)&tx_desc_ll)
#define TX_DESC_CTRL (  )     MEM32(TX_DESC_BASE + 8*i + 4)
#define TX_DESC_PACKET (  )     MEM32(TX_DESC_BASE + 8*i + 0)
#define TX_STAT_BASE   ((u32)&tx_stat)
#define TX_STAT_INFO (  )     tx_stat[i]

Function Documentation

BOOL_32 EMAC_CheckLink ( void   ) 
BOOL_32 EMAC_Init ( uint8_t *  mac_addr  ) 
BOOL_32 EMAC_Init2 ( uint8_t *  mac_addr  ) 
BOOL_32 EMAC_Init3 ( uint8_t *  mac_addr  ) 
UNS_32 EMAC_ReadPacket ( void *  pPacket  ) 

Here is the call graph for this function:

BOOL_32 EMAC_SendPacket ( void *  pPacket,
UNS_32  size,
void *  pPacket2,
UNS_32  size2 
)

Variable Documentation

LPC_EMAC Command = (CR_RX_EN | CR_TX_EN)
LPC_EMAC IntClear = 0xFFFF
LPC_EMAC IntEnable = INT_RX_DONE | INT_TX_DONE
LPC_EMAC MAC1 = MAC1_REC_EN
LPC_EMAC RxFilterCtrl = RFC_BCAST_EN | RFC_PERFECT_EN
LPC_EMAC SA1 = (mac_addr[3]<<8) | mac_addr[2]
LPC_EMAC SA2 = (mac_addr[5]<<8) | mac_addr[4]
return TRUE

Generated on 22 Jan 2016 for MIDIboxNG by  doxygen 1.6.1