31#ifndef _ADIN1100_DRIVER_H
32#define _ADIN1100_DRIVER_H
38#ifndef ADIN1100_PHY_ADDR
39 #define ADIN1100_PHY_ADDR 0
40#elif (ADIN1100_PHY_ADDR < 0 || ADIN1100_PHY_ADDR > 31)
41 #error ADIN1100_PHY_ADDR parameter is not valid
45#define ADIN1100_MI_CONTROL 0x00
46#define ADIN1100_MI_STATUS 0x01
47#define ADIN1100_MI_PHY_ID1 0x02
48#define ADIN1100_MI_PHY_ID2 0x03
49#define ADIN1100_MMD_ACCESS_CNTRL 0x0D
50#define ADIN1100_MMD_ACCESS 0x0E
53#define ADIN1100_PMA_PMD_CNTRL1 0x01, 0x0000
54#define ADIN1100_PMA_PMD_STAT1 0x01, 0x0001
55#define ADIN1100_PMA_PMD_DEVS_IN_PKG1 0x01, 0x0005
56#define ADIN1100_PMA_PMD_DEVS_IN_PKG2 0x01, 0x0006
57#define ADIN1100_PMA_PMD_CNTRL2 0x01, 0x0007
58#define ADIN1100_PMA_PMD_STAT2 0x01, 0x0008
59#define ADIN1100_PMA_PMD_TX_DIS 0x01, 0x0009
60#define ADIN1100_PMA_PMD_EXT_ABILITY 0x01, 0x000B
61#define ADIN1100_PMA_PMD_BT1_ABILITY 0x01, 0x0012
62#define ADIN1100_PMA_PMD_BT1_CONTROL 0x01, 0x0834
63#define ADIN1100_B10L_PMA_CNTRL 0x01, 0x08F6
64#define ADIN1100_B10L_PMA_STAT 0x01, 0x08F7
65#define ADIN1100_B10L_TEST_MODE_CNTRL 0x01, 0x08F8
66#define ADIN1100_B10L_PMA_LINK_STAT 0x01, 0x8302
67#define ADIN1100_MSE_VAL 0x01, 0x830B
68#define ADIN1100_PCS_CNTRL1 0x03, 0x0000
69#define ADIN1100_PCS_STAT1 0x03, 0x0001
70#define ADIN1100_PCS_DEVS_IN_PKG1 0x03, 0x0005
71#define ADIN1100_PCS_DEVS_IN_PKG2 0x03, 0x0006
72#define ADIN1100_PCS_STAT2 0x03, 0x0008
73#define ADIN1100_B10L_PCS_CNTRL 0x03, 0x08E6
74#define ADIN1100_B10L_PCS_STAT 0x03, 0x08E7
75#define ADIN1100_AN_DEVS_IN_PKG1 0x07, 0x0005
76#define ADIN1100_AN_DEVS_IN_PKG2 0x07, 0x0006
77#define ADIN1100_AN_CONTROL 0x07, 0x0200
78#define ADIN1100_AN_STATUS 0x07, 0x0201
79#define ADIN1100_AN_ADV_ABILITY_L 0x07, 0x0202
80#define ADIN1100_AN_ADV_ABILITY_M 0x07, 0x0203
81#define ADIN1100_AN_ADV_ABILITY_H 0x07, 0x0204
82#define ADIN1100_AN_LP_ADV_ABILITY_L 0x07, 0x0205
83#define ADIN1100_AN_LP_ADV_ABILITY_M 0x07, 0x0206
84#define ADIN1100_AN_LP_ADV_ABILITY_H 0x07, 0x0207
85#define ADIN1100_AN_NEXT_PAGE_L 0x07, 0x0208
86#define ADIN1100_AN_NEXT_PAGE_M 0x07, 0x0209
87#define ADIN1100_AN_NEXT_PAGE_H 0x07, 0x020A
88#define ADIN1100_AN_LP_NEXT_PAGE_L 0x07, 0x020B
89#define ADIN1100_AN_LP_NEXT_PAGE_M 0x07, 0x020C
90#define ADIN1100_AN_LP_NEXT_PAGE_H 0x07, 0x020D
91#define ADIN1100_AN_B10_ADV_ABILITY 0x07, 0x020E
92#define ADIN1100_AN_B10_LP_ADV_ABILITY 0x07, 0x020F
93#define ADIN1100_AN_FRC_MODE_EN 0x07, 0x8000
94#define ADIN1100_AN_STATUS_EXTRA 0x07, 0x8001
95#define ADIN1100_AN_PHY_INST_STATUS 0x07, 0x8030
96#define ADIN1100_MMD1_DEV_ID1 0x1E, 0x0002
97#define ADIN1100_MMD1_DEV_ID2 0x1E, 0x0003
98#define ADIN1100_MMD1_DEVS_IN_PKG1 0x1E, 0x0005
99#define ADIN1100_MMD1_DEVS_IN_PKG2 0x1E, 0x0006
100#define ADIN1100_MMD1_STATUS 0x1E, 0x0008
101#define ADIN1100_CRSM_IRQ_STATUS 0x1E, 0x0010
102#define ADIN1100_CRSM_IRQ_MASK 0x1E, 0x0020
103#define ADIN1100_CRSM_SFT_RST 0x1E, 0x8810
104#define ADIN1100_CRSM_SFT_PD_CNTRL 0x1E, 0x8812
105#define ADIN1100_CRSM_PHY_SUBSYS_RST 0x1E, 0x8814
106#define ADIN1100_CRSM_MAC_IF_RST 0x1E, 0x8815
107#define ADIN1100_CRSM_STAT 0x1E, 0x8818
108#define ADIN1100_CRSM_PMG_CNTRL 0x1E, 0x8819
109#define ADIN1100_CRSM_MAC_IF_CFG 0x1E, 0x882B
110#define ADIN1100_CRSM_DIAG_CLK_CTRL 0x1E, 0x882C
111#define ADIN1100_MGMT_PRT_PKG 0x1E, 0x8C22
112#define ADIN1100_MGMT_MDIO_CNTRL 0x1E, 0x8C30
113#define ADIN1100_DIGIO_PINMUX 0x1E, 0x8C56
114#define ADIN1100_DIGIO_PINMUX2 0x1E, 0x8C57
115#define ADIN1100_LED0_BLINK_TIME_CNTRL 0x1E, 0x8C80
116#define ADIN1100_LED1_BLINK_TIME_CNTRL 0x1E, 0x8C81
117#define ADIN1100_LED_CNTRL 0x1E, 0x8C82
118#define ADIN1100_LED_POLARITY 0x1E, 0x8C83
119#define ADIN1100_MMD2_DEV_ID1 0x1F, 0x0002
120#define ADIN1100_MMD2_DEV_ID2 0x1F, 0x0003
121#define ADIN1100_MMD2_DEVS_IN_PKG1 0x1F, 0x0005
122#define ADIN1100_MMD2_DEVS_IN_PKG2 0x1F, 0x0006
123#define ADIN1100_MMD2_STATUS 0x1F, 0x0008
124#define ADIN1100_PHY_SUBSYS_IRQ_STATUS 0x1F, 0x0011
125#define ADIN1100_PHY_SUBSYS_IRQ_MASK 0x1F, 0x0021
126#define ADIN1100_FC_EN 0x1F, 0x8001
127#define ADIN1100_FC_IRQ_EN 0x1F, 0x8004
128#define ADIN1100_FC_TX_SEL 0x1F, 0x8005
129#define ADIN1100_RX_ERR_CNT 0x1F, 0x8008
130#define ADIN1100_FC_FRM_CNT_H 0x1F, 0x8009
131#define ADIN1100_FC_FRM_CNT_L 0x1F, 0x800A
132#define ADIN1100_FC_LEN_ERR_CNT 0x1F, 0x800B
133#define ADIN1100_FC_ALGN_ERR_CNT 0x1F, 0x800C
134#define ADIN1100_FC_SYMB_ERR_CNT 0x1F, 0x800D
135#define ADIN1100_FC_OSZ_CNT 0x1F, 0x800E
136#define ADIN1100_FC_USZ_CNT 0x1F, 0x800F
137#define ADIN1100_FC_ODD_CNT 0x1F, 0x8010
138#define ADIN1100_FC_ODD_PRE_CNT 0x1F, 0x8011
139#define ADIN1100_FC_FALSE_CARRIER_CNT 0x1F, 0x8013
140#define ADIN1100_FG_EN 0x1F, 0x8020
141#define ADIN1100_FG_CNTRL_RSTRT 0x1F, 0x8021
142#define ADIN1100_FG_CONT_MODE_EN 0x1F, 0x8022
143#define ADIN1100_FG_IRQ_EN 0x1F, 0x8023
144#define ADIN1100_FG_FRM_LEN 0x1F, 0x8025
145#define ADIN1100_FG_IFG_LEN 0x1F, 0x8026
146#define ADIN1100_FG_NFRM_H 0x1F, 0x8027
147#define ADIN1100_FG_NFRM_L 0x1F, 0x8028
148#define ADIN1100_FG_DONE 0x1F, 0x8029
149#define ADIN1100_RMII_CFG 0x1F, 0x8050
150#define ADIN1100_MAC_IF_LOOPBACK 0x1F, 0x8055
151#define ADIN1100_MAC_IF_SOP_CNTRL 0x1F, 0x805A
154#define ADIN1100_MI_CONTROL_MI_SFT_RST 0x8000
155#define ADIN1100_MI_CONTROL_MI_LOOPBACK 0x4000
156#define ADIN1100_MI_CONTROL_MI_SPEED_SEL_LSB 0x2000
157#define ADIN1100_MI_CONTROL_MI_AN_EN 0x1000
158#define ADIN1100_MI_CONTROL_MI_SFT_PD 0x0800
159#define ADIN1100_MI_CONTROL_MI_ISOLATE 0x0400
160#define ADIN1100_MI_CONTROL_MI_FULL_DUPLEX 0x0100
161#define ADIN1100_MI_CONTROL_MI_COLTEST 0x0080
162#define ADIN1100_MI_CONTROL_MI_SPEED_SEL_MSB 0x0040
163#define ADIN1100_MI_CONTROL_MI_UNIDIR_EN 0x0020
166#define ADIN1100_MI_STATUS_MI_T4_SPRT 0x8000
167#define ADIN1100_MI_STATUS_MI_FD100_SPRT 0x4000
168#define ADIN1100_MI_STATUS_MI_HD100_SPRT 0x2000
169#define ADIN1100_MI_STATUS_MI_FD10_SPRT 0x1000
170#define ADIN1100_MI_STATUS_MI_HD10_SPRT 0x0800
171#define ADIN1100_MI_STATUS_MI_FD_T2_SPRT 0x0400
172#define ADIN1100_MI_STATUS_MI_HD_T2_SPRT 0x0200
173#define ADIN1100_MI_STATUS_MI_EXT_STAT_SPRT 0x0100
174#define ADIN1100_MI_STATUS_MI_UNIDIR_ABLE 0x0080
175#define ADIN1100_MI_STATUS_MI_MF_PREAM_SUP_ABLE 0x0040
176#define ADIN1100_MI_STATUS_MI_AN_COMPLETE 0x0020
177#define ADIN1100_MI_STATUS_MI_REM_FLT 0x0010
178#define ADIN1100_MI_STATUS_MI_AN_ABLE 0x0008
179#define ADIN1100_MI_STATUS_MI_LINK_STAT_LAT 0x0004
180#define ADIN1100_MI_STATUS_MI_JABBER_DET 0x0002
181#define ADIN1100_MI_STATUS_MI_EXT_CAPABLE 0x0001
184#define ADIN1100_MI_PHY_ID1_MI_PHY_ID1 0xFFFF
185#define ADIN1100_MI_PHY_ID1_MI_PHY_ID1_DEFAULT 0x0283
188#define ADIN1100_MI_PHY_ID2_MI_PHY_ID2_OUI 0xFC00
189#define ADIN1100_MI_PHY_ID2_MI_PHY_ID2_OUI_DEFAULT 0xBC00
190#define ADIN1100_MI_PHY_ID2_MI_MODEL_NUM 0x03F0
191#define ADIN1100_MI_PHY_ID2_MI_MODEL_NUM_DEFAULT 0x0080
192#define ADIN1100_MI_PHY_ID2_MI_REV_NUM 0x000F
193#define ADIN1100_MI_PHY_ID2_MI_REV_NUM_DEFAULT 0x0001
196#define ADIN1100_MMD_ACCESS_CNTRL_MMD_ACR_FUNCTION 0xC000
197#define ADIN1100_MMD_ACCESS_CNTRL_MMD_ACR_FUNCTION_ADDR 0x0000
198#define ADIN1100_MMD_ACCESS_CNTRL_MMD_ACR_FUNCTION_DATA_NO_POST_INC 0x4000
199#define ADIN1100_MMD_ACCESS_CNTRL_MMD_ACR_FUNCTION_DATA_POST_INC_RW 0x8000
200#define ADIN1100_MMD_ACCESS_CNTRL_MMD_ACR_FUNCTION_DATA_POST_INC_W 0xC000
201#define ADIN1100_MMD_ACCESS_CNTRL_MMD_ACR_DEVAD 0x001F
204#define ADIN1100_PMA_PMD_CNTRL1_PMA_SFT_RST 0x8000
205#define ADIN1100_PMA_PMD_CNTRL1_PMA_SFT_PD 0x0800
206#define ADIN1100_PMA_PMD_CNTRL1_LB_PMA_LOC_EN 0x0001
209#define ADIN1100_PMA_PMD_STAT1_PMA_LINK_STAT_OK_LL 0x0004
210#define ADIN1100_PMA_PMD_STAT1_PMA_SFT_PD_ABLE 0x0002
213#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL 0x007F
214#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_CX4 0x0000
215#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_EW 0x0001
216#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_LW 0x0002
217#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_SW 0x0003
218#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_LX4 0x0004
219#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_ER 0x0005
220#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_LR 0x0006
221#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_SR 0x0007
222#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_LRM 0x0008
223#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_T 0x0009
224#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_KX4 0x000A
225#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_KR 0x000B
226#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_1000BASE_T 0x000C
227#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_1000BASE_KX 0x000D
228#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_100BASE_TX 0x000E
229#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10BASE_T 0x000F
230#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10_1GBASE_PRX_D1 0x0010
231#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10_1GBASE_PRX_D2 0x0011
232#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10_1GBASE_PRX_D3 0x0012
233#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_PR_D1 0x0013
234#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_PR_D2 0x0014
235#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_PR_D3 0x0015
236#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10_1GBASE_PRX_U1 0x0016
237#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10_1GBASE_PRX_U2 0x0017
238#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10_1GBASE_PRX_U3 0x0018
239#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_PR_U1 0x0019
240#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_PR_U3 0x001A
241#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_RESERVED 0x001B
242#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_PR_D4 0x001C
243#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10_1GBASE_PRX_D4 0x001D
244#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GBASE_PR_U4 0x001E
245#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10_1GBASE_PRX_U4 0x001F
246#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_40GBASE_KR4 0x0020
247#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_40GBASE_CR4 0x0021
248#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_40GBASE_SR4 0x0022
249#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_40GBASE_LR4 0x0023
250#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_40GBASE_FR 0x0024
251#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_40GBASE_ER4 0x0025
252#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_40GBASE_T 0x0026
253#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_100GBASE_CR10 0x0028
254#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_100GBASE_SR10 0x0029
255#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_100GBASE_LR4 0x002A
256#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_100GBASE_ER4 0x002B
257#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_100GBASE_KP4 0x002C
258#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_100GBASE_KR4 0x002D
259#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_100GBASE_CR4 0x002E
260#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_100GBASE_SR4 0x002F
261#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_2_5GBASE_T 0x0030
262#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_5GBASE_T 0x0031
263#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GPASS_XR_D 0x0032
264#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_10GPASS_XR_U 0x0033
265#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_BASE_H 0x0034
266#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_25GBASE_LR 0x0035
267#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_25GBASE_ER 0x0036
268#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_25GBASE_T 0x0037
269#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_25GBASE_CR 0x0038
270#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_25GBASE_KR 0x0039
271#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_25GBASE_SR 0x003A
272#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_BASE_T1 0x003D
273#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_200GBASE_DR4 0x0053
274#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_200GBASE_FR4 0x0054
275#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_200GBASE_LR4 0x0055
276#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_400GBASE_SR16 0x0059
277#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_400GBASE_DR4 0x005A
278#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_400GBASE_FR8 0x005B
279#define ADIN1100_PMA_PMD_CNTRL2_PMA_PMD_TYPE_SEL_400GBASE_LR8 0x005C
282#define ADIN1100_PMA_PMD_STAT2_PMA_PMD_PRESENT 0xC000
283#define ADIN1100_PMA_PMD_STAT2_PMA_PMD_EXT_ABLE 0x0200
284#define ADIN1100_PMA_PMD_STAT2_PMA_PMD_TX_DIS_ABLE 0x0100
285#define ADIN1100_PMA_PMD_STAT2_LB_PMA_LOC_ABLE 0x0001
288#define ADIN1100_PMA_PMD_TX_DIS_PMA_TX_DIS 0x0001
291#define ADIN1100_PMA_PMD_EXT_ABILITY_PMA_PMD_BT1_ABLE 0x0800
294#define ADIN1100_PMA_PMD_BT1_ABILITY_B10S_ABILITY 0x0008
295#define ADIN1100_PMA_PMD_BT1_ABILITY_B10L_ABILITY 0x0004
296#define ADIN1100_PMA_PMD_BT1_ABILITY_B1000_ABILITY 0x0002
297#define ADIN1100_PMA_PMD_BT1_ABILITY_B100_ABILITY 0x0001
300#define ADIN1100_PMA_PMD_BT1_CONTROL_CFG_MST 0x4000
301#define ADIN1100_PMA_PMD_BT1_CONTROL_BT1_TYPE_SEL 0x000F
302#define ADIN1100_PMA_PMD_BT1_CONTROL_BT1_TYPE_SEL_100BASE_T 0x0000
303#define ADIN1100_PMA_PMD_BT1_CONTROL_BT1_TYPE_SEL_1000BASE_T 0x0001
304#define ADIN1100_PMA_PMD_BT1_CONTROL_BT1_TYPE_SEL_10BASE_T1L 0x0002
305#define ADIN1100_PMA_PMD_BT1_CONTROL_BT1_TYPE_SEL_10BASE_T1S 0x0003
308#define ADIN1100_B10L_PMA_CNTRL_B10L_TX_DIS_MODE_EN 0x4000
309#define ADIN1100_B10L_PMA_CNTRL_B10L_TX_LVL_HI 0x1000
310#define ADIN1100_B10L_PMA_CNTRL_B10L_EEE 0x0400
311#define ADIN1100_B10L_PMA_CNTRL_B10L_LB_PMA_LOC_EN 0x0001
314#define ADIN1100_B10L_PMA_STAT_B10L_LB_PMA_LOC_ABLE 0x2000
315#define ADIN1100_B10L_PMA_STAT_B10L_TX_LVL_HI_ABLE 0x1000
316#define ADIN1100_B10L_PMA_STAT_B10L_PMA_SFT_PD_ABLE 0x0800
317#define ADIN1100_B10L_PMA_STAT_B10L_EEE_ABLE 0x0400
320#define ADIN1100_B10L_TEST_MODE_CNTRL_B10L_TX_TEST_MODE 0xE000
323#define ADIN1100_B10L_PMA_LINK_STAT_B10L_REM_RCVR_STAT_OK_LL 0x0200
324#define ADIN1100_B10L_PMA_LINK_STAT_B10L_REM_RCVR_STAT_OK 0x0100
325#define ADIN1100_B10L_PMA_LINK_STAT_B10L_LOC_RCVR_STAT_OK_LL 0x0080
326#define ADIN1100_B10L_PMA_LINK_STAT_B10L_LOC_RCVR_STAT_OK 0x0040
327#define ADIN1100_B10L_PMA_LINK_STAT_B10L_DSCR_STAT_OK_LL 0x0020
328#define ADIN1100_B10L_PMA_LINK_STAT_B10L_DSCR_STAT_OK 0x0010
329#define ADIN1100_B10L_PMA_LINK_STAT_B10L_LINK_STAT_OK_LL 0x0002
330#define ADIN1100_B10L_PMA_LINK_STAT_B10L_LINK_STAT_OK 0x0001
333#define ADIN1100_PCS_CNTRL1_PCS_SFT_RST 0x8000
334#define ADIN1100_PCS_CNTRL1_LB_PCS_EN 0x4000
335#define ADIN1100_PCS_CNTRL1_PCS_SFT_PD 0x0800
338#define ADIN1100_PCS_STAT1_PCS_SFT_PD_ABLE 0x0002
341#define ADIN1100_PCS_STAT2_PCS_PRESENT 0xC000
344#define ADIN1100_B10L_PCS_CNTRL_B10L_LB_PCS_EN 0x4000
347#define ADIN1100_B10L_PCS_STAT_B10L_PCS_DSCR_STAT_OK_LL 0x0004
350#define ADIN1100_AN_CONTROL_AN_EN 0x1000
351#define ADIN1100_AN_CONTROL_AN_RESTART 0x0200
354#define ADIN1100_AN_STATUS_AN_PAGE_RX 0x0040
355#define ADIN1100_AN_STATUS_AN_COMPLETE 0x0020
356#define ADIN1100_AN_STATUS_AN_REMOTE_FAULT 0x0010
357#define ADIN1100_AN_STATUS_AN_ABLE 0x0008
358#define ADIN1100_AN_STATUS_AN_LINK_STATUS 0x0004
361#define ADIN1100_AN_ADV_ABILITY_L_AN_ADV_NEXT_PAGE_REQ 0x8000
362#define ADIN1100_AN_ADV_ABILITY_L_AN_ADV_ACK 0x4000
363#define ADIN1100_AN_ADV_ABILITY_L_AN_ADV_REMOTE_FAULT 0x2000
364#define ADIN1100_AN_ADV_ABILITY_L_AN_ADV_FORCE_MS 0x1000
365#define ADIN1100_AN_ADV_ABILITY_L_AN_ADV_PAUSE 0x0C00
366#define ADIN1100_AN_ADV_ABILITY_L_AN_ADV_SELECTOR 0x001F
367#define ADIN1100_AN_ADV_ABILITY_L_AN_ADV_SELECTOR_DEFAULT 0x0001
370#define ADIN1100_AN_ADV_ABILITY_M_AN_ADV_B10L 0x4000
371#define ADIN1100_AN_ADV_ABILITY_M_AN_ADV_MST 0x0010
374#define ADIN1100_AN_ADV_ABILITY_H_AN_ADV_B10L_TX_LVL_HI_ABL 0x2000
375#define ADIN1100_AN_ADV_ABILITY_H_AN_ADV_B10L_TX_LVL_HI_REQ 0x1000
378#define ADIN1100_AN_LP_ADV_ABILITY_L_AN_LP_ADV_NEXT_PAGE_REQ 0x8000
379#define ADIN1100_AN_LP_ADV_ABILITY_L_AN_LP_ADV_ACK 0x4000
380#define ADIN1100_AN_LP_ADV_ABILITY_L_AN_LP_ADV_REMOTE_FAULT 0x2000
381#define ADIN1100_AN_LP_ADV_ABILITY_L_AN_LP_ADV_FORCE_MS 0x1000
382#define ADIN1100_AN_LP_ADV_ABILITY_L_AN_LP_ADV_PAUSE 0x0C00
383#define ADIN1100_AN_LP_ADV_ABILITY_L_AN_LP_ADV_SELECTOR 0x001F
386#define ADIN1100_AN_LP_ADV_ABILITY_M_AN_LP_ADV_B10L 0x4000
387#define ADIN1100_AN_LP_ADV_ABILITY_M_AN_LP_ADV_B1000 0x0080
388#define ADIN1100_AN_LP_ADV_ABILITY_M_AN_LP_ADV_B10S_FD 0x0040
389#define ADIN1100_AN_LP_ADV_ABILITY_M_AN_LP_ADV_B100 0x0020
390#define ADIN1100_AN_LP_ADV_ABILITY_M_AN_LP_ADV_MST 0x0010
393#define ADIN1100_AN_LP_ADV_ABILITY_H_AN_LP_ADV_B10L_EEE 0x4000
394#define ADIN1100_AN_LP_ADV_ABILITY_H_AN_LP_ADV_B10L_TX_LVL_HI_ABL 0x2000
395#define ADIN1100_AN_LP_ADV_ABILITY_H_AN_LP_ADV_B10L_TX_LVL_HI_REQ 0x1000
396#define ADIN1100_AN_LP_ADV_ABILITY_H_AN_LP_ADV_B10S_HD 0x0800
399#define ADIN1100_AN_NEXT_PAGE_L_AN_NP_NEXT_PAGE_REQ 0x8000
400#define ADIN1100_AN_NEXT_PAGE_L_AN_NP_ACK 0x4000
401#define ADIN1100_AN_NEXT_PAGE_L_AN_NP_MESSAGE_PAGE 0x2000
402#define ADIN1100_AN_NEXT_PAGE_L_AN_NP_ACK2 0x1000
403#define ADIN1100_AN_NEXT_PAGE_L_AN_NP_TOGGLE 0x0800
404#define ADIN1100_AN_NEXT_PAGE_L_AN_NP_MESSAGE_CODE 0x07FF
405#define ADIN1100_AN_NEXT_PAGE_L_AN_NP_MESSAGE_CODE_NULL 0x0001
406#define ADIN1100_AN_NEXT_PAGE_L_AN_NP_MESSAGE_CODE_OUI_TAGGED 0x0005
407#define ADIN1100_AN_NEXT_PAGE_L_AN_NP_MESSAGE_CODE_AN_DEV_ID_TAG 0x0006
410#define ADIN1100_AN_NEXT_PAGE_M_AN_NP_UNFORMATTED1 0xFFFF
413#define ADIN1100_AN_NEXT_PAGE_H_AN_NP_UNFORMATTED2 0xFFFF
416#define ADIN1100_AN_LP_NEXT_PAGE_L_AN_LP_NP_NEXT_PAGE_REQ 0x8000
417#define ADIN1100_AN_LP_NEXT_PAGE_L_AN_LP_NP_ACK 0x4000
418#define ADIN1100_AN_LP_NEXT_PAGE_L_AN_LP_NP_MESSAGE_PAGE 0x2000
419#define ADIN1100_AN_LP_NEXT_PAGE_L_AN_LP_NP_ACK2 0x1000
420#define ADIN1100_AN_LP_NEXT_PAGE_L_AN_LP_NP_TOGGLE 0x0800
421#define ADIN1100_AN_LP_NEXT_PAGE_L_AN_LP_NP_MESSAGE_CODE 0x07FF
422#define ADIN1100_AN_LP_NEXT_PAGE_L_AN_LP_NP_MESSAGE_CODE_NULL 0x0001
423#define ADIN1100_AN_LP_NEXT_PAGE_L_AN_LP_NP_MESSAGE_CODE_OUI_TAGGED 0x0005
424#define ADIN1100_AN_LP_NEXT_PAGE_L_AN_LP_NP_MESSAGE_CODE_AN_DEV_ID_TAG 0x0006
427#define ADIN1100_AN_LP_NEXT_PAGE_M_AN_LP_NP_UNFORMATTED1 0xFFFF
430#define ADIN1100_AN_LP_NEXT_PAGE_H_AN_LP_NP_UNFORMATTED2 0xFFFF
433#define ADIN1100_AN_B10_ADV_ABILITY_AN_B10_ADV_B10L 0x8000
434#define ADIN1100_AN_B10_ADV_ABILITY_AN_B10_ADV_B10L_EEE 0x4000
435#define ADIN1100_AN_B10_ADV_ABILITY_AN_B10_ADV_B10L_TX_LVL_HI_ABL 0x2000
436#define ADIN1100_AN_B10_ADV_ABILITY_AN_B10_ADV_B10L_TX_LVL_HI_REQ 0x1000
439#define ADIN1100_AN_B10_LP_ADV_ABILITY_AN_B10_LP_ADV_B10L 0x8000
440#define ADIN1100_AN_B10_LP_ADV_ABILITY_AN_B10_LP_ADV_B10L_EEE 0x4000
441#define ADIN1100_AN_B10_LP_ADV_ABILITY_AN_B10_LP_ADV_B10L_TX_LVL_HI_ABL 0x2000
442#define ADIN1100_AN_B10_LP_ADV_ABILITY_AN_B10_LP_ADV_B10L_TX_LVL_HI_REQ 0x1000
443#define ADIN1100_AN_B10_LP_ADV_ABILITY_AN_B10_LP_ADV_B10S_FD 0x0080
444#define ADIN1100_AN_B10_LP_ADV_ABILITY_AN_B10_LP_ADV_B10S_HD 0x0040
447#define ADIN1100_AN_FRC_MODE_EN_AN_FRC_MODE_EN 0x0001
450#define ADIN1100_AN_STATUS_EXTRA_AN_LP_NP_RX 0x0400
451#define ADIN1100_AN_STATUS_EXTRA_AN_INC_LINK 0x0200
452#define ADIN1100_AN_STATUS_EXTRA_AN_TX_LVL_RSLTN 0x0180
453#define ADIN1100_AN_STATUS_EXTRA_AN_TX_LVL_RSLTN_NOT_RUN 0x0000
454#define ADIN1100_AN_STATUS_EXTRA_AN_TX_LVL_RSLTN_SUCCESS_1_0V 0x0100
455#define ADIN1100_AN_STATUS_EXTRA_AN_TX_LVL_RSLTN_SUCCESS_2_4V 0x0180
456#define ADIN1100_AN_STATUS_EXTRA_AN_MS_CONFIG_RSLTN 0x0060
457#define ADIN1100_AN_STATUS_EXTRA_AN_MS_CONFIG_RSLTN_NOT_RUN 0x0000
458#define ADIN1100_AN_STATUS_EXTRA_AN_MS_CONFIG_RSLTN_CONFIG_FAULT 0x0020
459#define ADIN1100_AN_STATUS_EXTRA_AN_MS_CONFIG_RSLTN_SUCCESS_SLAVE 0x0040
460#define ADIN1100_AN_STATUS_EXTRA_AN_MS_CONFIG_RSLTN_SUCCESS_MASTER 0x0060
461#define ADIN1100_AN_STATUS_EXTRA_AN_HCD_TECH 0x001E
462#define ADIN1100_AN_STATUS_EXTRA_AN_HCD_TECH_NULL 0x0000
463#define ADIN1100_AN_STATUS_EXTRA_AN_HCD_TECH_10BASE_T1L 0x0002
464#define ADIN1100_AN_STATUS_EXTRA_AN_LINK_GOOD 0x0001
467#define ADIN1100_AN_PHY_INST_STATUS_IS_AN_TX_EN 0x0010
468#define ADIN1100_AN_PHY_INST_STATUS_IS_CFG_MST 0x0008
469#define ADIN1100_AN_PHY_INST_STATUS_IS_CFG_SLV 0x0004
470#define ADIN1100_AN_PHY_INST_STATUS_IS_TX_LVL_HI 0x0002
471#define ADIN1100_AN_PHY_INST_STATUS_IS_TX_LVL_LO 0x0001
474#define ADIN1100_MMD1_DEV_ID1_MMD1_DEV_ID1 0xFFFF
475#define ADIN1100_MMD1_DEV_ID1_MMD1_DEV_ID1_DEFAULT 0x0283
478#define ADIN1100_MMD1_DEV_ID2_MMD1_DEV_ID2_OUI 0xFC00
479#define ADIN1100_MMD1_DEV_ID2_MMD1_DEV_ID2_OUI_DEFAULT 0xBC00
480#define ADIN1100_MMD1_DEV_ID2_MMD1_MODEL_NUM 0x03F0
481#define ADIN1100_MMD1_DEV_ID2_MMD1_MODEL_NUM_DEFAULT 0x0080
482#define ADIN1100_MMD1_DEV_ID2_MMD1_REV_NUM 0x000F
483#define ADIN1100_MMD1_DEV_ID2_MMD1_REV_NUM_DEFAULT 0x0001
486#define ADIN1100_MMD1_STATUS_MMD1_STATUS 0xC000
487#define ADIN1100_MMD1_STATUS_MMD1_STATUS_DEV_RESP 0x8000
490#define ADIN1100_CRSM_IRQ_STATUS_CRSM_SW_IRQ_LH 0x8000
491#define ADIN1100_CRSM_IRQ_STATUS_CRSM_HRD_RST_IRQ_LH 0x1000
494#define ADIN1100_CRSM_IRQ_MASK_CRSM_SW_IRQ_REQ 0x8000
495#define ADIN1100_CRSM_IRQ_MASK_CRSM_HRD_RST_IRQ_EN 0x1000
498#define ADIN1100_CRSM_SFT_RST_CRSM_SFT_RST 0x0001
501#define ADIN1100_CRSM_SFT_PD_CNTRL_CRSM_SFT_PD 0x0001
504#define ADIN1100_CRSM_PHY_SUBSYS_RST_CRSM_PHY_SUBSYS_RST 0x0001
507#define ADIN1100_CRSM_MAC_IF_RST_CRSM_MAC_IF_RST 0x0001
510#define ADIN1100_CRSM_STAT_CRSM_SFT_PD_RDY 0x0002
511#define ADIN1100_CRSM_STAT_CRSM_SYS_RDY 0x0001
514#define ADIN1100_CRSM_PMG_CNTRL_CRSM_FRC_OSC_EN 0x0001
517#define ADIN1100_CRSM_MAC_IF_CFG_CRSM_RMII_CLK50 0x8000
518#define ADIN1100_CRSM_MAC_IF_CFG_CRSM_RMII_CLK_EN 0x4000
519#define ADIN1100_CRSM_MAC_IF_CFG_CRSM_RMII_MEDIA_CNV_EN 0x0100
520#define ADIN1100_CRSM_MAC_IF_CFG_CRSM_RMII_EN 0x0010
521#define ADIN1100_CRSM_MAC_IF_CFG_CRSM_RGMII_EN 0x0001
524#define ADIN1100_CRSM_DIAG_CLK_CTRL_CRSM_DIAG_CLK_EN 0x0001
527#define ADIN1100_MGMT_PRT_PKG_MGMT_PRT_PKG_VAL 0x003F
530#define ADIN1100_MGMT_MDIO_CNTRL_MGMT_GRP_MDIO_EN 0x0001
533#define ADIN1100_DIGIO_PINMUX_DIGIO_LED1_PINMUX 0x000E
534#define ADIN1100_DIGIO_PINMUX_DIGIO_LED1_PINMUX_LED_1 0x0000
535#define ADIN1100_DIGIO_PINMUX_DIGIO_LED1_PINMUX_NONE 0x000E
536#define ADIN1100_DIGIO_PINMUX_DIGIO_LINK_ST_POLARITY 0x0001
537#define ADIN1100_DIGIO_PINMUX_DIGIO_LINK_ST_POLARITY_ASSERT_HIGH 0x0000
538#define ADIN1100_DIGIO_PINMUX_DIGIO_LINK_ST_POLARITY_ASSERT_LOW 0x0001
541#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX 0x00F0
542#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_RXD_3 0x0000
543#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_RXD_2 0x0010
544#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_RXD_1 0x0020
545#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_RX_CLK 0x0030
546#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_RX_DV 0x0040
547#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_RX_ER 0x0050
548#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_TX_ER 0x0060
549#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_TX_EN 0x0070
550#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_TX_CLK 0x0080
551#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_TXD_1 0x0090
552#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_TXD_2 0x00A0
553#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_TXD_3 0x00B0
554#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_LINK_ST 0x00C0
555#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_LED_0 0x00D0
556#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_LED_1 0x00E0
557#define ADIN1100_DIGIO_PINMUX2_DIGIO_RXSOP_PINMUX_OFF 0x00F0
558#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX 0x000F
559#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_RXD_3 0x0000
560#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_RXD_2 0x0001
561#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_RXD_1 0x0002
562#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_RX_CLK 0x0003
563#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_RX_DV 0x0004
564#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_RX_ER 0x0005
565#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_TX_ER 0x0006
566#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_TX_EN 0x0007
567#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_TX_CLK 0x0008
568#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_TXD_1 0x0009
569#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_TXD_2 0x000A
570#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_TXD_3 0x000B
571#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_LINK_ST 0x000C
572#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_LED_0 0x000D
573#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_LED_1 0x000E
574#define ADIN1100_DIGIO_PINMUX2_DIGIO_TXSOP_PINMUX_OFF 0x000F
577#define ADIN1100_LED0_BLINK_TIME_CNTRL_LED0_ON_N4MS 0xFF00
578#define ADIN1100_LED0_BLINK_TIME_CNTRL_LED0_OFF_N4MS 0x00FF
581#define ADIN1100_LED1_BLINK_TIME_CNTRL_LED1_ON_N4MS 0xFF00
582#define ADIN1100_LED1_BLINK_TIME_CNTRL_LED1_OFF_N4MS 0x00FF
585#define ADIN1100_LED_CNTRL_LED1_EN 0x8000
586#define ADIN1100_LED_CNTRL_LED1_LINK_ST_QUALIFY 0x4000
587#define ADIN1100_LED_CNTRL_LED1_MODE 0x2000
588#define ADIN1100_LED_CNTRL_LED1_FUNCTION 0x1F00
589#define ADIN1100_LED_CNTRL_LED1_FUNCTION_LINKUP_TXRX_ACTIVITY 0x0000
590#define ADIN1100_LED_CNTRL_LED1_FUNCTION_LINKUP_TX_ACTIVITY 0x0100
591#define ADIN1100_LED_CNTRL_LED1_FUNCTION_LINKUP_RX_ACTIVITY 0x0200
592#define ADIN1100_LED_CNTRL_LED1_FUNCTION_LINKUP_ONLY 0x0300
593#define ADIN1100_LED_CNTRL_LED1_FUNCTION_TXRX_ACTIVITY 0x0400
594#define ADIN1100_LED_CNTRL_LED1_FUNCTION_TX_ACTIVITY 0x0500
595#define ADIN1100_LED_CNTRL_LED1_FUNCTION_RX_ACTIVITY 0x0600
596#define ADIN1100_LED_CNTRL_LED1_FUNCTION_LINKUP_RX_ER 0x0700
597#define ADIN1100_LED_CNTRL_LED1_FUNCTION_LINKUP_RX_TX_ER 0x0800
598#define ADIN1100_LED_CNTRL_LED1_FUNCTION_RX_ER 0x0900
599#define ADIN1100_LED_CNTRL_LED1_FUNCTION_RX_TX_ER 0x0A00
600#define ADIN1100_LED_CNTRL_LED1_FUNCTION_TX_SOP 0x0B00
601#define ADIN1100_LED_CNTRL_LED1_FUNCTION_RX_SOP 0x0C00
602#define ADIN1100_LED_CNTRL_LED1_FUNCTION_ON 0x0D00
603#define ADIN1100_LED_CNTRL_LED1_FUNCTION_OFF 0x0E00
604#define ADIN1100_LED_CNTRL_LED1_FUNCTION_BLINK 0x0F00
605#define ADIN1100_LED_CNTRL_LED1_FUNCTION_TX_LEVEL_2P4 0x1000
606#define ADIN1100_LED_CNTRL_LED1_FUNCTION_TX_LEVEL_1P0 0x1100
607#define ADIN1100_LED_CNTRL_LED1_FUNCTION_MASTER 0x1200
608#define ADIN1100_LED_CNTRL_LED1_FUNCTION_SLAVE 0x1300
609#define ADIN1100_LED_CNTRL_LED1_FUNCTION_INCOMPATIBLE_LINK_CFG 0x1400
610#define ADIN1100_LED_CNTRL_LED1_FUNCTION_AN_LINK_GOOD 0x1500
611#define ADIN1100_LED_CNTRL_LED1_FUNCTION_AN_COMPLETE 0x1600
612#define ADIN1100_LED_CNTRL_LED1_FUNCTION_TS_TIMER 0x1700
613#define ADIN1100_LED_CNTRL_LED1_FUNCTION_LOC_RCVR_STATUS 0x1800
614#define ADIN1100_LED_CNTRL_LED1_FUNCTION_REM_RCVR_STATUS 0x1900
615#define ADIN1100_LED_CNTRL_LED1_FUNCTION_CLK25_REF 0x1A00
616#define ADIN1100_LED_CNTRL_LED1_FUNCTION_TX_TCLK 0x1B00
617#define ADIN1100_LED_CNTRL_LED1_FUNCTION_CLK_120MHZ 0x1C00
618#define ADIN1100_LED_CNTRL_LED0_EN 0x0080
619#define ADIN1100_LED_CNTRL_LED0_LINK_ST_QUALIFY 0x0040
620#define ADIN1100_LED_CNTRL_LED0_MODE 0x0020
621#define ADIN1100_LED_CNTRL_LED0_FUNCTION 0x001F
622#define ADIN1100_LED_CNTRL_LED0_FUNCTION_LINKUP_TXRX_ACTIVITY 0x0000
623#define ADIN1100_LED_CNTRL_LED0_FUNCTION_LINKUP_TX_ACTIVITY 0x0001
624#define ADIN1100_LED_CNTRL_LED0_FUNCTION_LINKUP_RX_ACTIVITY 0x0002
625#define ADIN1100_LED_CNTRL_LED0_FUNCTION_LINKUP_ONLY 0x0003
626#define ADIN1100_LED_CNTRL_LED0_FUNCTION_TXRX_ACTIVITY 0x0004
627#define ADIN1100_LED_CNTRL_LED0_FUNCTION_TX_ACTIVITY 0x0005
628#define ADIN1100_LED_CNTRL_LED0_FUNCTION_RX_ACTIVITY 0x0006
629#define ADIN1100_LED_CNTRL_LED0_FUNCTION_LINKUP_RX_ER 0x0007
630#define ADIN1100_LED_CNTRL_LED0_FUNCTION_LINKUP_RX_TX_ER 0x0008
631#define ADIN1100_LED_CNTRL_LED0_FUNCTION_RX_ER 0x0009
632#define ADIN1100_LED_CNTRL_LED0_FUNCTION_RX_TX_ER 0x000A
633#define ADIN1100_LED_CNTRL_LED0_FUNCTION_TX_SOP 0x000B
634#define ADIN1100_LED_CNTRL_LED0_FUNCTION_RX_SOP 0x000C
635#define ADIN1100_LED_CNTRL_LED0_FUNCTION_ON 0x000D
636#define ADIN1100_LED_CNTRL_LED0_FUNCTION_OFF 0x000E
637#define ADIN1100_LED_CNTRL_LED0_FUNCTION_BLINK 0x000F
638#define ADIN1100_LED_CNTRL_LED0_FUNCTION_TX_LEVEL_2P4 0x0010
639#define ADIN1100_LED_CNTRL_LED0_FUNCTION_TX_LEVEL_1P0 0x0011
640#define ADIN1100_LED_CNTRL_LED0_FUNCTION_MASTER 0x0012
641#define ADIN1100_LED_CNTRL_LED0_FUNCTION_SLAVE 0x0013
642#define ADIN1100_LED_CNTRL_LED0_FUNCTION_INCOMPATIBLE_LINK_CFG 0x0014
643#define ADIN1100_LED_CNTRL_LED0_FUNCTION_AN_LINK_GOOD 0x0015
644#define ADIN1100_LED_CNTRL_LED0_FUNCTION_AN_COMPLETE 0x0016
645#define ADIN1100_LED_CNTRL_LED0_FUNCTION_TS_TIMER 0x0017
646#define ADIN1100_LED_CNTRL_LED0_FUNCTION_LOC_RCVR_STATUS 0x0018
647#define ADIN1100_LED_CNTRL_LED0_FUNCTION_REM_RCVR_STATUS 0x0019
648#define ADIN1100_LED_CNTRL_LED0_FUNCTION_CLK25_REF 0x001A
649#define ADIN1100_LED_CNTRL_LED0_FUNCTION_TX_TCLK 0x001B
650#define ADIN1100_LED_CNTRL_LED0_FUNCTION_CLK_120MHZ 0x001C
653#define ADIN1100_LED_POLARITY_LED1_POLARITY 0x000C
654#define ADIN1100_LED_POLARITY_LED1_POLARITY_AUTOSENSE 0x0000
655#define ADIN1100_LED_POLARITY_LED1_POLARITY_ACTIVE_HIGH 0x0004
656#define ADIN1100_LED_POLARITY_LED1_POLARITY_ACTIVE_LOW 0x0008
657#define ADIN1100_LED_POLARITY_LED0_POLARITY 0x0003
658#define ADIN1100_LED_POLARITY_LED0_POLARITY_AUTOSENSE 0x0000
659#define ADIN1100_LED_POLARITY_LED0_POLARITY_ACTIVE_HIGH 0x0001
660#define ADIN1100_LED_POLARITY_LED0_POLARITY_ACTIVE_LOW 0x0002
663#define ADIN1100_MMD2_DEV_ID1_MMD2_DEV_ID1 0xFFFF
664#define ADIN1100_MMD2_DEV_ID1_MMD2_DEV_ID1_DEFAULT 0x0283
667#define ADIN1100_MMD2_DEV_ID2_MMD2_DEV_ID2_OUI 0xFC00
668#define ADIN1100_MMD2_DEV_ID2_MMD2_DEV_ID2_OUI_DEFAULT 0xBC00
669#define ADIN1100_MMD2_DEV_ID2_MMD2_MODEL_NUM 0x03F0
670#define ADIN1100_MMD2_DEV_ID2_MMD2_MODEL_NUM_DEFAULT 0x0080
671#define ADIN1100_MMD2_DEV_ID2_MMD2_REV_NUM 0x000F
672#define ADIN1100_MMD2_DEV_ID2_MMD2_REV_NUM_DEFAULT 0x0001
675#define ADIN1100_MMD2_STATUS_MMD2_STATUS 0xC000
676#define ADIN1100_MMD2_STATUS_MMD2_STATUS_DEV_RESP 0x8000
679#define ADIN1100_PHY_SUBSYS_IRQ_STATUS_MAC_IF_FC_FG_IRQ_LH 0x4000
680#define ADIN1100_PHY_SUBSYS_IRQ_STATUS_MAC_IF_EBUF_ERR_IRQ_LH 0x2000
681#define ADIN1100_PHY_SUBSYS_IRQ_STATUS_AN_STAT_CHNG_IRQ_LH 0x0800
682#define ADIN1100_PHY_SUBSYS_IRQ_STATUS_LINK_STAT_CHNG_LH 0x0002
685#define ADIN1100_PHY_SUBSYS_IRQ_MASK_MAC_IF_FC_FG_IRQ_EN 0x4000
686#define ADIN1100_PHY_SUBSYS_IRQ_MASK_MAC_IF_EBUF_ERR_IRQ_EN 0x2000
687#define ADIN1100_PHY_SUBSYS_IRQ_MASK_AN_STAT_CHNG_IRQ_EN 0x0800
688#define ADIN1100_PHY_SUBSYS_IRQ_MASK_LINK_STAT_CHNG_IRQ_EN 0x0002
691#define ADIN1100_FC_EN_FC_EN 0x0001
694#define ADIN1100_FC_IRQ_EN_FC_IRQ_EN 0x0001
697#define ADIN1100_FC_TX_SEL_FC_TX_SEL 0x0001
700#define ADIN1100_FG_EN_FG_EN 0x0001
703#define ADIN1100_FG_CNTRL_RSTRT_FG_RSTRT 0x0008
704#define ADIN1100_FG_CNTRL_RSTRT_FG_CNTRL 0x0007
705#define ADIN1100_FG_CNTRL_RSTRT_FG_CNTRL_NO_FRAMES 0x0000
706#define ADIN1100_FG_CNTRL_RSTRT_FG_CNTRL_RANDOM 0x0001
707#define ADIN1100_FG_CNTRL_RSTRT_FG_CNTRL_ALL_ZEROS 0x0002
708#define ADIN1100_FG_CNTRL_RSTRT_FG_CNTRL_ALL_ONES 0x0003
709#define ADIN1100_FG_CNTRL_RSTRT_FG_CNTRL_ALT 0x0004
710#define ADIN1100_FG_CNTRL_RSTRT_FG_CNTRL_DEC 0x0005
713#define ADIN1100_FG_CONT_MODE_EN_FG_CONT_MODE_EN 0x0001
716#define ADIN1100_FG_IRQ_EN_FG_IRQ_EN 0x0001
719#define ADIN1100_FG_DONE_FG_DONE 0x0001
722#define ADIN1100_RMII_CFG_RMII_TXD_CHK_EN 0x0001
725#define ADIN1100_MAC_IF_LOOPBACK_MAC_IF_REM_LB_RX_SUP_EN 0x0008
726#define ADIN1100_MAC_IF_LOOPBACK_MAC_IF_REM_LB_EN 0x0004
727#define ADIN1100_MAC_IF_LOOPBACK_MAC_IF_LB_TX_SUP_EN 0x0002
728#define ADIN1100_MAC_IF_LOOPBACK_MAC_IF_LB_EN 0x0001
731#define ADIN1100_MAC_IF_SOP_CNTRL_MAC_IF_TX_SOP_LEN_CHK_EN 0x0020
732#define ADIN1100_MAC_IF_SOP_CNTRL_MAC_IF_TX_SOP_SFD_EN 0x0010
733#define ADIN1100_MAC_IF_SOP_CNTRL_MAC_IF_TX_SOP_DET_EN 0x0008
734#define ADIN1100_MAC_IF_SOP_CNTRL_MAC_IF_RX_SOP_LEN_CHK_EN 0x0004
735#define ADIN1100_MAC_IF_SOP_CNTRL_MAC_IF_RX_SOP_SFD_EN 0x0002
736#define ADIN1100_MAC_IF_SOP_CNTRL_MAC_IF_RX_SOP_DET_EN 0x0001
747error_t adin1100Init(NetInterface *interface);
748void adin1100InitHook(NetInterface *interface);
750void adin1100Tick(NetInterface *interface);
752void adin1100EnableIrq(NetInterface *interface);
753void adin1100DisableIrq(NetInterface *interface);
755void adin1100EventHandler(NetInterface *interface);
757void adin1100WritePhyReg(NetInterface *interface, uint8_t address,
760uint16_t adin1100ReadPhyReg(NetInterface *interface, uint8_t address);
762void adin1100DumpPhyReg(NetInterface *interface);
764void adin1100WriteMmdReg(NetInterface *interface, uint8_t devAddr,
765 uint16_t regAddr, uint16_t data);
767uint16_t adin1100ReadMmdReg(NetInterface *interface, uint8_t devAddr,
error_t
Error codes.
Definition error.h:43
Network interface controller abstraction layer.
Ethernet PHY driver.
Definition nic.h:308