File nut/boot/bootmon/ether.c


Included Files


Preprocessor definitions

#define PIO_BASE 0xFFFF0000

#define PIO_OER

#define PIO_ODR

#define PIO_SODR

#define PIO_CODR

#define NIC_BASE_ADDR 0x20000000

#define NIC_DATA_ADDR

#define NIC_NCR 0x00

#define NIC_NCR_LBM 0x06

#define NIC_NCR_LBNORM 0x00

#define NIC_NCR_LBMAC 0x02

#define NIC_NCR_LBPHY 0x04

#define NIC_NCR_RST 0x01

#define NIC_NSR 0x01

#define NIC_NSR_SPEED 0x80

#define NIC_NSR_LINKST 0x40

#define NIC_NSR_WAKEST 0x20

#define NIC_NSR_TX2END 0x08

#define NIC_NSR_TX1END 0x04

#define NIC_NSR_RXOV 0x02

#define NIC_TCR 0x02

#define NIC_TCR_TXREQ 0x01

#define NIC_TSR1 0x03

#define NIC_TSR2 0x04

#define NIC_RCR 0x05

#define NIC_RCR_DIS_LONG 0x20

#define NIC_RCR_DIS_CRC 0x10

#define NIC_RCR_PRMSC 0x02

#define NIC_RCR_RXEN 0x01

#define NIC_RSR 0x06

#define NIC_RSR_ERRORS 0xBF

#define NIC_RSR_RF 0x80

#define NIC_RSR_MF 0x40

#define NIC_RSR_LCS 0x20

#define NIC_RSR_RWTO 0x10

#define NIC_RSR_PLE 0x08

#define NIC_RSR_AE 0x04

#define NIC_RSR_CE 0x02

#define NIC_RSR_FOE 0x01

#define NIC_ROCR 0x07

#define NIC_BPTR 0x08

#define NIC_FCTR 0x09

#define NIC_FCR 0x0A

#define NIC_EPCR 0x0B

#define NIC_EPAR 0x0C

#define NIC_EPDRL 0x0D

#define NIC_EPDRH 0x0E

#define NIC_WCR 0x0F

#define NIC_PAR 0x10

#define NIC_MAR 0x16

#define NIC_GPCR 0x1E

#define NIC_GPR 0x1F

#define NIC_TRPA 0x22

#define NIC_RWPA 0x24

#define NIC_VID 0x28

#define NIC_PID 0x2A

#define NIC_CHIPR 0x2C

#define NIC_SMCR 0x2F

#define NIC_MRCMDX 0xF0

#define NIC_MRCMD 0xF2

#define NIC_MRR 0xF4

#define NIC_MWCMDX 0xF6

#define NIC_MWCMD 0xF8

#define NIC_MWR 0xFA

#define NIC_TXPL 0xFC

#define NIC_ISR 0xFE

#define NIC_ISR_IOM 0xC0

#define NIC_ISR_M16 0x00

#define NIC_ISR_M32 0x40

#define NIC_ISR_M8 0x80

#define NIC_ISR_ROOS 0x08

#define NIC_ISR_ROS 0x04

#define NIC_ISR_PTS 0x02

#define NIC_ISR_PRS 0x01

#define NIC_IMR 0xFF

#define NIC_IMR_PAR 0x80

#define NIC_IMR_ROOM 0x08

#define NIC_IMR_ROM 0x04

#define NIC_IMR_PTM 0x02

#define NIC_IMR_PRM 0x01

#define NIC_PHY_BMCR 0x00

#define NIC_PHY_BMSR 0x01

#define NIC_PHY_BMSR_ANCOMPL 0x0020

#define NIC_PHY_BMSR_LINKSTAT 0x0004

#define NIC_PHY_ID1 0x02

#define NIC_PHY_ID2 0x03

#define NIC_PHY_ANAR 0x04

#define NIC_PHY_ANLPAR 0x05

#define NIC_PHY_ANER 0x06

#define NIC_PHY_DSCR 0x10

#define NIC_PHY_DSCSR 0x11

#define NIC_PHY_10BTCSR 0x12

#define outb( _reg, _val )

#define outw( _reg, _val )

#define outr( _reg, _val )

#define inb( _reg )

#define inw( _reg )

#define inr( _reg )

#define _BV( bit )


Global Function EtherInit()

