MCUSW
Eth.h
Go to the documentation of this file.
1 /*
2 *
3 * Copyright (c) 2023 Texas Instruments Incorporated
4 *
5 * All rights reserved not granted herein.
6 *
7 * Limited License.
8 *
9 * Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10 * license under copyrights and patents it now or hereafter owns or controls to make,
11 * have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12 * terms herein. With respect to the foregoing patent license, such license is granted
13 * solely to the extent that any such patent is necessary to Utilize the software alone.
14 * The patent license shall not apply to any combinations which include this software,
15 * other than combinations with devices manufactured by or for TI ("TI Devices").
16 * No hardware patent is licensed hereunder.
17 *
18 * Redistributions must preserve existing copyright notices and reproduce this license
19 * (including the above copyright notice and the disclaimer and (if applicable) source
20 * code license limitations below) in the documentation and/or other materials provided
21 * with the distribution
22 *
23 * Redistribution and use in binary form, without modification, are permitted provided
24 * that the following conditions are met:
25 *
26 * * No reverse engineering, decompilation, or disassembly of this software is
27 * permitted with respect to any software provided in binary form.
28 *
29 * * any redistribution and use are licensed by TI for use only with TI Devices.
30 *
31 * * Nothing shall obligate TI to provide you with source code for the software
32 * licensed and provided to you in object code.
33 *
34 * If software source code is provided to you, modification and redistribution of the
35 * source code are permitted provided that the following conditions are met:
36 *
37 * * any redistribution and use of the source code, including any resulting derivative
38 * works, are licensed by TI for use only with TI Devices.
39 *
40 * * any redistribution and use of any object code compiled from the source code
41 * and any resulting derivative works, are licensed by TI for use only with TI Devices.
42 *
43 * Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44 *
45 * may be used to endorse or promote products derived from this software without
46 * specific prior written permission.
47 *
48 * DISCLAIMER.
49 *
50 * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53 * IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59 * OF THE POSSIBILITY OF SUCH DAMAGE.
60 *
61 */
62 
91 /*
92  * Below are the generic requirements met by this Eth driver which can't be
93  * mapped to a specific piece of code
94  */
95 /*
96  * Design: ETH_DesignId_001
97  * Requirements: MCAL-1519, MCAL-1520, MCAL-1522, MCAL-1523,
98  * MCAL-1525, MCAL-1526, MCAL-1531, MCAL-1614,
99  * MCAL-1635, MCAL-1636, MCAL-1703, MCAL-981
100  */
101 
102 #ifndef ETH_H_
103 #define ETH_H_
104 
105 /* ========================================================================== */
106 /* Include Files */
107 /* ========================================================================== */
108 
109 /*
110  * Design: ETH_DesignId_001
111  * Requirements: MCAL-1635
112  *
113  * Note: As per "Header file structure" in Ethernet Driver spec:
114  * Eth.h --> Eth_Types.h --> Eth_GeneralTypes.h --> ComStack_Types.h
115  */
116 #include "Eth_Types.h"
117 #include "Eth_Cfg.h"
118 #include "Eth_Packet.h"
119 
120 #ifdef __cplusplus
121 extern "C"
122 {
123 #endif
124 
125 /* ========================================================================== */
126 /* Macros & Typedefs */
127 /* ========================================================================== */
128 
135 /*
136  * Design: ETH_DesignId_001
137  * Requirements: MCAL-1522
138  */
140 #define ETH_SW_MAJOR_VERSION (3U)
141 
142 #define ETH_SW_MINOR_VERSION (0U)
143 
144 #define ETH_SW_PATCH_VERSION (0U)
145 /* @} */
146 
154 #define ETH_AR_RELEASE_MAJOR_VERSION (4U)
155 
156 #define ETH_AR_RELEASE_MINOR_VERSION (3U)
157 
158 #define ETH_AR_RELEASE_REVISION_VERSION (1U)
159 /* @} */
160 
166 #define ETH_VENDOR_ID ((uint16) 44U)
167 
168 #define ETH_MODULE_ID ((uint16) 88U)
169 
170 #define ETH_INSTANCE_ID ((uint8) 0U)
171 /* @} */
172 
173 /* @} */
174 
182 /*
183  * Design: ETH_DesignId_003
184  * Requirements: MCAL-1530
185  */
186 #ifndef ETH_E_INV_CTRL_IDX
187 
188 #define ETH_E_INV_CTRL_IDX ((uint8) 0x01U)
189 #endif
190 #ifndef ETH_E_UNINIT
191 
192 #define ETH_E_UNINIT ((uint8) 0x02U)
193 #endif
194 #ifndef ETH_E_PARAM_POINTER
195 
196 #define ETH_E_PARAM_POINTER ((uint8) 0x03U)
197 #endif
198 #ifndef ETH_E_INV_PARAM
199 
200 #define ETH_E_INV_PARAM ((uint8) 0x04U)
201 #endif
202 #ifndef ETH_E_INV_MODE
203 
204 #define ETH_E_INV_MODE ((uint8) 0x05U)
205 #endif
206 #ifndef ETH_E_VIRTMAC_APIMISMATCH
207 
208 #define ETH_E_VIRTMAC_APIMISMATCH ((uint8) 0x07U)
209 #endif
210 #ifndef ETH_E_VIRTMAC_RPCCMDFAILED
211 
212 #define ETH_E_VIRTMAC_RPCCMDFAILED ((uint8) 0x08U)
213 #endif
214 #ifndef ETH_E_VIRTMAC_UNSUPPORTECLIENTNOTIFY
215 
216 #define ETH_E_VIRTMAC_UNSUPPORTECLIENTNOTIFY ((uint8) 0x09U)
217 #endif
218 #ifndef ETH_E_VIRTMAC_UNSUPPORTEDSRVCMD
219 
220 #define ETH_E_VIRTMAC_UNSUPPORTEDSRVCMD ((uint8) 0x0AU)
221 #endif
222 #ifndef ETH_E_BUSY
223 
224 #define ETH_E_BUSY ((uint8) 0x0BU)
225 #endif
226 
227 /* @} */
228 
243 #define ETH_SID_INIT ((uint8) 0x01U)
244 
246 #define ETH_SID_SET_CONTROLLER_MODE ((uint8) 0x03U)
247 
249 #define ETH_SID_GET_CONTROLLER_MODE ((uint8) 0x04U)
250 
252 #define ETH_SID_WRITE_MII ((uint8) 0x05U)
253 
255 #define ETH_SID_READ_MII ((uint8) 0x06U)
256 
258 #define ETH_SID_GET_COUNTER_STATE ((uint8) 0x07U)
259 
261 #define ETH_SID_GET_PHYS_ADDR ((uint8) 0x08U)
262 
264 #define ETH_SID_PROVIDE_TX_BUFFER ((uint8) 0x09U)
265 
267 /* REVISIT: Same as below? */
268 #define ETH_SID_MAIN_FUNCTION ((uint8) 0x0AU)
269 
271 #define ETH_SID_TRANSMIT ((uint8) 0x0BU)
272 
274 #define ETH_SID_RECEIVE ((uint8) 0x0CU)
275 
277 #define ETH_SID_TX_CONFIRMATION ((uint8) 0x0EU)
278 
280 #define ETH_SID_GET_VERSION_INFO ((uint8) 0x0FU)
281 
283 #define ETH_SID_RX_IRQ_HDLR ((uint8) 0x10U)
284 
286 #define ETH_SID_TX_IRQ_HDLR ((uint8) 0x11U)
287 
289 #define ETH_SID_UPDATE_PHYS_ADDR_FILTER ((uint8) 0x12U)
290 
292 #define ETH_SID_SET_PHYS_ADDR ((uint8) 0x13U)
293 
295 #define ETH_SID_GET_COUNTER_VALUES ((uint8) 0x14U)
296 
298 #define ETH_SID_GET_RX_STATS ((uint8) 0x15U)
299 
301 #define ETH_SID_GET_TX_STATS ((uint8) 0x1CU)
302 
304 #define ETH_SID_GET_TXERROR_COUNTERVALUES ((uint8) 0x1DU)
305 
307 #define ETH_SID_GET_CURRENT_TIME ((uint8) 0x16U)
308 
310 #define ETH_SID_ENABLE_EGRESS_TIMESTAMP ((uint8) 0x17U)
311 
313 #define ETH_SID_GET_EGRESS_TIMESTAMP ((uint8) 0x18U)
314 
316 #define ETH_SID_GET_INGRESS_TIMESTAMP ((uint8) 0x19U)
317 
319 #define ETH_SID_SET_CORRECTION_TIME ((uint8) 0x1AU)
320 
322 #define ETH_SID_SET_GLOBAL_TIME ((uint8) 0x1BU)
323 
325 #define ETH_SID_DISPATCH_VIRTMAC_INIT ((uint8) 0x1CU)
326 
328 #define ETH_SID_DISPATCH_VIRTMAC_DEINIT ((uint8) 0x1DU)
329 
331 #define ETH_SID_NOTIFY_VIRTMAC_MSGRECV ((uint8) 0x1EU)
332 
334 #define ETH_SID_DISPATCH_VIRTMAC_SUBSCRIBE_ALLTRAFFIC ((uint8) 0x1FU)
335 
337 #define ETH_SID_DISPATCH_VIRTMAC_UNSUBSCRIBE_ALLTRAFFIC ((uint8) 0x20U)
338 
340 #define ETH_SID_DISPATCH_VIRTMAC_SUBSCRIBE_DSTMAC ((uint8) 0x21U)
341 
343 #define ETH_SID_DISPATCH_VIRTMAC_UNSUBSCRIBE_DSTMAC ((uint8) 0x22U)
344 
346 #define ETH_SID_DISPATCH_VIRTMAC_IPV4_MACADDR_ASSOCIATE ((uint8) 0x23U)
347 
349 #define ETH_SID_DISPATCH_VIRTMAC_IPV4_MACADDR_DISASSOCIATE ((uint8) 0x24U)
350 
352 #define ETH_SID_DISPATCH_VIRTMAC_ADD_UNICAST_MACADDR ((uint8) 0x25U)
353 
355 #define ETH_SID_DISPATCH_VIRTMAC_ADD_MCAST_MACADDR ((uint8) 0x26U)
356 
358 #define ETH_SID_DISPATCH_VIRTMAC_DEL_MACADDR ((uint8) 0x27U)
359 
361 #define ETH_SID_DISPATCH_VIRTMAC_ADD_VLAN ((uint8) 0x28U)
362 
364 #define ETH_SID_DISPATCH_VIRTMAC_DEL_VLAN ((uint8) 0x29U)
365 
367 #define ETH_SID_SEND_CUSTOM_NOTIFY ((uint8) 0x2AU)
368 
370 #define ETH_SID_VIRTMAC_RPC_INIT ((uint8) 0x2BU)
371 
373 #define ETH_SID_SET_BANDWIDTH_LIMIT ((uint8) 0x2CU)
374 
376 #define ETH_SID_GET_BANDWIDTH_LIMIT ((uint8) 0x2DU)
377 
378 /* @} */
379 /* @} */
380 
381 /* ========================================================================== */
382 /* Structures and Enums */
383 /* ========================================================================== */
384 
385 /* None */
386 
387 /* ========================================================================== */
388 /* Function Declarations */
389 /* ========================================================================== */
390 
410 FUNC(void, ETH_CODE)
411 Eth_Init(P2CONST(Eth_ConfigType, AUTOMATIC, ETH_PBCFG) CfgPtr);
412 
439 FUNC(Std_ReturnType, ETH_CODE)
440 Eth_SetControllerMode(uint8 CtrlIdx,
441  Eth_ModeType CtrlMode);
442 
468 FUNC(Std_ReturnType, ETH_CODE)
469 Eth_GetControllerMode(uint8 CtrlIdx,
470  P2VAR(Eth_ModeType, AUTOMATIC, ETH_APPL_DATA) CtrlModePtr);
471 
496 FUNC(void, ETH_CODE)
497 Eth_GetPhysAddr(uint8 CtrlIdx,
498  P2VAR(uint8, AUTOMATIC, ETH_APPL_DATA) PhysAddrPtr);
499 
525 FUNC(void, ETH_CODE)
526 Eth_SetPhysAddr(uint8 CtrlIdx,
527  P2CONST(uint8, AUTOMATIC, ETH_APPL_DATA) PhysAddrPtr);
528 
529 #if (STD_ON == ETH_UPDATE_PHYS_ADDR_FILTER_API)
530 
561 FUNC(Std_ReturnType, ETH_CODE)
562 Eth_UpdatePhysAddrFilter(uint8 CtrlIdx,
563  P2CONST(uint8, AUTOMATIC, ETH_APPL_DATA) PhysAddrPtr,
564  Eth_FilterActionType Action);
565 #endif /* (STD_ON == ETH_UPDATE_PHYS_ADDR_FILTER_API) */
566 
567 #if (STD_ON == ETH_ENABLE_MII_API)
568 
599 FUNC(Std_ReturnType, ETH_CODE)
600 Eth_WriteMii(uint8 CtrlIdx,
601  uint8 TrcvIdx,
602  uint8 RegIdx,
603  uint16 RegVal);
604 
635 FUNC(Std_ReturnType, ETH_CODE)
636 Eth_ReadMii(uint8 CtrlIdx,
637  uint8 TrcvIdx,
638  uint8 RegIdx,
639  P2VAR(uint16, AUTOMATIC, ETH_APPL_DATA) RegValPtr);
640 #endif /* (STD_ON == ETH_ENABLE_MII_API) */
641 
642 #if (STD_ON == ETH_GET_COUNTER_VALUES_API)
643 
666 FUNC(Std_ReturnType, ETH_CODE)
667 Eth_GetCounterValues(uint8 CtrlIdx,
668  Eth_CounterType* CounterPtr);
669 
692 FUNC(Std_ReturnType, ETH_CODE)
693 Eth_GetCounterState(uint8 CtrlIdx,
694  uint16 CtrOffs,
695  uint32* CtrValPtr);
696 #endif /* (STD_ON == ETH_GET_COUNTER_VALUES_API) */
697 
698 #if (STD_ON == ETH_GET_RX_STATS_API)
699 
724 FUNC(Std_ReturnType, ETH_CODE)
725 Eth_GetRxStats(uint8 CtrlIdx,
726  P2VAR(Eth_RxStatsType, AUTOMATIC, ETH_APPL_DATA) RxStats);
727 #endif /* (STD_ON == ETH_GET_RX_STATS_API) */
728 
729 #if (STD_ON == ETH_GET_TX_STATS_API)
730 
755 FUNC(Std_ReturnType, ETH_CODE)
756 Eth_GetTxStats(uint8 CtrlIdx,
757  P2VAR(Eth_TxStatsType, AUTOMATIC, ETH_APPL_DATA) TxStats);
758 #endif /* (STD_ON == ETH_GET_TX_STATS_API) */
759 
760 #if (STD_ON == ETH_GET_TX_ERROR_COUNTERSVALUES_API)
761 
784 FUNC(Std_ReturnType, ETH_CODE)
785 Eth_GetTxErrorCounterValues(uint8 CtrlIdx,
786  P2VAR(Eth_TxErrorCounterValuesType, AUTOMATIC, ETH_APPL_DATA) TxErrorCounterValues);
787 #endif
788 
789 #if (STD_ON == ETH_GLOBALTIMESUPPORT_API)
790 
818 FUNC(Std_ReturnType, ETH_CODE)
819 Eth_GetCurrentTime(uint8 CtrlIdx,
820  P2VAR(Eth_TimeStampQualType, AUTOMATIC, ETH_APPL_DATA) timeQualPtr,
821  P2VAR(Eth_TimeStampType, AUTOMATIC, ETH_APPL_DATA) timeStampPtr);
822 
852 FUNC(void, ETH_CODE)
853 Eth_EnableEgressTimeStamp(uint8 CtrlIdx, Eth_BufIdxType BufIdx);
854 
885 FUNC(void, ETH_CODE)
886 Eth_GetEgressTimeStamp(uint8 CtrlIdx,
887  Eth_BufIdxType BufIdx,
888  P2VAR(Eth_TimeStampQualType, AUTOMATIC, ETH_APPL_DATA) timeQualPtr,
889  P2VAR(Eth_TimeStampType, AUTOMATIC, ETH_APPL_DATA) timeStampPtr);
890 
921 FUNC(void, ETH_CODE)
922 Eth_GetIngressTimeStamp(uint8 CtrlIdx,
923  P2VAR(Eth_DataType, AUTOMATIC, ETH_APPL_DATA) DataPtr,
924  P2VAR(Eth_TimeStampQualType, AUTOMATIC, ETH_APPL_DATA) timeQualPtr,
925  P2VAR(Eth_TimeStampType, AUTOMATIC, ETH_APPL_DATA) timeStampPtr);
926 
959 FUNC(void, ETH_CODE)
960 Eth_SetCorrectionTime(uint8 CtrlIdx,
961  P2VAR(Eth_TimeIntDiffType, AUTOMATIC, ETH_APPL_DAT) timeOffsetPtr,
962  P2VAR(Eth_RateRatioType, AUTOMATIC, ETH_APPL_DAT) rateRatioPtr);
963 
992 FUNC(Std_ReturnType, ETH_CODE)
993 Eth_SetGlobalTime(uint8 CtrlIdx,
994  P2VAR(Eth_TimeStampType, AUTOMATIC, ETH_APPL_DAT) timeStampPtr);
995 #endif /* (STD_ON == ETH_GLOBALTIMESUPPORT_API) */
996 
1031 FUNC(BufReq_ReturnType, ETH_CODE)
1032 Eth_ProvideTxBuffer(uint8 CtrlIdx,
1033  uint8 Priority,
1034  P2VAR(Eth_BufIdxType, AUTOMATIC, ETH_APPL_DAT) BufIdxPtr,
1035  P2VAR(uint8, AUTOMATIC, ETH_APPL_DAT) *BufPtr,
1036  P2VAR(uint16, AUTOMATIC, ETH_APPL_DAT) LenBytePtr);
1037 
1072 FUNC(Std_ReturnType, ETH_CODE)
1073 Eth_Transmit(uint8 CtrlIdx,
1074  Eth_BufIdxType BufIdx,
1075  Eth_FrameType FrameType,
1076  boolean TxConfirmation,
1077  uint16 LenByte,
1078  P2CONST(uint8, AUTOMATIC, ETH_APPL_DAT) PhysAddrPtr);
1079 
1105 FUNC(void, ETH_CODE)
1106 Eth_Receive(uint8 CtrlIdx,
1107  uint8 FifoIdx,
1108  P2VAR(Eth_RxStatusType, AUTOMATIC, ETH_APPL_DAT) RxStatusPtr);
1109 
1130 FUNC(void, ETH_CODE)
1131 Eth_TxConfirmation(uint8 CtrlIdx);
1132 
1133 #if (STD_ON == ETH_VERSION_INFO_API)
1134 
1154 FUNC(void, ETH_CODE)
1155 Eth_GetVersionInfo(P2VAR(Std_VersionInfoType, AUTOMATIC, ETH_APPL_DATA) VersionInfo);
1156 #endif /* (STD_ON == ETH_VERSION_INFO_API) */
1157 
1175 FUNC(void, ETH_CODE)
1176 Eth_MainFunction(void);
1177 
1178 #if (STD_ON == ETH_WRAPPER_ENABLED)
1179 
1206 FUNC(Std_ReturnType, ETH_CODE) Eth_SetBandwidthLimit(
1207  uint8 CtrlIdx,
1208  uint8 QueuePrio,
1209  uint32 BandwidthLimit);
1210 
1236 FUNC(Std_ReturnType, ETH_CODE) Eth_GetBandwidthLimit(
1237  uint8 CtrlIdx,
1238  uint8 QueuePrio,
1239  P2VAR(uint32, AUTOMATIC, ETH_APPL_DAT) BandwidthLimitPtr);
1240 
1241 #endif /* (STD_ON == ETH_WRAPPER_ENABLED) */
1242 
1243 #ifdef __cplusplus
1244 }
1245 #endif
1246 
1247 #endif /* ETH_H_ */
1248 
1249 /* @} */
void Eth_GetPhysAddr(uint8 CtrlIdx, uint8 *PhysAddrPtr)
This function obtains the physical source address used by the indexed controller.
Std_ReturnType Eth_Transmit(uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8 *PhysAddrPtr)
This function triggers transmission of a previously filled transmit buffer.
Std_ReturnType Eth_GetCounterValues(uint8 CtrlIdx, Eth_CounterType *CounterPtr)
This function reads a list with counter values of the corresponding controller.
Std_ReturnType Eth_SetControllerMode(uint8 CtrlIdx, Eth_ModeType CtrlMode)
This function enables / disables the indexed controller.
Std_ReturnType Eth_GetTxErrorCounterValues(uint8 CtrlIdx, Eth_TxErrorCounterValuesType *TxErrorCounterValues)
This function reads a list of values to read statistic error counter values for transmission for corr...
Std_ReturnType Eth_GetCurrentTime(uint8 CtrlIdx, Eth_TimeStampQualType *timeQualPtr, Eth_TimeStampType *timeStampPtr)
This function returns a time value out of the HW registers.
Eth configuration type Configuration data of all controller.
Definition: Eth_Cfg.h:771
Std_ReturnType Eth_ReadMii(uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 *RegValPtr)
This function reads a transceiver register.
Std_ReturnType Eth_WriteMii(uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal)
This function configures a transceiver register or triggers a function offered by the receiver Servic...
void Eth_GetIngressTimeStamp(uint8 CtrlIdx, Eth_DataType *DataPtr, Eth_TimeStampQualType *timeQualPtr, Eth_TimeStampType *timeStampPtr)
This function reads back the ingress time stamp on a dedicated message object.
Std_ReturnType Eth_SetGlobalTime(uint8 CtrlIdx, Eth_TimeStampType *timeStampPtr)
This function allows the Time Master to adjust the global ETH Reference clock in HW.
Std_ReturnType Eth_GetControllerMode(uint8 CtrlIdx, Eth_ModeType *CtrlModePtr)
This function obtains the state of the indexed controller.
void Eth_Init(const Eth_ConfigType *CfgPtr)
This function initializes the driver.
void Eth_MainFunction(void)
The function checks for controller errors and lost frames. Used for polling state changes....
Std_ReturnType Eth_SetBandwidthLimit(uint8 CtrlIdx, uint8 QueuePrio, uint32 BandwidthLimit)
This function set bandwidth for a specific transmitsion queue.
void Eth_SetPhysAddr(uint8 CtrlIdx, const uint8 *PhysAddrPtr)
This function sets the physical source address used by the indexed controller.
BufReq_ReturnType Eth_ProvideTxBuffer(uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType *BufIdxPtr, uint8 **BufPtr, uint16 *LenBytePtr)
This function provides access to a transmit buffer of the specified controller.
Std_ReturnType Eth_GetBandwidthLimit(uint8 CtrlIdx, uint8 QueuePrio, uint32 *BandwidthLimitPtr)
This function get bandwidth for a specific transmitsion queue.
Std_ReturnType Eth_GetTxStats(uint8 CtrlIdx, Eth_TxStatsType *TxStats)
This function reads a list with TX statistics values of the corresponding controller.
Std_ReturnType Eth_GetCounterState(uint8 CtrlIdx, uint16 CtrOffs, uint32 *CtrValPtr)
Reads the value of a counter specified with its memory offset.
This file contains generated configuration for ETH MCAL driver.
void Eth_GetVersionInfo(Std_VersionInfoType *VersionInfo)
Function returns the version information of this module.
Std_ReturnType Eth_GetRxStats(uint8 CtrlIdx, Eth_RxStatsType *RxStats)
This function reads a list with RX statistics values of the corresponding controller.
void Eth_SetCorrectionTime(uint8 CtrlIdx, Eth_TimeIntDiffType *timeOffsetPtr, Eth_RateRatioType *rateRatioPtr)
This function allows the Time Slave to adjust the local ETH Reference clock in HW.
void Eth_Receive(uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType *RxStatusPtr)
This function triggers frame reception.
void Eth_TxConfirmation(uint8 CtrlIdx)
This function triggers frame transmission confirmation.
Std_ReturnType Eth_UpdatePhysAddrFilter(uint8 CtrlIdx, const uint8 *PhysAddrPtr, Eth_FilterActionType Action)
This function updates the physical source address to / from the indexed controller filter.
void Eth_EnableEgressTimeStamp(uint8 CtrlIdx, Eth_BufIdxType BufIdx)
This function activates egress time stamping on a dedicated message object.
void Eth_GetEgressTimeStamp(uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_TimeStampQualType *timeQualPtr, Eth_TimeStampType *timeStampPtr)
This function reads back the egress time stamp on a dedicated message object.