Go to the documentation of this file.
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
uint16_t adin1100ReadPhyReg(NetInterface *interface, uint8_t address)
Read PHY register.
void adin1100EnableIrq(NetInterface *interface)
Enable interrupts.
void adin1100Tick(NetInterface *interface)
ADIN1100 timer handler.
error_t adin1100Init(NetInterface *interface)
ADIN1100 PHY transceiver initialization.
void adin1100DumpPhyReg(NetInterface *interface)
Dump PHY registers for debugging purpose.
void adin1100DisableIrq(NetInterface *interface)
Disable interrupts.
const PhyDriver adin1100PhyDriver
ADIN1100 Ethernet PHY driver.
uint16_t adin1100ReadMmdReg(NetInterface *interface, uint8_t devAddr, uint16_t regAddr)
Read MMD register.
void adin1100WritePhyReg(NetInterface *interface, uint8_t address, uint16_t data)
Write PHY register.
void adin1100EventHandler(NetInterface *interface)
ADIN1100 event handler.
void adin1100InitHook(NetInterface *interface)
ADIN1100 custom configuration.
Network interface controller abstraction layer.
void adin1100WriteMmdReg(NetInterface *interface, uint8_t devAddr, uint16_t regAddr, uint16_t data)
Write MMD register.