int EtherInit ( void )
Prototyped in: nut/boot/bootmon/ether.h
Calls: NicReset() nut/boot/bootmon/ether.c
  nic_inb() nut/boot/bootmon/ether.c
  nic_inw() nut/boot/bootmon/ether.c
  nic_outb() nut/boot/bootmon/ether.c
  phy_inw() nut/boot/bootmon/ether.c
  MicroDelay()
Called by: main() nut/boot/bootmon/bootmon.c
References Variables: confnet nut/boot/bootmon/config.c

Global Function EtherInput()

int EtherInput ( unsigned short type, unsigned int tms )
Prototyped in: nut/boot/bootmon/ether.h
Calls: ArpRespond() nut/boot/bootmon/arp.c
  NicRead16() nut/boot/bootmon/ether.c
  nic_inb() nut/boot/bootmon/ether.c
  nic_outb() nut/boot/bootmon/ether.c
  MicroDelay()
Called by: ArpRequest() nut/boot/bootmon/arp.c
References Variables: rframe nut/boot/bootmon/bootmon.c

Global Function EtherOutput()

int EtherOutput ( const unsigned char* dmac, unsigned int type, unsigned int len )
Prototyped in: nut/boot/bootmon/ether.h
Calls: NicWrite16() nut/boot/bootmon/ether.c
  nic_outb() nut/boot/bootmon/ether.c
  nic_outw() nut/boot/bootmon/ether.c
  memcpy_()
Called by: ArpRequest() nut/boot/bootmon/arp.c
  ArpRespond() nut/boot/bootmon/arp.c
References Variables: arpframe nut/boot/bootmon/arp.c
  confnet nut/boot/bootmon/config.c
  sframe nut/boot/bootmon/bootmon.c

Global Function NicReset()

int NicReset ( void )
Calls: NicPhyInit() nut/boot/bootmon/ether.c
  nic_outb() nut/boot/bootmon/ether.c
  MicroDelay()
Called by: EtherInit() nut/boot/bootmon/ether.c

Local Function NicPhyInit()

static int NicPhyInit ( void )
Calls: nic_outb() nut/boot/bootmon/ether.c
  phy_outw() nut/boot/bootmon/ether.c
Called by: NicReset() nut/boot/bootmon/ether.c

Local Function NicRead16()

static void NicRead16 ( unsigned char* buf, unsigned short len )
Called by: EtherInput() nut/boot/bootmon/ether.c

Local Function NicWrite16()

static void NicWrite16 ( unsigned char* buf, unsigned int len )
Called by: EtherOutput() nut/boot/bootmon/ether.c

Local Function nic_inb()

static inline unsigned char nic_inb ( unsigned short reg )
Called by: EtherInit() nut/boot/bootmon/ether.c
  EtherInput() nut/boot/bootmon/ether.c

Local Function nic_inw()

static inline unsigned short nic_inw ( unsigned short reg )
Called by: EtherInit() nut/boot/bootmon/ether.c
  phy_inw() nut/boot/bootmon/ether.c

Local Function nic_outb()

static inline void nic_outb ( unsigned char reg, unsigned char val )
Called by: EtherInit() nut/boot/bootmon/ether.c
  EtherInput() nut/boot/bootmon/ether.c
  EtherOutput() nut/boot/bootmon/ether.c
  NicPhyInit() nut/boot/bootmon/ether.c
  NicReset() nut/boot/bootmon/ether.c
  phy_inw() nut/boot/bootmon/ether.c
  phy_outw() nut/boot/bootmon/ether.c

Local Function nic_outw()

static inline void nic_outw ( unsigned char reg, unsigned short val )
Called by: EtherOutput() nut/boot/bootmon/ether.c
  phy_outw() nut/boot/bootmon/ether.c

Local Function phy_inw()

static unsigned short phy_inw ( unsigned char reg )
Calls: nic_inw() nut/boot/bootmon/ether.c
  nic_outb() nut/boot/bootmon/ether.c
  MicroDelay()
Called by: EtherInit() nut/boot/bootmon/ether.c

Local Function phy_outw()

static void phy_outw ( unsigned char reg, unsigned short val )
Calls: nic_outb() nut/boot/bootmon/ether.c
  nic_outw() nut/boot/bootmon/ether.c
  MicroDelay()
Called by: NicPhyInit() nut/boot/bootmon/ether.c