NetBurner 3.5.7
PDF Version
ether_consts.h
1/*NB_REVISION*/
2
3/*NB_COPYRIGHT*/
4
5#ifndef __ETHER_CONSTS_H
6#define __ETHER_CONSTS_H
7
8// PHY ID Register #3 bits with the last 4 revision number bits being don't cares
9#define MICREL_ID (0x1610)
10#define MICREL8041_ID (0x1510)
11#define TI_DP83825I_ID (0xA140)
12#define TI_FUBAR_ID (0x7840)
13#define DAVICOM_ID (0xB880)
14#define AMD_ID (0x5610)
15#define NATIONAL_ID (0x5C90)
16#define NATIONAL_IEEE1588_ID (0x5CE0)
17#define MICREL8081_ID (0x1560)
18
19// PHY Register addresses
20#define PHY_REG_BASIC_CTL 0x00
21#define PHY_REG_BASIC_ST 0x01
22#define PHY_REG_ID_1 0x02
23#define PHY_REG_ID_2 0x03
24#define PHY_REG_A_NEG_ADVERT 0x04
25#define PHY_REG_A_NEG_LPA 0x05
26#define PHY_REG_A_NEG_EXP 0x06
27#define PHY_REG_A_NEG_NEXT_PG 0x07
28#define PHY_REG_LP_NEXT_PG_ABIL 0x08
29#define PHY_AFE_CTL_1 0x10
30#define PHY_REG_STS 0x10
31#define PHY_REG_SCR 0x11
32#define PHY_REG_MISR1 0x12
33#define PHY_REG_MISR2 0x13
34#define PHY_REG_MILL_CTL 0x14
35#define PHY_RXER_CNTR 0x15
36#define PHY_MODE_STRAP_OVER 0x16
37#define PHY_MODE_STRAP_STATUS 0x17
38#define PHY_EXPANDED_CTL 0x18
39#define PHY_REG_IRQ_CTL_ST 0x1B
40#define PHY_REG_PHY_CTL_1 0x1E
41#define PHY_REG_PHY_CTL_2 0x1F
42
43// PHY Register masks
44#define PHY_LINK_STAT 0x0004
45#define PHY_A_NEG_COMP 0x0020
46#define PHY_IRQ_DOWN_EN 0x0400
47#define PHY_IRQ_UP_EN 0x0100
48
49#define IP_20BYTE_ID (0x4500)
50#define ETHER_TYPE_IP (0x0800)
51#define ETHER_TYPE_ARP (0x0806)
52
53typedef enum
54{
55 PORT1_WAITING = 0,
56 PORT1_INITED = 1,
57 PORT1_SWITCH = 2
58} Port1_State;
59
60enum eLinkMode_t {
61 eLinkMode_AutoNeg = 0u,
62 eLinkMode_10HD = 1u,
63 eLinkMode_10FD = 2u,
64 eLinkMode_100HD = 3u,
65 eLinkMode_100FD = 4u,
66 eLinkMode_1000HD = 5u,
67 eLinkMode_1000FD = 6u,
68};
69
70enum eLinkState_t {
71 eLinkState_None = 0u,
72 eLinkState_10HD = 1u,
73 eLinkState_10FD = 2u,
74 eLinkState_100HD = 3u,
75 eLinkState_100FD = 4u,
76 eLinkState_1000HD = 5u,
77 eLinkState_1000FD = 6u,
78
79 eLinkState_A10HD = 0x81u,
80 eLinkState_A10FD = 0x82u,
81 eLinkState_A100HD = 0x83u,
82 eLinkState_A100FD = 0x84u,
83 eLinkState_A1000HD = 0x85u,
84 eLinkState_A1000FD = 0x86u,
85
86 eLinkState_SwDisable_Drvr = 0x7D,
87 eLinkState_SwDisable_Temp = 0x7E,
88 eLinkState_SwDisable_Perm = 0x7F,
89};
90
91enum eMIIMode_t {
92 eMIIMode_MII = 0u,
93 eMIIMode_RMII_Master = 1u,
94 eMIIMode_RMII_Slave = 2u,
95 eMIIMode_RGMII_Host = 3u,
96 eMIIMode_RGMII_Device = 4u,
97};
98
99enum ePhyIRQ_t {
100 ePhyIRQ_LinkUp = (1u << 0),
101 ePhyIRQ_RemoteFault = (1u << 1),
102 ePhyIRQ_LinkDown = (1u << 2),
103 ePhyIRQ_PartnerAck = (1u << 3),
104 ePhyIRQ_ParallelFault =(1u << 4),
105 ePhyIRQ_PageRx = (1u << 5),
106 ePhyIRQ_RxErr = (1u << 6),
107 ePhyIRQ_Jabber = (1u << 7),
108 ePhyIRQ_FalseCarrier= (1u << 8),
109 ePhyIRQ_AutoNegCmp = (1u << 9),
110 ePhyIRQ_Duplex = (1u << 10),
111 ePhyIRQ_Speed = (1u << 11),
112 ePhyIRQ_LinkStat = (1u << 12),
113 ePhyIRQ_EnergyDet = (1u << 13),
114 ePhyIRQ_Polarity = (1u << 14),
115 ePhyIRQ_MDIX = (1u << 15),
116};
117
118
119
120#endif /* ----- #ifndef __ETHER_CONSTS_H ----- */