| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
lpc_phy_smsc87x0.c File Reference
`#include "chip.h"`
`#include "lpc_phy.h"`

Go to the source code of this file.

## Macros
#define | LAN8_BCR_REG 0x0
#define | LAN8_BSR_REG 0x1
#define | LAN8_PHYID1_REG 0x2
#define | LAN8_PHYID2_REG 0x3
#define | LAN8_PHYSPLCTL_REG 0x1F
#define | LAN8_RESET (1 << 15)
#define | LAN8_LOOPBACK (1 << 14)
#define | LAN8_SPEED_SELECT (1 << 13)
#define | LAN8_AUTONEG (1 << 12)
#define | LAN8_POWER_DOWN (1 << 11)
#define | LAN8_ISOLATE (1 << 10)
#define | LAN8_RESTART_AUTONEG (1 << 9)
#define | LAN8_DUPLEX_MODE (1 << 8)
#define | LAN8_100BASE_T4 (1 << 15)
#define | LAN8_100BASE_TX_FD (1 << 14)
#define | LAN8_100BASE_TX_HD (1 << 13)
#define | LAN8_10BASE_T_FD (1 << 12)
#define | LAN8_10BASE_T_HD (1 << 11)
#define | LAN8_AUTONEG_COMP (1 << 5)
#define | LAN8_RMT_FAULT (1 << 4)
#define | LAN8_AUTONEG_ABILITY (1 << 3)
#define | LAN8_LINK_STATUS (1 << 2)
#define | LAN8_JABBER_DETECT (1 << 1)
#define | LAN8_EXTEND_CAPAB (1 << 0)
#define | LAN8_SPEEDMASK (7 << 2)
#define | LAN8_SPEED100F (6 << 2)
#define | LAN8_SPEED10F (5 << 2)
#define | LAN8_SPEED100H (2 << 2)
#define | LAN8_SPEED10H (1 << 2)
#define | LAN8_PHYID1_OUI 0x0007
#define | LAN8_PHYID2_OUI 0xC0F0

## Functions
static Status | lpc_mii_write (uint8_t reg, uint16_t data)
static Status | lpc_mii_read (uint8_t reg, uint16_t *data)
static void | smsc_update_phy_sts (uint16_t linksts, uint16_t sdsts)
uint32_t | lpc_phy_init (bool rmii, p_msDelay_func_t pDelayMsFunc)
| Initialize the PHY.
uint32_t | lpcPHYStsPoll (void)
| Phy status update state machine.

## Variables
static uint32_t | physts
static uint32_t | olddphysts
static int32_t | phyustate
static p_msDelay_func_t | pDelayMs