Go to the documentation of this file.
31 #ifndef _DP83TD510_DRIVER_H
32 #define _DP83TD510_DRIVER_H
38 #ifndef DP83TD510_PHY_ADDR
39 #define DP83TD510_PHY_ADDR 0
40 #elif (DP83TD510_PHY_ADDR < 0 || DP83TD510_PHY_ADDR > 31)
41 #error DP83TD510_PHY_ADDR parameter is not valid
45 #define DP83TD510_MII_REG_0 0x00
46 #define DP83TD510_MII_REG_2 0x02
47 #define DP83TD510_MII_REG_3 0x03
48 #define DP83TD510_REGCR 0x0D
49 #define DP83TD510_ADDAR 0x0E
50 #define DP83TD510_PHY_STS 0x10
51 #define DP83TD510_GEN_CFG 0x11
52 #define DP83TD510_INTERRUPT_REG_1 0x12
53 #define DP83TD510_INTERRUPT_REG_2 0x13
54 #define DP83TD510_RX_ERR_CNT 0x15
55 #define DP83TD510_BISCR 0x16
56 #define DP83TD510_MAC_CFG_1 0x17
57 #define DP83TD510_MAC_CFG_2 0x18
58 #define DP83TD510_SOR_PHYAD 0x19
59 #define DP83TD510_TDR_CFG 0x1E
62 #define DP83TD510_PAM_PMD_CTRL_1 0x01, 0x0000
63 #define DP83TD510_PMA_PMD_CTRL_2 0x01, 0x0007
64 #define DP83TD510_PMA_PMD_EXTENDED_ABILITY_2 0x01, 0x000B
65 #define DP83TD510_PMA_PMD_EXTENDED_ABILITY 0x01, 0x0012
66 #define DP83TD510_PMA_PMD_CTRL 0x01, 0x0834
67 #define DP83TD510_PMA_CTRL 0x01, 0x08F6
68 #define DP83TD510_PMA_STATUS 0x01, 0x08F7
69 #define DP83TD510_TEST_MODE_CTRL 0x01, 0x08F8
70 #define DP83TD510_PCS_CTRL 0x03, 0x0000
71 #define DP83TD510_PCS_CTRL_2 0x03, 0x08E6
72 #define DP83TD510_PCS_STATUS 0x03, 0x08E7
73 #define DP83TD510_AN_CONTROL 0x07, 0x0200
74 #define DP83TD510_AN_STATUS 0x07, 0x0201
75 #define DP83TD510_AN_ADV_1 0x07, 0x0202
76 #define DP83TD510_AN_ADV_2 0x07, 0x0203
77 #define DP83TD510_AN_ADV_3 0x07, 0x0204
78 #define DP83TD510_AN_LP_ADV_1 0x07, 0x0205
79 #define DP83TD510_AN_LP_ADV_2 0x07, 0x0206
80 #define DP83TD510_AN_LP_ADV_3 0x07, 0x0207
81 #define DP83TD510_AN_NP_ADV_1 0x07, 0x0208
82 #define DP83TD510_AN_NP_ADV_2 0x07, 0x0209
83 #define DP83TD510_AN_NP_ADV_3 0x07, 0x020A
84 #define DP83TD510_AN_LP_NP_ADV_1 0x07, 0x020B
85 #define DP83TD510_AN_LP_NP_ADV_2 0x07, 0x020C
86 #define DP83TD510_AN_LP_NP_ADV_3 0x07, 0x020D
87 #define DP83TD510_AN_CTRL_10BT1 0x07, 0x020E
88 #define DP83TD510_AN_STATUS_10BT1 0x07, 0x020F
89 #define DP83TD510_PRBS_CFG_1 0x1F, 0x0119
90 #define DP83TD510_PRBS_CFG_2 0x1F, 0x011A
91 #define DP83TD510_PRBS_CFG_3 0x1F, 0x011B
92 #define DP83TD510_PRBS_STATUS_1 0x1F, 0x011C
93 #define DP83TD510_PRBS_STATUS_2 0x1F, 0x011D
94 #define DP83TD510_PRBS_STATUS_3 0x1F, 0x011E
95 #define DP83TD510_PRBS_STATUS_4 0x1F, 0x011F
96 #define DP83TD510_PRBS_STATUS_5 0x1F, 0x0120
97 #define DP83TD510_PRBS_STATUS_6 0x1F, 0x0121
98 #define DP83TD510_PRBS_STATUS_7 0x1F, 0x0122
99 #define DP83TD510_PRBS_CFG_4 0x1F, 0x0123
100 #define DP83TD510_PRBS_CFG_5 0x1F, 0x0124
101 #define DP83TD510_PRBS_CFG_6 0x1F, 0x0125
102 #define DP83TD510_PRBS_CFG_7 0x1F, 0x0126
103 #define DP83TD510_PRBS_CFG_8 0x1F, 0x0127
104 #define DP83TD510_PRBS_CFG_9 0x1F, 0x0128
105 #define DP83TD510_PRBS_CFG_10 0x1F, 0x0129
106 #define DP83TD510_CRC_STATUS 0x1F, 0x012A
107 #define DP83TD510_PKT_STAT_1 0x1F, 0x012B
108 #define DP83TD510_PKT_STAT_2 0x1F, 0x012C
109 #define DP83TD510_PKT_STAT_3 0x1F, 0x012D
110 #define DP83TD510_PKT_STAT_4 0x1F, 0x012E
111 #define DP83TD510_PKT_STAT_5 0x1F, 0x012F
112 #define DP83TD510_PKT_STAT_6 0x1F, 0x0130
113 #define DP83TD510_TDR_CFG1 0x1F, 0x0300
114 #define DP83TD510_TDR_CFG2 0x1F, 0x0301
115 #define DP83TD510_TDR_CFG3 0x1F, 0x0302
116 #define DP83TD510_FAULT_CFG1 0x1F, 0x0303
117 #define DP83TD510_FAULT_CFG2 0x1F, 0x0304
118 #define DP83TD510_FAULT_STAT1 0x1F, 0x0305
119 #define DP83TD510_FAULT_STAT2 0x1F, 0x0306
120 #define DP83TD510_FAULT_STAT3 0x1F, 0x0307
121 #define DP83TD510_FAULT_STAT4 0x1F, 0x0308
122 #define DP83TD510_FAULT_STAT5 0x1F, 0x0309
123 #define DP83TD510_FAULT_STAT6 0x1F, 0x030A
124 #define DP83TD510_CHIP_SOR_0 0x1F, 0x0420
125 #define DP83TD510_LEDS_CFG_1 0x1F, 0x0460
126 #define DP83TD510_IO_MUX_CFG 0x1F, 0x0461
127 #define DP83TD510_IO_MUX_GPIO_CTRL_1 0x1F, 0x0462
128 #define DP83TD510_IO_MUX_GPIO_CTRL_2 0x1F, 0x0463
129 #define DP83TD510_CHIP_SOR_1 0x1F, 0x0467
130 #define DP83TD510_CHIP_SOR_2 0x1F, 0x0468
131 #define DP83TD510_LEDS_CFG_2 0x1F, 0x0469
132 #define DP83TD510_AN_STAT_1 0x1F, 0x060C
133 #define DP83TD510_DSP_REG_72 0x1F, 0x0872
134 #define DP83TD510_DSP_REG_8D 0x1F, 0x088D
135 #define DP83TD510_DSP_REG_8E 0x1F, 0x088E
136 #define DP83TD510_DSP_REG_8F 0x1F, 0x088F
137 #define DP83TD510_DSP_REG_90 0x1F, 0x0890
138 #define DP83TD510_DSP_REG_91 0x1F, 0x0891
139 #define DP83TD510_DSP_REG_92 0x1F, 0x0892
140 #define DP83TD510_DSP_REG_98 0x1F, 0x0898
141 #define DP83TD510_DSP_REG_99 0x1F, 0x0899
142 #define DP83TD510_DSP_REG_9A 0x1F, 0x089A
143 #define DP83TD510_DSP_REG_9B 0x1F, 0x089B
144 #define DP83TD510_DSP_REG_9C 0x1F, 0x089C
145 #define DP83TD510_DSP_REG_9D 0x1F, 0x089D
146 #define DP83TD510_DSP_REG_E9 0x1F, 0x08E9
147 #define DP83TD510_DSP_REG_EA 0x1F, 0x08EA
148 #define DP83TD510_DSP_REG_EB 0x1F, 0x08EB
149 #define DP83TD510_DSP_REG_EC 0x1F, 0x08EC
150 #define DP83TD510_DSP_REG_ED 0x1F, 0x08ED
151 #define DP83TD510_DSP_REG_EE 0x1F, 0x08EE
152 #define DP83TD510_MSE_DETECT 0x1F, 0x0A85
153 #define DP83TD510_ALCD_METRIC 0x1F, 0x0A9D
154 #define DP83TD510_ALCD_STATUS 0x1F, 0x0A9F
155 #define DP83TD510_SCAN_2 0x1F, 0x0E01
158 #define DP83TD510_MII_REG_0_MII_RESET 0x8000
159 #define DP83TD510_MII_REG_0_LOOPBACK 0x4000
160 #define DP83TD510_MII_REG_0_POWER_DOWN 0x0800
161 #define DP83TD510_MII_REG_0_ISOLATE 0x0400
162 #define DP83TD510_MII_REG_0_UNIDIRECTIONAL_ABILITY 0x0020
165 #define DP83TD510_MII_REG_2_OUI_21_16 0xFFFF
166 #define DP83TD510_MII_REG_2_OUI_21_16_DEFAULT 0x2000
169 #define DP83TD510_MII_REG_3_OUI_5_0 0xFC00
170 #define DP83TD510_MII_REG_3_OUI_5_0_DEFAULT 0x0000
171 #define DP83TD510_MII_REG_3_MODEL_NUMBER 0x03E0
172 #define DP83TD510_MII_REG_3_MODEL_NUMBER_DEFAULT 0x0180
173 #define DP83TD510_MII_REG_3_REVISION_NUMBER 0x001F
174 #define DP83TD510_MII_REG_3_REVISION_NUMBER_DEFAULT 0x0001
177 #define DP83TD510_REGCR_CMD 0xC000
178 #define DP83TD510_REGCR_CMD_ADDR 0x0000
179 #define DP83TD510_REGCR_CMD_DATA_NO_POST_INC 0x4000
180 #define DP83TD510_REGCR_CMD_DATA_POST_INC_RW 0x8000
181 #define DP83TD510_REGCR_CMD_DATA_POST_INC_W 0xC000
182 #define DP83TD510_REGCR_DEVAD 0x001F
185 #define DP83TD510_PHY_STS_MII_INTERRUPT 0x0080
186 #define DP83TD510_PHY_STS_LINK_STATUS 0x0001
189 #define DP83TD510_GEN_CFG_CHANNEL_DEBUG_MODE 0x0800
190 #define DP83TD510_GEN_CFG_DEBUG_MODE 0x0400
191 #define DP83TD510_GEN_CFG_TX_FIFO_DEPTH 0x0060
192 #define DP83TD510_GEN_CFG_TX_FIFO_DEPTH_4_NIBBLES 0x0000
193 #define DP83TD510_GEN_CFG_TX_FIFO_DEPTH_5_NIBBLES 0x0020
194 #define DP83TD510_GEN_CFG_TX_FIFO_DEPTH_6_NIBBLES 0x0040
195 #define DP83TD510_GEN_CFG_TX_FIFO_DEPTH_8_NIBBLES 0x0060
196 #define DP83TD510_GEN_CFG_INT_POLARITY 0x0008
197 #define DP83TD510_GEN_CFG_INT_POLARITY_HIGH 0x0000
198 #define DP83TD510_GEN_CFG_INT_POLARITY_LOW 0x0008
199 #define DP83TD510_GEN_CFG_FORCE_INTERRUPT 0x0004
200 #define DP83TD510_GEN_CFG_INT_EN 0x0002
201 #define DP83TD510_GEN_CFG_INT_OE 0x0001
204 #define DP83TD510_INTERRUPT_REG_1_RHF_INT 0x8000
205 #define DP83TD510_INTERRUPT_REG_1_LINK_INT 0x2000
206 #define DP83TD510_INTERRUPT_REG_1_ESD_INT 0x0800
207 #define DP83TD510_INTERRUPT_REG_1_RHF_INT_EN 0x0080
208 #define DP83TD510_INTERRUPT_REG_1_LINK_INT_EN 0x0020
209 #define DP83TD510_INTERRUPT_REG_1_ESD_INT_EN 0x0008
212 #define DP83TD510_INTERRUPT_REG_2_PAGE_INT 0x2000
213 #define DP83TD510_INTERRUPT_REG_2_POL_INT 0x0200
214 #define DP83TD510_INTERRUPT_REG_2_PAGE_INT_EN 0x0020
215 #define DP83TD510_INTERRUPT_REG_2_POL_INT_EN 0x0002
218 #define DP83TD510_RX_ERR_CNT_RX_ERR_CNT 0xFFFF
221 #define DP83TD510_BISCR_CORE_PWR_MODE 0x0100
222 #define DP83TD510_BISCR_LOOPBACK_MODE 0x007F
223 #define DP83TD510_BISCR_LOOPBACK_MODE_PCS 0x0002
224 #define DP83TD510_BISCR_LOOPBACK_MODE_DIGITAL 0x0004
225 #define DP83TD510_BISCR_LOOPBACK_MODE_ANALOG 0x0008
226 #define DP83TD510_BISCR_LOOPBACK_MODE_REVERSE 0x0010
227 #define DP83TD510_BISCR_LOOPBACK_MODE_TX_TO_MAC_IN_REVERSE 0x0020
228 #define DP83TD510_BISCR_LOOPBACK_MODE_TX_TO_MDI_IN_MAC 0x0040
231 #define DP83TD510_MAC_CFG_1_CFG_RMII_DIS_DELAYED_TXD_EN 0x8000
232 #define DP83TD510_MAC_CFG_1_MIN_IPG_MODE_EN 0x4000
233 #define DP83TD510_MAC_CFG_1_CFG_RMII_ENH 0x2000
234 #define DP83TD510_MAC_CFG_1_CFG_RGMII_RX_CLK_SHIFT_SEL 0x1000
235 #define DP83TD510_MAC_CFG_1_CFG_RGMII_TX_CLK_SHIFT_SEL 0x0800
236 #define DP83TD510_MAC_CFG_1_CFG_RGMII_EN 0x0200
237 #define DP83TD510_MAC_CFG_1_CFG_RMII_CLK_SHIFT_EN 0x0100
238 #define DP83TD510_MAC_CFG_1_CFG_XI_50 0x0080
239 #define DP83TD510_MAC_CFG_1_CFG_RMII_SLOW_MODE 0x0040
240 #define DP83TD510_MAC_CFG_1_CFG_RMII_MODE 0x0020
241 #define DP83TD510_MAC_CFG_1_CFG_RMII_REV1_0 0x0010
242 #define DP83TD510_MAC_CFG_1_RMII_OVF_STS 0x0008
243 #define DP83TD510_MAC_CFG_1_RMII_UNF_STS 0x0004
244 #define DP83TD510_MAC_CFG_1_CFG_RMII_ELAST_BUF 0x0003
245 #define DP83TD510_MAC_CFG_1_CFG_RMII_ELAST_BUF_14_BIT_TOLERANCE 0x0000
246 #define DP83TD510_MAC_CFG_1_CFG_RMII_ELAST_BUF_2_BIT_TOLERANCE 0x0001
247 #define DP83TD510_MAC_CFG_1_CFG_RMII_ELAST_BUF_6_BIT_TOLERANCE 0x0002
248 #define DP83TD510_MAC_CFG_1_CFG_RMII_ELAST_BUF_10_BIT_TOLERANCE 0x0003
251 #define DP83TD510_MAC_CFG_2_CFG_INV_RX_CLK 0x0800
252 #define DP83TD510_MAC_CFG_2_CFG_RMII_CRS_DV_SEL 0x0400
253 #define DP83TD510_MAC_CFG_2_RGMII_TX_AF_EMPTY_ERR 0x0200
254 #define DP83TD510_MAC_CFG_2_RGMII_TX_AF_FULL_ERR 0x0100
255 #define DP83TD510_MAC_CFG_2_INV_RGMII_RXD 0x0020
256 #define DP83TD510_MAC_CFG_2_INV_RGMII_TXD 0x0010
257 #define DP83TD510_MAC_CFG_2_SUP_TX_ERR_FD_RGMII 0x0008
258 #define DP83TD510_MAC_CFG_2_CFG_RGMII_HALF_FULL_TH 0x0007
261 #define DP83TD510_SOR_PHYAD_SOR_PHYADDR 0x001F
264 #define DP83TD510_TDR_CFG_TDR_START 0x8000
265 #define DP83TD510_TDR_CFG_TDR_DONE 0x0002
266 #define DP83TD510_TDR_CFG_TDR_FAIL 0x0001
269 #define DP83TD510_PAM_PMD_CTRL_1_PMA_RESET 0x8000
270 #define DP83TD510_PAM_PMD_CTRL_1_CFG_LOW_POWER 0x0800
271 #define DP83TD510_PAM_PMD_CTRL_1_PMA_LOOPBACK 0x0001
274 #define DP83TD510_PMA_PMD_CTRL_2_CFG_PMA_TYPE_SELECTION 0x003F
275 #define DP83TD510_PMA_PMD_CTRL_2_CFG_PMA_TYPE_SELECTION_BASE_T1 0x003D
278 #define DP83TD510_PMA_PMD_EXTENDED_ABILITY_2_BASE_T1_EXTENDED_ABILITIES 0x0800
281 #define DP83TD510_PMA_PMD_EXTENDED_ABILITY_MR_10_BASE_T1L_ABILITY 0x0004
284 #define DP83TD510_PMA_PMD_CTRL_CFG_MASTER_SLAVE_VAL 0x4000
285 #define DP83TD510_PMA_PMD_CTRL_CFG_TYPE_SELECTION 0x000F
286 #define DP83TD510_PMA_PMD_CTRL_CFG_TYPE_SELECTION_10BASE_T1L 0x0002
289 #define DP83TD510_PMA_CTRL_PMA_RESET 0x8000
290 #define DP83TD510_PMA_CTRL_CFG_TRANSMIT_DISABLE 0x4000
291 #define DP83TD510_PMA_CTRL_CFG_INCR_TX_LVL 0x1000
292 #define DP83TD510_PMA_CTRL_CFG_INCR_TX_LVL_1V0 0x0000
293 #define DP83TD510_PMA_CTRL_CFG_INCR_TX_LVL_2V4 0x1000
294 #define DP83TD510_PMA_CTRL_CFG_LOW_POWER 0x0800
295 #define DP83TD510_PMA_CTRL_CFG_EEE_ENABLE 0x0400
296 #define DP83TD510_PMA_CTRL_PMA_LOOPBACK 0x0001
299 #define DP83TD510_PMA_STATUS_LOOPBACK_ABILITY 0x2000
300 #define DP83TD510_PMA_STATUS_TX_LVL_INCR_ABILITY 0x1000
301 #define DP83TD510_PMA_STATUS_LOW_POWER_ABILITY 0x0800
302 #define DP83TD510_PMA_STATUS_EEE_ABILITY 0x0400
303 #define DP83TD510_PMA_STATUS_RECEIVE_FAULT_ABILITY 0x0200
304 #define DP83TD510_PMA_STATUS_RECEIVE_POLARITY 0x0004
305 #define DP83TD510_PMA_STATUS_RECEIVE_FAULT 0x0002
306 #define DP83TD510_PMA_STATUS_RECEIVE_LINK_STATUS 0x0001
309 #define DP83TD510_TEST_MODE_CTRL_CFG_TEST_MODE 0xE000
310 #define DP83TD510_TEST_MODE_CTRL_CFG_TEST_MODE_NORMAL 0x0000
311 #define DP83TD510_TEST_MODE_CTRL_CFG_TEST_MODE_1 0x2000
312 #define DP83TD510_TEST_MODE_CTRL_CFG_TEST_MODE_2 0x4000
313 #define DP83TD510_TEST_MODE_CTRL_CFG_TEST_MODE_3 0x6000
316 #define DP83TD510_PCS_CTRL_PCS_RESET 0x8000
317 #define DP83TD510_PCS_CTRL_MMD3_LOOPBACK 0x4000
320 #define DP83TD510_PCS_CTRL_2_PCS_RESET 0x8000
321 #define DP83TD510_PCS_CTRL_2_MMD3_LOOPBACK 0x4000
324 #define DP83TD510_PCS_STATUS_TX_LPI_RECEIVED 0x0800
325 #define DP83TD510_PCS_STATUS_RX_LPI_RECEIVED 0x0400
326 #define DP83TD510_PCS_STATUS_TX_LPI_INDICATION 0x0200
327 #define DP83TD510_PCS_STATUS_RX_LPI_INDICATION 0x0100
328 #define DP83TD510_PCS_STATUS_FAULT 0x0080
329 #define DP83TD510_PCS_STATUS_RECEIVE_LINK_STATUS 0x0004
332 #define DP83TD510_AN_CONTROL_MR_MAIN_RESET 0x8000
333 #define DP83TD510_AN_CONTROL_MR_AN_ENABLE 0x1000
334 #define DP83TD510_AN_CONTROL_MR_RESTART_AN 0x0200
337 #define DP83TD510_AN_STATUS_MR_PAGE_RECEIVED 0x0040
338 #define DP83TD510_AN_STATUS_MR_AN_COMPLETE 0x0020
339 #define DP83TD510_AN_STATUS_REMOTE_FAULT 0x0010
340 #define DP83TD510_AN_STATUS_MR_AN_ABILITY 0x0008
341 #define DP83TD510_AN_STATUS_LINK_STATUS 0x0004
344 #define DP83TD510_AN_ADV_1_MR_BP_NP_ABILITY 0x8000
345 #define DP83TD510_AN_ADV_1_MR_BP_ACK 0x4000
346 #define DP83TD510_AN_ADV_1_MR_BP_REMOTE_FAULT 0x2000
347 #define DP83TD510_AN_ADV_1_MR_BP_12_5 0x1FE0
348 #define DP83TD510_AN_ADV_1_SELECTOR_FIELD 0x001F
351 #define DP83TD510_AN_ADV_2_MR_BP_31_16 0xFFFF
354 #define DP83TD510_AN_ADV_3_MR_BP_47_32 0xFFFF
357 #define DP83TD510_AN_LP_ADV_1_MR_LP_BP_15_0 0xFFFF
360 #define DP83TD510_AN_LP_ADV_2_MR_LP_BP_31_16 0xFFFF
363 #define DP83TD510_AN_LP_ADV_3_MR_LP_BP_47_32 0xFFFF
366 #define DP83TD510_AN_NP_ADV_1_MR_NP_NP_ABILITY 0x8000
367 #define DP83TD510_AN_NP_ADV_1_MR_NP_MESSAGE_PAGE 0x2000
368 #define DP83TD510_AN_NP_ADV_1_MR_NP_ACK2 0x1000
369 #define DP83TD510_AN_NP_ADV_1_MR_NP_TOGGLE 0x0800
370 #define DP83TD510_AN_NP_ADV_1_MR_NP_MSG_UNFORM_CODE_FIELD 0x07FF
373 #define DP83TD510_AN_NP_ADV_2_MR_NP_UNFORM_CODE_FIELD_1 0xFFFF
376 #define DP83TD510_AN_NP_ADV_3_MR_NP_UNFORM_CODE_FIELD_2 0xFFFF
379 #define DP83TD510_AN_LP_NP_ADV_1_MR_LP_NP_NP_ABILITY 0x8000
380 #define DP83TD510_AN_LP_NP_ADV_1_MR_LP_NP_ACK 0x4000
381 #define DP83TD510_AN_LP_NP_ADV_1_MR_LP_NP_MESSAGE_PAGE 0x2000
382 #define DP83TD510_AN_LP_NP_ADV_1_MR_LP_NP_ACK2 0x1000
383 #define DP83TD510_AN_LP_NP_ADV_1_MR_LP_NP_TOGGLE 0x0800
384 #define DP83TD510_AN_LP_NP_ADV_1_MR_LP_NP_MSG_UNFORM_CODE_FIELD 0x07FF
387 #define DP83TD510_AN_LP_NP_ADV_2_MR_LP_NP_UNFORM_CODE_FIELD_1 0xFFFF
390 #define DP83TD510_AN_LP_NP_ADV_3_MR_LP_NP_UNFORM_CODE_FIELD_2 0xFFFF
393 #define DP83TD510_AN_CTRL_10BT1_MR_10BT1_L_CAPABILITY 0x8000
394 #define DP83TD510_AN_CTRL_10BT1_MR_ABILITY_10BT1_L_EEE 0x4000
395 #define DP83TD510_AN_CTRL_10BT1_MR_ABILITY_10BT1_L_INCR_TX_RX_LVL 0x2000
396 #define DP83TD510_AN_CTRL_10BT1_MR_10BT1_L_INCR_TX_RX_LVL_RQST 0x1000
399 #define DP83TD510_AN_STATUS_10BT1_MR_LP_10BT1_L_CAPABILITY 0x8000
400 #define DP83TD510_AN_STATUS_10BT1_MR_LP_ABILITY_10BT1_L_EEE 0x4000
401 #define DP83TD510_AN_STATUS_10BT1_MR_LP_ABILITY_10BT1_L_INCR_TX_RX_LVL 0x2000
402 #define DP83TD510_AN_STATUS_10BT1_MR_LP_10BT1_L_INCR_TX_RX_LVL_RQST 0x1000
405 #define DP83TD510_PRBS_CFG_1_SEND_PKT 0x1000
406 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_CHK_SEL 0x0700
407 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_CHK_SEL_RGMII_TX 0x0000
408 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_CHK_SEL_RMII_TX 0x0200
409 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_CHK_SEL_MII_TX 0x0300
410 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_CHK_SEL_CU_RX 0x0500
411 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_GEN_SEL 0x0070
412 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_GEN_SEL_RGMII_RX 0x0000
413 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_GEN_SEL_RMII_RX 0x0020
414 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_GEN_SEL_MII_RX 0x0030
415 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_GEN_SEL_CU_TX 0x0040
416 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_CNT_MODE 0x0008
417 #define DP83TD510_PRBS_CFG_1_CFG_PRBS_CHK_ENABLE 0x0004
418 #define DP83TD510_PRBS_CFG_1_CFG_PKT_GEN_PRBS 0x0002
419 #define DP83TD510_PRBS_CFG_1_PKT_GEN_EN 0x0001
422 #define DP83TD510_PRBS_CFG_2_CFG_PKT_LEN_PRBS 0xFFFF
425 #define DP83TD510_PRBS_CFG_3_CFG_PRBS_FIX_PATT_EN 0x1000
426 #define DP83TD510_PRBS_CFG_3_CFG_PRBS_FIX_PATT 0x0F00
427 #define DP83TD510_PRBS_CFG_3_CFG_IPG_LEN 0x00FF
430 #define DP83TD510_PRBS_STATUS_1_PRBS_BYTE_CNT 0xFFFF
433 #define DP83TD510_PRBS_STATUS_2_PRBS_PKT_CNT_15_0 0xFFFF
436 #define DP83TD510_PRBS_STATUS_3_PRBS_PKT_CNT_31_16 0xFFFF
439 #define DP83TD510_PRBS_STATUS_4_PRBS_SYNC_LOSS 0x2000
440 #define DP83TD510_PRBS_STATUS_4_PKT_DONE 0x1000
441 #define DP83TD510_PRBS_STATUS_4_PKT_GEN_BUSY 0x0800
442 #define DP83TD510_PRBS_STATUS_4_PRBS_PKT_OV 0x0400
443 #define DP83TD510_PRBS_STATUS_4_PRBS_BYTE_OV 0x0200
444 #define DP83TD510_PRBS_STATUS_4_PRBS_LOCK 0x0100
445 #define DP83TD510_PRBS_STATUS_4_PRBS_ERR_CNT 0x00FF
448 #define DP83TD510_PRBS_STATUS_5_PRBS_ERR_OV_CNT 0x00FF
451 #define DP83TD510_PRBS_STATUS_6_PKT_ERR_CNT_15_0 0xFFFF
454 #define DP83TD510_PRBS_STATUS_7_PKT_ERR_CNT_31_16 0xFFFF
457 #define DP83TD510_PRBS_CFG_4_PKT_ERR_CNT_31_16 0xFF00
458 #define DP83TD510_PRBS_CFG_4_CFG_PKT_MODE 0x00C0
459 #define DP83TD510_PRBS_CFG_4_CFG_PATTERN_VLD_BYTES 0x0038
460 #define DP83TD510_PRBS_CFG_4_CFG_PKT_CNT 0x0007
461 #define DP83TD510_PRBS_CFG_4_CFG_PKT_CNT_1_PKT 0x0000
462 #define DP83TD510_PRBS_CFG_4_CFG_PKT_CNT_10_PKTS 0x0001
463 #define DP83TD510_PRBS_CFG_4_CFG_PKT_CNT_100_PKTS 0x0002
464 #define DP83TD510_PRBS_CFG_4_CFG_PKT_CNT_1000_PKTS 0x0003
465 #define DP83TD510_PRBS_CFG_4_CFG_PKT_CNT_10000_PKTS 0x0004
466 #define DP83TD510_PRBS_CFG_4_CFG_PKT_CNT_100000_PKTS 0x0005
467 #define DP83TD510_PRBS_CFG_4_CFG_PKT_CNT_1000000_PKTS 0x0006
468 #define DP83TD510_PRBS_CFG_4_CFG_PKT_CNT_CONTINUOUS_PKTS 0x0007
471 #define DP83TD510_PRBS_CFG_5_PATTERN_15_0 0xFFFF
474 #define DP83TD510_PRBS_CFG_6_PATTERN_31_16 0xFFFF
477 #define DP83TD510_PRBS_CFG_7_PATTERN_47_32 0xFFFF
480 #define DP83TD510_PRBS_CFG_8_PMATCH_DATA_15_0 0xFFFF
483 #define DP83TD510_PRBS_CFG_9_PMATCH_DATA_31_16 0xFFFF
486 #define DP83TD510_PRBS_CFG_10_PMATCH_DATA_47_32 0xFFFF
489 #define DP83TD510_CRC_STATUS_RX_BAD_CRC 0x0002
490 #define DP83TD510_CRC_STATUS_TX_BAD_CRC 0x0001
493 #define DP83TD510_PKT_STAT_1_TX_PKT_CNT_15_0 0xFFFF
496 #define DP83TD510_PKT_STAT_2_TX_PKT_CNT_31_16 0xFFFF
499 #define DP83TD510_PKT_STAT_3_TX_ERR_PKT_CNT 0xFFFF
502 #define DP83TD510_PKT_STAT_4_RX_PKT_CNT_15_0 0xFFFF
505 #define DP83TD510_PKT_STAT_5_RX_PKT_CNT_31_16 0xFFFF
508 #define DP83TD510_PKT_STAT_6_RX_ERR_PKT_CNT 0xFFFF
511 #define DP83TD510_TDR_CFG1_CFG_TDR_TX_TYPE 0x1000
512 #define DP83TD510_TDR_CFG1_CFG_TDR_TX_TYPE_1V0 0x0000
513 #define DP83TD510_TDR_CFG1_CFG_TDR_TX_TYPE_2V4 0x1000
514 #define DP83TD510_TDR_CFG1_CFG_FORWARD_SHADOW_2 0x0F00
515 #define DP83TD510_TDR_CFG1_CFG_FORWARD_SHADOW_1 0x00F0
516 #define DP83TD510_TDR_CFG1_CFG_POST_SILENCE_TIME 0x000C
517 #define DP83TD510_TDR_CFG1_CFG_PRE_SILENCE_TIME 0x0003
520 #define DP83TD510_TDR_CFG2_CFG_END_TAP_INDEX_1 0x7F00
521 #define DP83TD510_TDR_CFG2_CFG_START_TAP_INDEX_1 0x007F
524 #define DP83TD510_TDR_CFG3_CFG_TDR_TX_DURATION 0xFFFF
527 #define DP83TD510_FAULT_CFG1_CFG_TDR_FLT_LOC_OFFSET_1 0x7F00
528 #define DP83TD510_FAULT_CFG1_CFG_TDR_FLT_INIT_1 0x00FF
531 #define DP83TD510_FAULT_CFG2_CFG_TDR_FLT_SLOPE_1 0x00FF
534 #define DP83TD510_FAULT_STAT1_PEAKS_LOC_1 0x7F00
535 #define DP83TD510_FAULT_STAT1_PEAKS_LOC_0 0x007F
538 #define DP83TD510_FAULT_STAT2_PEAKS_LOC_3 0x7F00
539 #define DP83TD510_FAULT_STAT2_PEAKS_LOC_2 0x007F
542 #define DP83TD510_FAULT_STAT3_PEAKS_AMP_0 0xFF00
543 #define DP83TD510_FAULT_STAT3_PEAKS_LOC_4 0x007F
546 #define DP83TD510_FAULT_STAT4_PEAKS_AMP_2 0xFF00
547 #define DP83TD510_FAULT_STAT4_PEAKS_AMP_1 0x00FF
550 #define DP83TD510_FAULT_STAT5_PEAKS_AMP_1 0xFF00
551 #define DP83TD510_FAULT_STAT5_PEAKS_AMP_3 0x00FF
554 #define DP83TD510_FAULT_STAT6_PEAKS_SIGN_4 0x0010
555 #define DP83TD510_FAULT_STAT6_PEAKS_SIGN_3 0x0008
556 #define DP83TD510_FAULT_STAT6_PEAKS_SIGN_2 0x0004
557 #define DP83TD510_FAULT_STAT6_PEAKS_SIGN_1 0x0002
558 #define DP83TD510_FAULT_STAT6_PEAKS_SIGN_0 0x0001
561 #define DP83TD510_CHIP_SOR_0_READ_STRAP_TERM_SL 0x0040
564 #define DP83TD510_LEDS_CFG_1_LEDS_BYPASS_STRETCHING 0x4000
565 #define DP83TD510_LEDS_CFG_1_LEDS_BLINK_RATE 0x3000
566 #define DP83TD510_LEDS_CFG_1_LEDS_BLINK_RATE_20HZ 0x0000
567 #define DP83TD510_LEDS_CFG_1_LEDS_BLINK_RATE_10HZ 0x1000
568 #define DP83TD510_LEDS_CFG_1_LEDS_BLINK_RATE_5HZ 0x2000
569 #define DP83TD510_LEDS_CFG_1_LEDS_BLINK_RATE_2HZ 0x3000
570 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION 0x0F00
571 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_LINK_OK 0x0000
572 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_TX_RX_ACT 0x0100
573 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_TX_ACT 0x0200
574 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_RX_ACT 0x0300
575 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_LR 0x0400
576 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_SR 0x0500
577 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_SPEED 0x0600
578 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_DUPLEX 0x0700
579 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_LINK_ACT_BLINK 0x0800
580 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_TX_RX_ACT_BLINK 0x0900
581 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_TX_BLINK 0x0A00
582 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_RX_BLINK 0x0B00
583 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_LINK_LOST 0x0C00
584 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_PRBS_ERROR 0x0D00
585 #define DP83TD510_LEDS_CFG_1_LED_2_OPTION_XMII_TX_RX_ERROR 0x0E00
586 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION 0x00F0
587 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_LINK_OK 0x0000
588 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_TX_RX_ACT 0x0010
589 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_TX_ACT 0x0020
590 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_RX_ACT 0x0030
591 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_LR 0x0040
592 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_SR 0x0050
593 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_SPEED 0x0060
594 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_DUPLEX 0x0070
595 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_LINK_ACT_BLINK 0x0080
596 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_TX_RX_ACT_BLINK 0x0090
597 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_TX_BLINK 0x00A0
598 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_RX_BLINK 0x00B0
599 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_LINK_LOST 0x00C0
600 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_PRBS_ERROR 0x00D0
601 #define DP83TD510_LEDS_CFG_1_LED_1_OPTION_XMII_TX_RX_ERROR 0x00E0
602 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION 0x000F
603 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_LINK_OK 0x0000
604 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_TX_RX_ACT 0x0001
605 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_TX_ACT 0x0002
606 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_RX_ACT 0x0003
607 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_LR 0x0004
608 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_SR 0x0005
609 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_SPEED 0x0006
610 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_DUPLEX 0x0007
611 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_LINK_ACT_BLINK 0x0008
612 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_TX_RX_ACT_BLINK 0x0009
613 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_TX_BLINK 0x000A
614 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_RX_BLINK 0x000B
615 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_LINK_LOST 0x000C
616 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_PRBS_ERROR 0x000D
617 #define DP83TD510_LEDS_CFG_1_LED_0_OPTION_XMII_TX_RX_ERROR 0x000E
620 #define DP83TD510_IO_MUX_CFG_IO_OE_N_VALUE 0x8000
621 #define DP83TD510_IO_MUX_CFG_IO_OE_N_VALUE_OUTPUT 0x0000
622 #define DP83TD510_IO_MUX_CFG_IO_OE_N_VALUE_INPUT 0x8000
623 #define DP83TD510_IO_MUX_CFG_IO_OE_N_FORCE_CTRL 0x4000
624 #define DP83TD510_IO_MUX_CFG_PUPD_VALUE 0x3000
625 #define DP83TD510_IO_MUX_CFG_PUPD_FORCE_CNTL 0x0800
626 #define DP83TD510_IO_MUX_CFG_IMPEDANCE_CTRL 0x0030
627 #define DP83TD510_IO_MUX_CFG_MAC_RX_IMPEDANCE_CTRL 0x000C
628 #define DP83TD510_IO_MUX_CFG_MAC_TX_IMPEDANCE_CTRL 0x0003
631 #define DP83TD510_IO_MUX_GPIO_CTRL_1_MAC_TX_IMPEDANCE_CTRL 0x8000
632 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_CLK_SOURCE 0x7000
633 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_CLK_SOURCE_XI_CLK 0x0000
634 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_CLK_SOURCE_LD_30MHZ_CLK 0x1000
635 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_CLK_SOURCE_30MHZ_ADC_CLK 0x2000
636 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_CLK_SOURCE_FREE_60MHZ_CLK 0x3000
637 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_CLK_SOURCE_7_5MHZ_CLK 0x4000
638 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_CLK_SOURCE_25MHZ_CLK 0x5000
639 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_CLK_SOURCE_2_5MHZ_CLK 0x6000
640 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_CLK_INV_EN 0x0800
641 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_GPIO_CTRL 0x0700
642 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_GPIO_CTRL_LED_2 0x0000
643 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_GPIO_CTRL_CLK_OUT 0x0100
644 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_GPIO_CTRL_INTERRUPT 0x0200
645 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_GPIO_CTRL_LOW 0x0600
646 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_2_GPIO_CTRL_HIGH 0x0700
647 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_CLK_DIV_2_EN 0x0080
648 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_CLK_SOURCE 0x0070
649 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_CLK_SOURCE_XI_CLK 0x0000
650 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_CLK_SOURCE_LD_30MHZ_CLK 0x0010
651 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_CLK_SOURCE_30MHZ_ADC_CLK 0x0020
652 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_CLK_SOURCE_FREE_60MHZ_CLK 0x0030
653 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_CLK_SOURCE_7_5MHZ_CLK 0x0040
654 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_CLK_SOURCE_25MHZ_CLK 0x0050
655 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_CLK_SOURCE_2_5MHZ_CLK 0x0060
656 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_CLK_INV_EN 0x0008
657 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_GPIO_CTRL 0x0007
658 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_GPIO_CTRL_LED_0 0x0000
659 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_GPIO_CTRL_CLK_OUT 0x0001
660 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_GPIO_CTRL_INTERRUPT 0x0002
661 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_GPIO_CTRL_LOW 0x0006
662 #define DP83TD510_IO_MUX_GPIO_CTRL_1_LED_0_GPIO_CTRL_HIGH 0x0007
665 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CLK_SOURCE 0xE000
666 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CLK_SOURCE_XI_CLK 0x0000
667 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CLK_SOURCE_LD_30MHZ_CLK 0x2000
668 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CLK_SOURCE_30MHZ_ADC_CLK 0x4000
669 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CLK_SOURCE_FREE_60MHZ_CLK 0x6000
670 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CLK_SOURCE_7_5MHZ_CLK 0x8000
671 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CLK_SOURCE_25MHZ_CLK 0xA000
672 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CLK_SOURCE_2_5MHZ_CLK 0xC000
673 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CTRL 0x1C00
674 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CTRL_LED_1 0x0000
675 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CTRL_CLK_OUT 0x0400
676 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CTRL_INTERRUPT 0x0800
677 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CTRL_LOW 0x1800
678 #define DP83TD510_IO_MUX_GPIO_CTRL_2_GPIO_CTRL_HIGH 0x1C00
679 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CFG_TX_ER_ON_LED2 0x0200
680 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_DIV_2_EN 0x0100
681 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE 0x00F0
682 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_XI_CLK 0x0000
683 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_LD_30MHZ_CLK 0x0010
684 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_30MHZ_ADC_CLK 0x0020
685 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_FREE_60MHZ_CLK 0x0030
686 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_7_5MHZ_CLK 0x0040
687 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_25MHZ_CLK 0x0050
688 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_2_5MHZ_CLK 0x0060
689 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_25_50MHZ_CLK 0x0080
690 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_RMII_RX_50MHz_CLK 0x0090
691 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_RMII_TX_50MHZ_CLK 0x00A0
692 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_MII_RX_CLK 0x00B0
693 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_RGMII_RX_ALIGN_CLK 0x00C0
694 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_SOURCE_RGMII_RX_SHIFT_CLK 0x00D0
695 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_CLK_INV_EN 0x0008
696 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_GPIO_CTRL 0x0007
697 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_GPIO_CTRL_LED_1 0x0000
698 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_GPIO_CTRL_CLK_OUT 0x0001
699 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_GPIO_CTRL_INTERRUPT 0x0002
700 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_GPIO_CTRL_LOW 0x0006
701 #define DP83TD510_IO_MUX_GPIO_CTRL_2_CLK_O_GPIO_CTRL_HIGH 0x0007
704 #define DP83TD510_CHIP_SOR_1_SOR_15_0 0xFFFF
705 #define DP83TD510_CHIP_SOR_1_SOR_15_0_RX_D3 0x0001
706 #define DP83TD510_CHIP_SOR_1_SOR_15_0_RX_D2 0x0002
707 #define DP83TD510_CHIP_SOR_1_SOR_15_0_RX_D1 0x0004
708 #define DP83TD510_CHIP_SOR_1_SOR_15_0_RX_D0 0x0008
709 #define DP83TD510_CHIP_SOR_1_SOR_15_0_CLK_OUT_LED_1 0x0010
710 #define DP83TD510_CHIP_SOR_1_SOR_15_0_RX_CTRL 0x0020
711 #define DP83TD510_CHIP_SOR_1_SOR_15_0_RX_ER 0x0040
712 #define DP83TD510_CHIP_SOR_1_SOR_15_0_LED_2 0x0080
713 #define DP83TD510_CHIP_SOR_1_SOR_15_0_LED_0 0x0100
714 #define DP83TD510_CHIP_SOR_1_SOR_15_0_GPIO 0x0200
717 #define DP83TD510_CHIP_SOR_2_SOR_19_16 0x000F
720 #define DP83TD510_LEDS_CFG_2_LED_2_POLARITY 0x0400
721 #define DP83TD510_LEDS_CFG_2_LED_2_POLARITY_LOW 0x0000
722 #define DP83TD510_LEDS_CFG_2_LED_2_POLARITY_HIGH 0x0400
723 #define DP83TD510_LEDS_CFG_2_LED_2_DRV_VAL 0x0200
724 #define DP83TD510_LEDS_CFG_2_LED_2_DRV_EN 0x0100
725 #define DP83TD510_LEDS_CFG_2_LED_1_POLARITY 0x0040
726 #define DP83TD510_LEDS_CFG_2_LED_1_POLARITY_LOW 0x0000
727 #define DP83TD510_LEDS_CFG_2_LED_1_POLARITY_HIGH 0x0040
728 #define DP83TD510_LEDS_CFG_2_LED_1_DRV_VAL 0x0020
729 #define DP83TD510_LEDS_CFG_2_LED_1_DRV_EN 0x0010
730 #define DP83TD510_LEDS_CFG_2_LED_0_POLARITY 0x0004
731 #define DP83TD510_LEDS_CFG_2_LED_0_POLARITY_LOW 0x0000
732 #define DP83TD510_LEDS_CFG_2_LED_0_POLARITY_HIGH 0x0004
733 #define DP83TD510_LEDS_CFG_2_LED_0_DRV_VAL 0x0002
734 #define DP83TD510_LEDS_CFG_2_LED_0_DRV_EN 0x0001
737 #define DP83TD510_AN_STAT_1_MASTER_SLAVE_RESOL_FAIL 0x8000
738 #define DP83TD510_AN_STAT_1_AN_STATE 0x7000
739 #define DP83TD510_AN_STAT_1_HD_STATE 0x0700
740 #define DP83TD510_AN_STAT_1_RX_STATE 0x0070
741 #define DP83TD510_AN_STAT_1_AN_TX_STATE 0x000F
744 #define DP83TD510_DSP_REG_72_MSE_SQI 0x03FF
747 #define DP83TD510_DSP_REG_8D_CFG_ALCD_2P4_METRIC_STEP_1 0x0FFF
750 #define DP83TD510_DSP_REG_8E_CFG_ALCD_2P4_METRIC_STEP_2 0x0FFF
753 #define DP83TD510_DSP_REG_8F_CFG_ALCD_2P4_METRIC_STEP_3 0x0FFF
756 #define DP83TD510_DSP_REG_90_CFG_ALCD_2P4_METRIC_STEP_4 0x0FFF
759 #define DP83TD510_DSP_REG_91_CFG_ALCD_2P4_METRIC_STEP_5 0x0FFF
762 #define DP83TD510_DSP_REG_92_CFG_ALCD_2P4_METRIC_STEP_6 0x0FFF
765 #define DP83TD510_DSP_REG_98_CFG_ALCD_1P0_METRIC_STEP_1 0x0FFF
768 #define DP83TD510_DSP_REG_99_CFG_ALCD_1P0_METRIC_STEP_2 0x0FFF
771 #define DP83TD510_DSP_REG_9A_CFG_ALCD_1P0_METRIC_STEP_3 0x0FFF
774 #define DP83TD510_DSP_REG_9B_CFG_ALCD_1P0_METRIC_STEP_4 0x0FFF
777 #define DP83TD510_DSP_REG_9C_CFG_ALCD_1P0_METRIC_STEP_5 0x0FFF
780 #define DP83TD510_DSP_REG_9D_CFG_ALCD_1P0_METRIC_STEP_6 0x0FFF
783 #define DP83TD510_DSP_REG_E9_CFG_ALCD_CABLE_0 0x00FF
786 #define DP83TD510_DSP_REG_EA_CFG_ALCD_CABLE_1 0x00FF
789 #define DP83TD510_DSP_REG_EB_CFG_ALCD_CABLE_2 0x00FF
792 #define DP83TD510_DSP_REG_EC_CFG_ALCD_CABLE_3 0x00FF
795 #define DP83TD510_DSP_REG_ED_CFG_ALCD_CABLE_4 0x00FF
798 #define DP83TD510_DSP_REG_EE_CFG_ALCD_CABLE_5 0x00FF
801 #define DP83TD510_MSE_DETECT_SQI 0xFFFF
802 #define DP83TD510_MSE_DETECT_SQI_GOOD 0x0320
803 #define DP83TD510_MSE_DETECT_SQI_POOR 0x0660
806 #define DP83TD510_ALCD_METRIC_ALCD_METRIC_VALUE 0xFFF0
809 #define DP83TD510_ALCD_STATUS_ALCD_COMPLETE 0x8000
810 #define DP83TD510_ALCD_STATUS_ALCD_CABLE_LENGTH 0x07FF
813 #define DP83TD510_SCAN_2_SCAN_STATE_SAF 0x01F0
814 #define DP83TD510_SCAN_2_CFG_EN_EFUSE_BURN 0x0008
error_t dp83td510Init(NetInterface *interface)
DP83TD510 PHY transceiver initialization.
void dp83td510DumpPhyReg(NetInterface *interface)
Dump PHY registers for debugging purpose.
void dp83td510Tick(NetInterface *interface)
DP83TD510 timer handler.
uint16_t dp83td510ReadMmdReg(NetInterface *interface, uint8_t devAddr, uint16_t regAddr)
Read MMD register.
void dp83td510DisableIrq(NetInterface *interface)
Disable interrupts.
void dp83td510EnableIrq(NetInterface *interface)
Enable interrupts.
void dp83td510EventHandler(NetInterface *interface)
DP83TD510 event handler.
uint16_t dp83td510ReadPhyReg(NetInterface *interface, uint8_t address)
Read PHY register.
void dp83td510WritePhyReg(NetInterface *interface, uint8_t address, uint16_t data)
Write PHY register.
Network interface controller abstraction layer.
void dp83td510InitHook(NetInterface *interface)
DP83TD510 custom configuration.
void dp83td510WriteMmdReg(NetInterface *interface, uint8_t devAddr, uint16_t regAddr, uint16_t data)
Write MMD register.
const PhyDriver dp83td510PhyDriver
DP83TD510 Ethernet PHY driver.