#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 |
1.6.1