#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 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 | ( | i | ) | (&rx_buf[(i*ETH_FRAG_SIZE)/4]) |
#define RX_DESC_BASE ((u32)&rx_desc_ll) |
#define RX_DESC_CTRL | ( | i | ) | MEM32(RX_DESC_BASE + 8*i + 4) |
#define RX_DESC_PACKET | ( | i | ) | MEM32(RX_DESC_BASE + 8*i + 0) |
#define RX_STAT_BASE ((u32)&rx_stat_ll) |
#define RX_STAT_HASHCRC | ( | i | ) | MEM32(RX_STAT_BASE + 8*i + 4) |
#define RX_STAT_INFO | ( | i | ) | MEM32(RX_STAT_BASE + 8*i + 0) |
#define TX_BUF | ( | i | ) | (&tx_buf[(i*ETH_FRAG_SIZE)/4]) |
#define TX_DESC_BASE ((u32)&tx_desc_ll) |
#define TX_DESC_CTRL | ( | i | ) | MEM32(TX_DESC_BASE + 8*i + 4) |
#define TX_DESC_PACKET | ( | i | ) | MEM32(TX_DESC_BASE + 8*i + 0) |
#define TX_STAT_BASE ((u32)&tx_stat) |
#define TX_STAT_INFO | ( | i | ) | tx_stat[i] |
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 | ) |
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 |