Select one of the symbols to view example projects that use it.
 
Outline
#define DP83848_H
Includes
#include <stdint.h>
Exported constants
#define DP83848_BCR
#define DP83848_BSR
#define DP83848_PHYI1R
#define DP83848_PHYI2R
#define DP83848_ANAR
#define DP83848_ANLPAR
#define DP83848_ANER
#define DP83848_ANNPTR
#define DP83848_SMR
#define DP83848_ISFR
#define DP83848_IMR
#define DP83848_PHYSCSR
#define DP83848_BCR_SOFT_RESET
#define DP83848_BCR_LOOPBACK
#define DP83848_BCR_SPEED_SELECT
#define DP83848_BCR_AUTONEGO_EN
#define DP83848_BCR_POWER_DOWN
#define DP83848_BCR_ISOLATE
#define DP83848_BCR_RESTART_AUTONEGO
#define DP83848_BCR_DUPLEX_MODE
#define DP83848_BSR_100BASE_T4
#define DP83848_BSR_100BASE_TX_FD
#define DP83848_BSR_100BASE_TX_HD
#define DP83848_BSR_10BASE_T_FD
#define DP83848_BSR_10BASE_T_HD
#define DP83848_BSR_MF_PREAMBLE
#define DP83848_BSR_AUTONEGO_CPLT
#define DP83848_BSR_REMOTE_FAULT
#define DP83848_BSR_AUTONEGO_ABILITY
#define DP83848_BSR_LINK_STATUS
#define DP83848_BSR_JABBER_DETECT
#define DP83848_BSR_EXTENDED_CAP
#define DP83848_PHYI1R_OUI_3_18
#define DP83848_PHYI2R_OUI_19_24
#define DP83848_PHYI2R_MODEL_NBR
#define DP83848_PHYI2R_REVISION_NBR
#define DP83848_ANAR_NEXT_PAGE
#define DP83848_ANAR_REMOTE_FAULT
#define DP83848_ANAR_PAUSE_OPERATION
#define DP83848_ANAR_PO_NOPAUSE
#define DP83848_ANAR_PO_SYMMETRIC_PAUSE
#define DP83848_ANAR_PO_ASYMMETRIC_PAUSE
#define DP83848_ANAR_PO_ADVERTISE_SUPPORT
#define DP83848_ANAR_100BASE_TX_FD
#define DP83848_ANAR_100BASE_TX
#define DP83848_ANAR_10BASE_T_FD
#define DP83848_ANAR_10BASE_T
#define DP83848_ANAR_SELECTOR_FIELD
#define DP83848_ANLPAR_NEXT_PAGE
#define DP83848_ANLPAR_REMOTE_FAULT
#define DP83848_ANLPAR_PAUSE_OPERATION
#define DP83848_ANLPAR_PO_NOPAUSE
#define DP83848_ANLPAR_PO_SYMMETRIC_PAUSE
#define DP83848_ANLPAR_PO_ASYMMETRIC_PAUSE
#define DP83848_ANLPAR_PO_ADVERTISE_SUPPORT
#define DP83848_ANLPAR_100BASE_TX_FD
#define DP83848_ANLPAR_100BASE_TX
#define DP83848_ANLPAR_10BASE_T_FD
#define DP83848_ANLPAR_10BASE_T
#define DP83848_ANLPAR_SELECTOR_FIELD
#define DP83848_ANER_RX_NP_LOCATION_ABLE
#define DP83848_ANER_RX_NP_STORAGE_LOCATION
#define DP83848_ANER_PARALLEL_DETECT_FAULT
#define DP83848_ANER_LP_NP_ABLE
#define DP83848_ANER_NP_ABLE
#define DP83848_ANER_PAGE_RECEIVED
#define DP83848_ANER_LP_AUTONEG_ABLE
#define DP83848_ANNPTR_NEXT_PAGE
#define DP83848_ANNPTR_MESSAGE_PAGE
#define DP83848_ANNPTR_ACK2
#define DP83848_ANNPTR_TOGGLE
#define DP83848_ANNPTR_MESSAGE_CODE
#define DP83848_ANNPRR_NEXT_PAGE
#define DP83848_ANNPRR_ACK
#define DP83848_ANNPRR_MESSAGE_PAGE
#define DP83848_ANNPRR_ACK2
#define DP83848_ANNPRR_TOGGLE
#define DP83848_ANNPRR_MESSAGE_CODE
#define DP83848_MMDACR_MMD_FUNCTION
#define DP83848_MMDACR_MMD_FUNCTION_ADDR
#define DP83848_MMDACR_MMD_FUNCTION_DATA
#define DP83848_MMDACR_MMD_DEV_ADDR
#define DP83848_ENCTR_TX_ENABLE
#define DP83848_ENCTR_TX_TIMER
#define DP83848_ENCTR_TX_TIMER_1S
#define DP83848_ENCTR_TX_TIMER_768MS
#define DP83848_ENCTR_TX_TIMER_512MS
#define DP83848_ENCTR_TX_TIMER_265MS
#define DP83848_ENCTR_RX_ENABLE
#define DP83848_ENCTR_RX_MAX_INTERVAL
#define DP83848_ENCTR_RX_MAX_INTERVAL_64MS
#define DP83848_ENCTR_RX_MAX_INTERVAL_256MS
#define DP83848_ENCTR_RX_MAX_INTERVAL_512MS
#define DP83848_ENCTR_RX_MAX_INTERVAL_1S
#define DP83848_ENCTR_EX_CROSS_OVER
#define DP83848_ENCTR_EX_MANUAL_CROSS_OVER
#define DP83848_MCSR_EDPWRDOWN
#define DP83848_MCSR_FARLOOPBACK
#define DP83848_MCSR_ALTINT
#define DP83848_MCSR_ENERGYON
#define DP83848_SMR_MODE
#define DP83848_SMR_PHY_ADDR
#define DP83848_TPDCR_DELAY_IN
#define DP83848_TPDCR_LINE_BREAK_COUNTER
#define DP83848_TPDCR_PATTERN_HIGH
#define DP83848_TPDCR_PATTERN_LOW
#define DP83848_TCSR_TDR_ENABLE
#define DP83848_TCSR_TDR_AD_FILTER_ENABLE
#define DP83848_TCSR_TDR_CH_CABLE_TYPE
#define DP83848_TCSR_TDR_CH_CABLE_DEFAULT
#define DP83848_TCSR_TDR_CH_CABLE_SHORTED
#define DP83848_TCSR_TDR_CH_CABLE_OPEN
#define DP83848_TCSR_TDR_CH_CABLE_MATCH
#define DP83848_TCSR_TDR_CH_STATUS
#define DP83848_TCSR_TDR_CH_LENGTH
#define DP83848_SCSIR_AUTO_MDIX_ENABLE
#define DP83848_SCSIR_CHANNEL_SELECT
#define DP83848_SCSIR_SQE_DISABLE
#define DP83848_SCSIR_XPOLALITY
#define DP83848_CLR_CABLE_LENGTH
#define DP83848_INT_8
#define DP83848_INT_7
#define DP83848_INT_6
#define DP83848_INT_5
#define DP83848_INT_4
#define DP83848_INT_3
#define DP83848_INT_2
#define DP83848_INT_1
#define DP83848_PHYSCSR_AUTONEGO_DONE
#define DP83848_PHYSCSR_HCDSPEEDMASK
#define DP83848_PHYSCSR_10BT_HD
#define DP83848_PHYSCSR_10BT_FD
#define DP83848_PHYSCSR_100BTX_HD
#define DP83848_PHYSCSR_100BTX_FD
#define DP83848_STATUS_READ_ERROR
#define DP83848_STATUS_WRITE_ERROR
#define DP83848_STATUS_ADDRESS_ERROR
#define DP83848_STATUS_RESET_TIMEOUT
#define DP83848_STATUS_ERROR
#define DP83848_STATUS_OK
#define DP83848_STATUS_LINK_DOWN
#define DP83848_STATUS_100MBITS_FULLDUPLEX
#define DP83848_STATUS_100MBITS_HALFDUPLEX
#define DP83848_STATUS_10MBITS_FULLDUPLEX
#define DP83848_STATUS_10MBITS_HALFDUPLEX
#define DP83848_STATUS_AUTONEGO_NOTDONE
#define DP83848_WOL_IT
#define DP83848_ENERGYON_IT
#define DP83848_AUTONEGO_COMPLETE_IT
#define DP83848_REMOTE_FAULT_IT
#define DP83848_LINK_DOWN_IT
#define DP83848_AUTONEGO_LP_ACK_IT
#define DP83848_PARALLEL_DETECTION_FAULT_IT
#define DP83848_AUTONEGO_PAGE_RECEIVED_IT
Exported types
dp83848_Init_Func
dp83848_DeInit_Func
dp83848_ReadReg_Func
dp83848_WriteReg_Func
dp83848_GetTick_Func
dp83848_IOCtx_t
dp83848_Object_t
DP83848_RegisterBusIO(dp83848_Object_t *, dp83848_IOCtx_t *);
DP83848_Init(dp83848_Object_t *);
DP83848_DeInit(dp83848_Object_t *);
DP83848_DisablePowerDownMode(dp83848_Object_t *);
DP83848_EnablePowerDownMode(dp83848_Object_t *);
DP83848_StartAutoNego(dp83848_Object_t *);
DP83848_GetLinkState(dp83848_Object_t *);
DP83848_SetLinkState(dp83848_Object_t *, uint32_t);
DP83848_EnableLoopbackMode(dp83848_Object_t *);
DP83848_DisableLoopbackMode(dp83848_Object_t *);
DP83848_EnableIT(dp83848_Object_t *, uint32_t);
DP83848_DisableIT(dp83848_Object_t *, uint32_t);
DP83848_ClearIT(dp83848_Object_t *, uint32_t);
DP83848_GetITStatus(dp83848_Object_t *, uint32_t);
Files
loading...
CodeScopeSTM32 Libraries and Samplesdp83848dp83848.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/** ****************************************************************************** * @file dp83848.h * @author MCD Application Team * @brief This file contains all the functions prototypes for the * dp83848.c PHY driver. ****************************************************************************** * @attention * * Copyright (c) 2021 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** *//* ... */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef DP83848_H #define DP83848_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include <stdint.h> /** @addtogroup BSP * @{ *//* ... */ /** @addtogroup Component * @{ *//* ... */ /** @defgroup DP83848 * @{ *//* ... */ Includes/* Exported constants --------------------------------------------------------*/ /** @defgroup DP83848_Exported_Constants DP83848 Exported Constants * @{ *//* ... */ /** @defgroup DP83848_Registers_Mapping DP83848 Registers Mapping * @{ *//* ... */ #define DP83848_BCR ((uint16_t)0x0000U) #define DP83848_BSR ((uint16_t)0x0001U) #define DP83848_PHYI1R ((uint16_t)0x0002U) #define DP83848_PHYI2R ((uint16_t)0x0003U) #define DP83848_ANAR ((uint16_t)0x0004U) #define DP83848_ANLPAR ((uint16_t)0x0005U) #define DP83848_ANER ((uint16_t)0x0006U) #define DP83848_ANNPTR ((uint16_t)0x0007U) #define DP83848_SMR ((uint16_t)0x0019U) #define DP83848_ISFR ((uint16_t)0x0012U) #define DP83848_IMR ((uint16_t)0x0011U) #define DP83848_PHYSCSR ((uint16_t)0x0010U) /** * @} *//* ... */ /** @defgroup DP83848_BCR_Bit_Definition DP83848 BCR Bit Definition * @{ *//* ... */ #define DP83848_BCR_SOFT_RESET ((uint16_t)0x8000U) #define DP83848_BCR_LOOPBACK ((uint16_t)0x4000U) #define DP83848_BCR_SPEED_SELECT ((uint16_t)0x2000U) #define DP83848_BCR_AUTONEGO_EN ((uint16_t)0x1000U) #define DP83848_BCR_POWER_DOWN ((uint16_t)0x0800U) #define DP83848_BCR_ISOLATE ((uint16_t)0x0400U) #define DP83848_BCR_RESTART_AUTONEGO ((uint16_t)0x0200U) #define DP83848_BCR_DUPLEX_MODE ((uint16_t)0x0100U) /** * @} *//* ... */ /** @defgroup DP83848_BSR_Bit_Definition DP83848 BSR Bit Definition * @{ *//* ... */ #define DP83848_BSR_100BASE_T4 ((uint16_t)0x8000U) #define DP83848_BSR_100BASE_TX_FD ((uint16_t)0x4000U) #define DP83848_BSR_100BASE_TX_HD ((uint16_t)0x2000U) #define DP83848_BSR_10BASE_T_FD ((uint16_t)0x1000U) #define DP83848_BSR_10BASE_T_HD ((uint16_t)0x0800U) #define DP83848_BSR_MF_PREAMBLE ((uint16_t)0x0040U) #define DP83848_BSR_AUTONEGO_CPLT ((uint16_t)0x0020U) #define DP83848_BSR_REMOTE_FAULT ((uint16_t)0x0010U) #define DP83848_BSR_AUTONEGO_ABILITY ((uint16_t)0x0008U) #define DP83848_BSR_LINK_STATUS ((uint16_t)0x0004U) #define DP83848_BSR_JABBER_DETECT ((uint16_t)0x0002U) #define DP83848_BSR_EXTENDED_CAP ((uint16_t)0x0001U) /** * @} *//* ... */ /** @defgroup DP83848_PHYI1R_Bit_Definition DP83848 PHYI1R Bit Definition * @{ *//* ... */ #define DP83848_PHYI1R_OUI_3_18 ((uint16_t)0xFFFFU) /** * @} *//* ... */ /** @defgroup DP83848_PHYI2R_Bit_Definition DP83848 PHYI2R Bit Definition * @{ *//* ... */ #define DP83848_PHYI2R_OUI_19_24 ((uint16_t)0xFC00U) #define DP83848_PHYI2R_MODEL_NBR ((uint16_t)0x03F0U) #define DP83848_PHYI2R_REVISION_NBR ((uint16_t)0x000FU) /** * @} *//* ... */ /** @defgroup DP83848_ANAR_Bit_Definition DP83848 ANAR Bit Definition * @{ *//* ... */ #define DP83848_ANAR_NEXT_PAGE ((uint16_t)0x8000U) #define DP83848_ANAR_REMOTE_FAULT ((uint16_t)0x2000U) #define DP83848_ANAR_PAUSE_OPERATION ((uint16_t)0x0C00U) #define DP83848_ANAR_PO_NOPAUSE ((uint16_t)0x0000U) #define DP83848_ANAR_PO_SYMMETRIC_PAUSE ((uint16_t)0x0400U) #define DP83848_ANAR_PO_ASYMMETRIC_PAUSE ((uint16_t)0x0800U) #define DP83848_ANAR_PO_ADVERTISE_SUPPORT ((uint16_t)0x0C00U) #define DP83848_ANAR_100BASE_TX_FD ((uint16_t)0x0100U) #define DP83848_ANAR_100BASE_TX ((uint16_t)0x0080U) #define DP83848_ANAR_10BASE_T_FD ((uint16_t)0x0040U) #define DP83848_ANAR_10BASE_T ((uint16_t)0x0020U) #define DP83848_ANAR_SELECTOR_FIELD ((uint16_t)0x000FU) /** * @} *//* ... */ /** @defgroup DP83848_ANLPAR_Bit_Definition DP83848 ANLPAR Bit Definition * @{ *//* ... */ #define DP83848_ANLPAR_NEXT_PAGE ((uint16_t)0x8000U) #define DP83848_ANLPAR_REMOTE_FAULT ((uint16_t)0x2000U) #define DP83848_ANLPAR_PAUSE_OPERATION ((uint16_t)0x0C00U) #define DP83848_ANLPAR_PO_NOPAUSE ((uint16_t)0x0000U) #define DP83848_ANLPAR_PO_SYMMETRIC_PAUSE ((uint16_t)0x0400U) #define DP83848_ANLPAR_PO_ASYMMETRIC_PAUSE ((uint16_t)0x0800U) #define DP83848_ANLPAR_PO_ADVERTISE_SUPPORT ((uint16_t)0x0C00U) #define DP83848_ANLPAR_100BASE_TX_FD ((uint16_t)0x0100U) #define DP83848_ANLPAR_100BASE_TX ((uint16_t)0x0080U) #define DP83848_ANLPAR_10BASE_T_FD ((uint16_t)0x0040U) #define DP83848_ANLPAR_10BASE_T ((uint16_t)0x0020U) #define DP83848_ANLPAR_SELECTOR_FIELD ((uint16_t)0x000FU) /** * @} *//* ... */ /** @defgroup DP83848_ANER_Bit_Definition DP83848 ANER Bit Definition * @{ *//* ... */ #define DP83848_ANER_RX_NP_LOCATION_ABLE ((uint16_t)0x0040U) #define DP83848_ANER_RX_NP_STORAGE_LOCATION ((uint16_t)0x0020U) #define DP83848_ANER_PARALLEL_DETECT_FAULT ((uint16_t)0x0010U) #define DP83848_ANER_LP_NP_ABLE ((uint16_t)0x0008U) #define DP83848_ANER_NP_ABLE ((uint16_t)0x0004U) #define DP83848_ANER_PAGE_RECEIVED ((uint16_t)0x0002U) #define DP83848_ANER_LP_AUTONEG_ABLE ((uint16_t)0x0001U) /** * @} *//* ... */ /** @defgroup DP83848_ANNPTR_Bit_Definition DP83848 ANNPTR Bit Definition * @{ *//* ... */ #define DP83848_ANNPTR_NEXT_PAGE ((uint16_t)0x8000U) #define DP83848_ANNPTR_MESSAGE_PAGE ((uint16_t)0x2000U) #define DP83848_ANNPTR_ACK2 ((uint16_t)0x1000U) #define DP83848_ANNPTR_TOGGLE ((uint16_t)0x0800U) #define DP83848_ANNPTR_MESSAGE_CODE ((uint16_t)0x07FFU) /** * @} *//* ... */ /** @defgroup DP83848_ANNPRR_Bit_Definition DP83848 ANNPRR Bit Definition * @{ *//* ... */ #define DP83848_ANNPRR_NEXT_PAGE ((uint16_t)0x8000U) #define DP83848_ANNPRR_ACK ((uint16_t)0x4000U) #define DP83848_ANNPRR_MESSAGE_PAGE ((uint16_t)0x2000U) #define DP83848_ANNPRR_ACK2 ((uint16_t)0x1000U) #define DP83848_ANNPRR_TOGGLE ((uint16_t)0x0800U) #define DP83848_ANNPRR_MESSAGE_CODE ((uint16_t)0x07FFU) /** * @} *//* ... */ /** @defgroup DP83848_MMDACR_Bit_Definition DP83848 MMDACR Bit Definition * @{ *//* ... */ #define DP83848_MMDACR_MMD_FUNCTION ((uint16_t)0xC000U) #define DP83848_MMDACR_MMD_FUNCTION_ADDR ((uint16_t)0x0000U) #define DP83848_MMDACR_MMD_FUNCTION_DATA ((uint16_t)0x4000U) #define DP83848_MMDACR_MMD_DEV_ADDR ((uint16_t)0x001FU) /** * @} *//* ... */ /** @defgroup DP83848_ENCTR_Bit_Definition DP83848 ENCTR Bit Definition * @{ *//* ... */ #define DP83848_ENCTR_TX_ENABLE ((uint16_t)0x8000U) #define DP83848_ENCTR_TX_TIMER ((uint16_t)0x6000U) #define DP83848_ENCTR_TX_TIMER_1S ((uint16_t)0x0000U) #define DP83848_ENCTR_TX_TIMER_768MS ((uint16_t)0x2000U) #define DP83848_ENCTR_TX_TIMER_512MS ((uint16_t)0x4000U) #define DP83848_ENCTR_TX_TIMER_265MS ((uint16_t)0x6000U) #define DP83848_ENCTR_RX_ENABLE ((uint16_t)0x1000U) #define DP83848_ENCTR_RX_MAX_INTERVAL ((uint16_t)0x0C00U) #define DP83848_ENCTR_RX_MAX_INTERVAL_64MS ((uint16_t)0x0000U) #define DP83848_ENCTR_RX_MAX_INTERVAL_256MS ((uint16_t)0x0400U) #define DP83848_ENCTR_RX_MAX_INTERVAL_512MS ((uint16_t)0x0800U) #define DP83848_ENCTR_RX_MAX_INTERVAL_1S ((uint16_t)0x0C00U) #define DP83848_ENCTR_EX_CROSS_OVER ((uint16_t)0x0002U) #define DP83848_ENCTR_EX_MANUAL_CROSS_OVER ((uint16_t)0x0001U) /** * @} *//* ... */ /** @defgroup DP83848_MCSR_Bit_Definition DP83848 MCSR Bit Definition * @{ *//* ... */ #define DP83848_MCSR_EDPWRDOWN ((uint16_t)0x2000U) #define DP83848_MCSR_FARLOOPBACK ((uint16_t)0x0200U) #define DP83848_MCSR_ALTINT ((uint16_t)0x0040U) #define DP83848_MCSR_ENERGYON ((uint16_t)0x0002U) /** * @} *//* ... */ /** @defgroup DP83848_SMR_Bit_Definition DP83848 SMR Bit Definition * @{ *//* ... */ #define DP83848_SMR_MODE ((uint16_t)0x00E0U) #define DP83848_SMR_PHY_ADDR ((uint16_t)0x001FU) /** * @} *//* ... */ /** @defgroup DP83848_TPDCR_Bit_Definition DP83848 TPDCR Bit Definition * @{ *//* ... */ #define DP83848_TPDCR_DELAY_IN ((uint16_t)0x8000U) #define DP83848_TPDCR_LINE_BREAK_COUNTER ((uint16_t)0x7000U) #define DP83848_TPDCR_PATTERN_HIGH ((uint16_t)0x0FC0U) #define DP83848_TPDCR_PATTERN_LOW ((uint16_t)0x003FU) /** * @} *//* ... */ /** @defgroup DP83848_TCSR_Bit_Definition DP83848 TCSR Bit Definition * @{ *//* ... */ #define DP83848_TCSR_TDR_ENABLE ((uint16_t)0x8000U) #define DP83848_TCSR_TDR_AD_FILTER_ENABLE ((uint16_t)0x4000U) #define DP83848_TCSR_TDR_CH_CABLE_TYPE ((uint16_t)0x0600U) #define DP83848_TCSR_TDR_CH_CABLE_DEFAULT ((uint16_t)0x0000U) #define DP83848_TCSR_TDR_CH_CABLE_SHORTED ((uint16_t)0x0200U) #define DP83848_TCSR_TDR_CH_CABLE_OPEN ((uint16_t)0x0400U) #define DP83848_TCSR_TDR_CH_CABLE_MATCH ((uint16_t)0x0600U) #define DP83848_TCSR_TDR_CH_STATUS ((uint16_t)0x0100U) #define DP83848_TCSR_TDR_CH_LENGTH ((uint16_t)0x00FFU) /** * @} *//* ... */ /** @defgroup DP83848_SCSIR_Bit_Definition DP83848 SCSIR Bit Definition * @{ *//* ... */ #define DP83848_SCSIR_AUTO_MDIX_ENABLE ((uint16_t)0x8000U) #define DP83848_SCSIR_CHANNEL_SELECT ((uint16_t)0x2000U) #define DP83848_SCSIR_SQE_DISABLE ((uint16_t)0x0800U) #define DP83848_SCSIR_XPOLALITY ((uint16_t)0x0010U) /** * @} *//* ... */ /** @defgroup DP83848_CLR_Bit_Definition DP83848 CLR Bit Definition * @{ *//* ... */ #define DP83848_CLR_CABLE_LENGTH ((uint16_t)0xF000U) /** * @} *//* ... */ /** @defgroup DP83848_IMR_ISFR_Bit_Definition DP83848 IMR ISFR Bit Definition * @{ *//* ... */ #define DP83848_INT_8 ((uint16_t)0x0100U) #define DP83848_INT_7 ((uint16_t)0x0080U) #define DP83848_INT_6 ((uint16_t)0x0040U) #define DP83848_INT_5 ((uint16_t)0x0020U) #define DP83848_INT_4 ((uint16_t)0x0010U) #define DP83848_INT_3 ((uint16_t)0x0008U) #define DP83848_INT_2 ((uint16_t)0x0004U) #define DP83848_INT_1 ((uint16_t)0x0002U) /** * @} *//* ... */ /** @defgroup DP83848_PHYSCSR_Bit_Definition DP83848 PHYSCSR Bit Definition * @{ *//* ... */ #define DP83848_PHYSCSR_AUTONEGO_DONE ((uint16_t)0x010U) #define DP83848_PHYSCSR_HCDSPEEDMASK ((uint16_t)0x006U) #define DP83848_PHYSCSR_10BT_HD ((uint16_t)0x002U) #define DP83848_PHYSCSR_10BT_FD ((uint16_t)0x006U) #define DP83848_PHYSCSR_100BTX_HD ((uint16_t)0x000U) #define DP83848_PHYSCSR_100BTX_FD ((uint16_t)0x004U) /** * @} *//* ... */ /** @defgroup DP83848_Status DP83848 Status * @{ *//* ... */ #define DP83848_STATUS_READ_ERROR ((int32_t)-5) #define DP83848_STATUS_WRITE_ERROR ((int32_t)-4) #define DP83848_STATUS_ADDRESS_ERROR ((int32_t)-3) #define DP83848_STATUS_RESET_TIMEOUT ((int32_t)-2) #define DP83848_STATUS_ERROR ((int32_t)-1) #define DP83848_STATUS_OK ((int32_t) 0) #define DP83848_STATUS_LINK_DOWN ((int32_t) 1) #define DP83848_STATUS_100MBITS_FULLDUPLEX ((int32_t) 2) #define DP83848_STATUS_100MBITS_HALFDUPLEX ((int32_t) 3) #define DP83848_STATUS_10MBITS_FULLDUPLEX ((int32_t) 4) #define DP83848_STATUS_10MBITS_HALFDUPLEX ((int32_t) 5) #define DP83848_STATUS_AUTONEGO_NOTDONE ((int32_t) 6) /** * @} *//* ... */ /** @defgroup DP83848_IT_Flags DP83848 IT Flags * @{ *//* ... */ #define DP83848_WOL_IT DP83848_INT_8 #define DP83848_ENERGYON_IT DP83848_INT_7 #define DP83848_AUTONEGO_COMPLETE_IT DP83848_INT_6 #define DP83848_REMOTE_FAULT_IT DP83848_INT_5 #define DP83848_LINK_DOWN_IT DP83848_INT_4 #define DP83848_AUTONEGO_LP_ACK_IT DP83848_INT_3 #define DP83848_PARALLEL_DETECTION_FAULT_IT DP83848_INT_2 #define DP83848_AUTONEGO_PAGE_RECEIVED_IT DP83848_INT_1 154 defines/** * @} *//* ... */ /** * @} *//* ... */ Exported constants /* Exported types ------------------------------------------------------------*/ /** @defgroup DP83848_Exported_Types DP83848 Exported Types * @{ *//* ... */ typedef int32_t (*dp83848_Init_Func) (void); typedef int32_t (*dp83848_DeInit_Func) (void); typedef int32_t (*dp83848_ReadReg_Func) (uint32_t, uint32_t, uint32_t *); typedef int32_t (*dp83848_WriteReg_Func) (uint32_t, uint32_t, uint32_t); typedef int32_t (*dp83848_GetTick_Func) (void); typedef struct { dp83848_Init_Func Init; dp83848_DeInit_Func DeInit; dp83848_WriteReg_Func WriteReg; dp83848_ReadReg_Func ReadReg; dp83848_GetTick_Func GetTick; ...} dp83848_IOCtx_t; typedef struct { uint32_t DevAddr; uint32_t Is_Initialized; dp83848_IOCtx_t IO; void *pData; ...}dp83848_Object_t; /** * @} *//* ... */ Exported types /* Exported macro ------------------------------------------------------------*/ /* Exported functions --------------------------------------------------------*/ /** @defgroup DP83848_Exported_Functions DP83848 Exported Functions * @{ *//* ... */ int32_t DP83848_RegisterBusIO(dp83848_Object_t *pObj, dp83848_IOCtx_t *ioctx); int32_t DP83848_Init(dp83848_Object_t *pObj); int32_t DP83848_DeInit(dp83848_Object_t *pObj); int32_t DP83848_DisablePowerDownMode(dp83848_Object_t *pObj); int32_t DP83848_EnablePowerDownMode(dp83848_Object_t *pObj); int32_t DP83848_StartAutoNego(dp83848_Object_t *pObj); int32_t DP83848_GetLinkState(dp83848_Object_t *pObj); int32_t DP83848_SetLinkState(dp83848_Object_t *pObj, uint32_t LinkState); int32_t DP83848_EnableLoopbackMode(dp83848_Object_t *pObj); int32_t DP83848_DisableLoopbackMode(dp83848_Object_t *pObj); int32_t DP83848_EnableIT(dp83848_Object_t *pObj, uint32_t Interrupt); int32_t DP83848_DisableIT(dp83848_Object_t *pObj, uint32_t Interrupt); int32_t DP83848_ClearIT(dp83848_Object_t *pObj, uint32_t Interrupt); int32_t DP83848_GetITStatus(dp83848_Object_t *pObj, uint32_t Interrupt); /** * @} *//* ... */ #ifdef __cplusplus }extern "C" { ... } #endif/* ... */ #endif /* DP83848_H */ /** * @} *//* ... */ /** * @} *//* ... */ /** * @} *//* ... */ /** * @} *//* ... */