AM64x MCU+ SDK  08.02.00
dp83867.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Texas Instruments Incorporated 2020
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
49 #ifndef DP83867_H_
50 #define DP83867_H_
51 
52 /* ========================================================================== */
53 /* Include Files */
54 /* ========================================================================== */
55 
56 #include <stdint.h>
57 #include <stdbool.h>
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif
62 
63 /* ========================================================================== */
64 /* Macros */
65 /* ========================================================================== */
66 
68 #define DP83867_LED_NUM (4U)
69 
70 /* ========================================================================== */
71 /* Structures and Enums */
72 /* ========================================================================== */
73 
77 typedef enum Dp83867_Gpio0Mode_e
78 {
81 
84 
87 
90 
93 
96 
99 
102 
106 
110 typedef enum Dp83867_Gpio1Mode_e
111 {
114 
117 
120 
123 
126 
129 
132 
135 
139 
143 typedef enum Dp83867_LedMode_e
144 {
147 
150 
153 
156 
159 
162 
165 
168 
171 
174 
177 
180 
183 
187 
191 typedef struct Dp83867_Cfg_s
192 {
195 
198 
200  uint32_t txDelayInPs;
201 
203  uint32_t rxDelayInPs;
204 
206  uint8_t txFifoDepth;
207 
209  uint32_t idleCntThresh;
210 
214 
217 
220 
223 } Dp83867_Cfg;
224 
225 /* ========================================================================== */
226 /* Global Variables Declarations */
227 /* ========================================================================== */
228 
229 /* None */
230 
231 /* ========================================================================== */
232 /* Function Declarations */
233 /* ========================================================================== */
234 
243 
244 /* ========================================================================== */
245 /* Deprecated Function Declarations */
246 /* ========================================================================== */
247 
248 /* None */
249 
250 /* ========================================================================== */
251 /* Static Function Definitions */
252 /* ========================================================================== */
253 
254 /* None */
255 
256 #ifdef __cplusplus
257 }
258 #endif
259 
260 #endif /* DP83867_H_ */
261 
DP83867_GPIO1_LED3
@ DP83867_GPIO1_LED3
Definition: dp83867.h:128
Dp83867_Cfg::impedanceInMilliOhms
uint32_t impedanceInMilliOhms
Definition: dp83867.h:213
Dp83867_Cfg::idleCntThresh
uint32_t idleCntThresh
Definition: dp83867.h:209
DP83867_LED_LINKED_10BT
@ DP83867_LED_LINKED_10BT
Definition: dp83867.h:167
DP83867_GPIO0_1588RXSFD
@ DP83867_GPIO0_1588RXSFD
Definition: dp83867.h:86
DP83867_LED_FULLDUPLEX
@ DP83867_LED_FULLDUPLEX
Definition: dp83867.h:176
DP83867_GPIO0_1588TXSFD
@ DP83867_GPIO0_1588TXSFD
Definition: dp83867.h:83
Dp83867_Cfg::gpio1Mode
Dp83867_Gpio1Mode gpio1Mode
Definition: dp83867.h:219
Dp83867_LedMode
Dp83867_LedMode
LED modes (sources).
Definition: dp83867.h:144
Dp83867_initCfg
void Dp83867_initCfg(Dp83867_Cfg *cfg)
Initialize DP83867 PHY specific config params.
Dp83867_Cfg::gpio0Mode
Dp83867_Gpio0Mode gpio0Mode
Definition: dp83867.h:216
DP83867_GPIO1_ENERGYDET
@ DP83867_GPIO1_ENERGYDET
Definition: dp83867.h:125
DP83867_LED_RXERR
@ DP83867_LED_RXERR
Definition: dp83867.h:185
DP83867_LED_LINKED
@ DP83867_LED_LINKED
Definition: dp83867.h:146
DP83867_LED_LINKED_BLINKACT
@ DP83867_LED_LINKED_BLINKACT
Definition: dp83867.h:179
DP83867_GPIO1_WOL
@ DP83867_GPIO1_WOL
Definition: dp83867.h:122
DP83867_GPIO0_PRBSERR
@ DP83867_GPIO0_PRBSERR
Definition: dp83867.h:98
DP83867_GPIO0_RXERR
@ DP83867_GPIO0_RXERR
Definition: dp83867.h:80
DP83867_GPIO0_LED3
@ DP83867_GPIO0_LED3
Definition: dp83867.h:95
DP83867_LED_LINKED_1000BT
@ DP83867_LED_LINKED_1000BT
Definition: dp83867.h:161
DP83867_LED_RXACT
@ DP83867_LED_RXACT
Definition: dp83867.h:155
DP83867_LED_COLLDET
@ DP83867_LED_COLLDET
Definition: dp83867.h:158
Dp83867_Gpio1Mode
Dp83867_Gpio1Mode
GPIO_1 mux modes.
Definition: dp83867.h:111
DP83867_GPIO1_PRBSERR
@ DP83867_GPIO1_PRBSERR
Definition: dp83867.h:131
Dp83867_Cfg::txClkShiftEn
bool txClkShiftEn
Definition: dp83867.h:194
DP83867_GPIO0_ENERGYDET
@ DP83867_GPIO0_ENERGYDET
Definition: dp83867.h:92
DP83867_LED_LINKED_100BTX
@ DP83867_LED_LINKED_100BTX
Definition: dp83867.h:164
Dp83867_Cfg::txFifoDepth
uint8_t txFifoDepth
Definition: dp83867.h:206
DP83867_GPIO1_COL
@ DP83867_GPIO1_COL
Definition: dp83867.h:113
Dp83867_Cfg::rxDelayInPs
uint32_t rxDelayInPs
Definition: dp83867.h:203
Dp83867_Gpio0Mode
Dp83867_Gpio0Mode
GPIO_0 mux modes.
Definition: dp83867.h:78
Dp83867_Cfg::rxClkShiftEn
bool rxClkShiftEn
Definition: dp83867.h:197
DP83867_GPIO0_WOL
@ DP83867_GPIO0_WOL
Definition: dp83867.h:89
DP83867_LED_RXTXACT
@ DP83867_LED_RXTXACT
Definition: dp83867.h:149
DP83867_GPIO1_1588RXSFD
@ DP83867_GPIO1_1588RXSFD
Definition: dp83867.h:119
DP83867_LED_RXTXERR
@ DP83867_LED_RXTXERR
Definition: dp83867.h:182
DP83867_LED_LINKED_10100BT
@ DP83867_LED_LINKED_10100BT
Definition: dp83867.h:170
DP83867_GPIO1_CONSTANT0
@ DP83867_GPIO1_CONSTANT0
Definition: dp83867.h:134
DP83867_LED_NUM
#define DP83867_LED_NUM
Number of LEDs available in the PHY.
Definition: dp83867.h:68
DP83867_GPIO1_CONSTANT1
@ DP83867_GPIO1_CONSTANT1
Definition: dp83867.h:137
Dp83867_Cfg::txDelayInPs
uint32_t txDelayInPs
Definition: dp83867.h:200
DP83867_GPIO0_CONSTANT1
@ DP83867_GPIO0_CONSTANT1
Definition: dp83867.h:104
Dp83867_Cfg
DP83867 PHY configuration parameters.
Definition: dp83867.h:192
DP83867_GPIO1_1588TXSFD
@ DP83867_GPIO1_1588TXSFD
Definition: dp83867.h:116
DP83867_LED_TXACT
@ DP83867_LED_TXACT
Definition: dp83867.h:152
DP83867_LED_LINKED_1001000BT
@ DP83867_LED_LINKED_1001000BT
Definition: dp83867.h:173
DP83867_GPIO0_CONSTANT0
@ DP83867_GPIO0_CONSTANT0
Definition: dp83867.h:101