MCUSW
Ethernet Transceiver Driver API

Introduction

The EthTrcv Driver MCAL provides low level access to Ethernet transceiver present on Jacinto 7 device family EVMs.
The EthTrcv Driver implements a standardized interface specified in the AUTOSAR_SWS_EthernetTransceiverDriver document.
The EthTrcv Driver is part of the Communication Stack in the AUTOSAR Basic Software (BSW).

See also
EthTrcv Configuration

Sub Modules

 EthTrcv Configuration
 

Functions

void EthTrcv_Init (const EthTrcv_ConfigType *CfgPtr)
 This function initializes the Ethernet Transceiver controller. All the required initialization for the transceiver driver is performed in this function. More...
 
Std_ReturnType EthTrcv_SetTransceiverMode (uint8 TrcvIdx, EthTrcv_ModeType CtrlMode)
 This function enables / disables the indexed transceiver. More...
 
Std_ReturnType EthTrcv_GetTransceiverMode (uint8 TrcvIdx, EthTrcv_ModeType *TrcvModePtr)
 This function obtains the state of the indexed transceiver. More...
 
Std_ReturnType EthTrcv_SetTransceiverWakeupMode (uint8 TrcvIdx, EthTrcv_WakeupModeType TrcvWakeupMode)
 This function enables / disables the wake-up mode or clear the wake-up reason of the indexed transceiver. More...
 
Std_ReturnType EthTrcv_GetTransceiverWakeupMode (uint8 TrcvIdx, EthTrcv_WakeupModeType *TrcvWakeupModePtr)
 This function returns the wake up mode of the indexed transceiver. More...
 
Std_ReturnType EthTrcv_CheckWakeup (uint8 TrcvIdx)
 This service is called by EthIf in case a wake-up interrupt is detected. More...
 
Std_ReturnType EthTrcv_StartAutoNegotiation (uint8 TrcvIdx)
 This function restarts the negotiation of the transmission parameters used by the indexed. More...
 
Std_ReturnType EthTrcv_GetLinkState (uint8 TrcvIdx, EthTrcv_LinkStateType *LinkStatePtr)
 This function obtains the link state of the indexed transceiver. More...
 
Std_ReturnType EthTrcv_GetBaudRate (uint8 TrcvIdx, EthTrcv_BaudRateType *BaudRatePtr)
 This function obtains the baud rate of the indexed transceiver. More...
 
Std_ReturnType EthTrcv_GetDuplexMode (uint8 TrcvIdx, EthTrcv_DuplexModeType *DuplexModePtr)
 This function obtains the duplex mode of the indexed transceiver. More...
 
Std_ReturnType EthTrcv_SetPhyTestMode (uint8 TrcvIdx, EthTrcv_PhyTestModeType Mode)
 This function Activates a given test mode. More...
 
Std_ReturnType EthTrcv_SetPhyLoopbackMode (uint8 TrcvIdx, EthTrcv_PhyLoopbackModeType Mode)
 This function Activates a given loopback mode. More...
 
Std_ReturnType EthTrcv_GetPhySignalQuality (uint8 TrcvIdx, uint32 *SignalQualityPtr)
 This function Obtains the current signal quality of the link of the indexed transceiver. More...
 
Std_ReturnType EthTrcv_SetPhyTxMode (uint8 TrcvIdx, EthTrcv_PhyTxModeType Mode)
 This function Activates a given transmission mode. More...
 
Std_ReturnType EthTrcv_GetCableDiagnosticsResult (uint8 TrcvIdx, EthTrcv_CableDiagResultType *ResultPtr)
 This function Retrieves the cable diagnostics result of a given transceiver. More...
 
Std_ReturnType Std_ReturnType EthTrcv_GetPhyIdentifier (uint8 TrcvIdx, uint32 *OrgUniqueIdPtr, uint8 *ModelNrPtr, uint8 *RevisionNrPtr)
 This function Obtains the PHY identifier of the Ethernet Transceiver according to IEEE 802.3-2015 chapter 22.2.4.3.1 PHY Identifer. More...
 
void EthTrcv_GetVersionInfo (Std_VersionInfoType *VersionInfoPtr)
 Function returns the version information of this module. More...
 
void EthTrcv_ReadMiiIndication (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal)
 This function is called when information has been read out via MII interface. Triggered by previous Eth_ReadMii call. It can directly be called within Eth_ReadMii. More...
 
void EthTrcv_WriteMiiIndication (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegId)
 This function is called when information has been written via MII interface. Triggered by previous Eth_WriteMii call. It can directly be called within Eth_WriteMii. More...
 
void EthTrcv_MainFunction (void)
 This function is used for polling state changes and wakeup reasons. It calls EthIf_TrcvModeIndication when the transceiver mode changed. It stores wakeup events if EthTrcvWakeUpSupport is set to ETHTRCV_WAKEUP_BY_POLLING. More...
 

EthTrcv Driver Module SW Version Info

Defines for ETHTRCV Driver version used for compatibility checks

#define ETHTRCV_SW_MAJOR_VERSION   (1U)
 Driver Implementation Major Version. More...
 
#define ETHTRCV_SW_MINOR_VERSION   (5U)
 Driver Implementation Minor Version. More...
 
#define ETHTRCV_SW_PATCH_VERSION   (0U)
 Driver Implementation Patch Version. More...
 

EthTrcv Driver Module AUTOSAR Version Info

Defines for ETHTRCV Driver AUTOSAR version used for compatibility checks

#define ETHTRCV_AR_RELEASE_MAJOR_VERSION   (4U)
 AUTOSAR Major Version implemented. More...
 
#define ETHTRCV_AR_RELEASE_MINOR_VERSION   (2U)
 AUTOSAR Minor Version implemented. More...
 
#define ETHTRCV_AR_RELEASE_REVISION_VERSION   (1U)
 AUTOSAR patch Version implemented. More...
 

EthTrcv Driver ID Info

#define ETHTRCV_VENDOR_ID   (44U)
 Texas Instruments Vendor ID. More...
 
#define ETHTRCV_MODULE_ID   (73U)
 EthTrcv Driver ID. More...
 
#define ETHTRCV_INSTANCE_ID   (0U)
 EthTrcv Instace ID. More...
 

EthTrcv Error Codes

Error codes returned by EthTrcv functions

#define ETHTRCV_E_INV_TRCV_IDX   ((uint8) 0x01U)
 Invalid transceiver index. More...
 
#define ETHTRCV_E_UNINIT   ((uint8) 0x02U)
 EthTrcv module was not initialized. More...
 
#define ETHTRCV_E_PARAM_POINTER   ((uint8) 0x03U)
 
#define ETHTRCV_E_INIT_FAILED   ((uint8) 0x04U)
 

EthTrcv Wake-up Modes

Ethernet Transceiver wakeup support definitions used to configure wake-up to polling or interrupt or to not used/not supported.

#define ETHTRCV_WAKEUP_BY_INTERRUPT   (0x0U)
 Interrupt based wake up for Ethernet Transceiver. More...
 
#define ETHTRCV_WAKEUP_BY_POLLING   (0x1U)
 Polling based wake up for Ethernet Transceiver. More...
 
#define ETHTRCV_WAKEUP_NOT_SUPPORTED   (0x2U)
 Wake up for Ethernet Transceiver not supported. More...
 

Macro Definition Documentation

◆ ETHTRCV_SW_MAJOR_VERSION

#define ETHTRCV_SW_MAJOR_VERSION   (1U)

Driver Implementation Major Version.

◆ ETHTRCV_SW_MINOR_VERSION

#define ETHTRCV_SW_MINOR_VERSION   (5U)

Driver Implementation Minor Version.

◆ ETHTRCV_SW_PATCH_VERSION

#define ETHTRCV_SW_PATCH_VERSION   (0U)

Driver Implementation Patch Version.

◆ ETHTRCV_AR_RELEASE_MAJOR_VERSION

#define ETHTRCV_AR_RELEASE_MAJOR_VERSION   (4U)

AUTOSAR Major Version implemented.

◆ ETHTRCV_AR_RELEASE_MINOR_VERSION

#define ETHTRCV_AR_RELEASE_MINOR_VERSION   (2U)

AUTOSAR Minor Version implemented.

◆ ETHTRCV_AR_RELEASE_REVISION_VERSION

#define ETHTRCV_AR_RELEASE_REVISION_VERSION   (1U)

AUTOSAR patch Version implemented.

◆ ETHTRCV_VENDOR_ID

#define ETHTRCV_VENDOR_ID   (44U)

Texas Instruments Vendor ID.

◆ ETHTRCV_MODULE_ID

#define ETHTRCV_MODULE_ID   (73U)

EthTrcv Driver ID.

◆ ETHTRCV_INSTANCE_ID

#define ETHTRCV_INSTANCE_ID   (0U)

EthTrcv Instace ID.

◆ ETHTRCV_E_INV_TRCV_IDX

#define ETHTRCV_E_INV_TRCV_IDX   ((uint8) 0x01U)

Invalid transceiver index.

◆ ETHTRCV_E_UNINIT

#define ETHTRCV_E_UNINIT   ((uint8) 0x02U)

EthTrcv module was not initialized.

brief Invalid pointer in parameter list

◆ ETHTRCV_E_PARAM_POINTER

#define ETHTRCV_E_PARAM_POINTER   ((uint8) 0x03U)

brief Initialization failure

◆ ETHTRCV_E_INIT_FAILED

#define ETHTRCV_E_INIT_FAILED   ((uint8) 0x04U)

◆ ETHTRCV_WAKEUP_BY_INTERRUPT

#define ETHTRCV_WAKEUP_BY_INTERRUPT   (0x0U)

Interrupt based wake up for Ethernet Transceiver.

◆ ETHTRCV_WAKEUP_BY_POLLING

#define ETHTRCV_WAKEUP_BY_POLLING   (0x1U)

Polling based wake up for Ethernet Transceiver.

◆ ETHTRCV_WAKEUP_NOT_SUPPORTED

#define ETHTRCV_WAKEUP_NOT_SUPPORTED   (0x2U)

Wake up for Ethernet Transceiver not supported.

Function Documentation

◆ EthTrcv_Init()

void EthTrcv_Init ( const EthTrcv_ConfigType *  CfgPtr)

This function initializes the Ethernet Transceiver controller. All the required initialization for the transceiver driver is performed in this function.

*  Service name      : EthTrcv_Init
*  Syntax            : void EthTrcv_Init(
*                          const EthTrcv_ConfigType* ConfigPtr
*                      )
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   : 0x01
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : CfgPtr. Points to the implementation specific structure
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : None
*  Description       : Initializes the Ethernet Transceiver Driver.
* 

◆ EthTrcv_SetTransceiverMode()

Std_ReturnType EthTrcv_SetTransceiverMode ( uint8  TrcvIdx,
EthTrcv_ModeType  CtrlMode 
)

This function enables / disables the indexed transceiver.

*  Service name      : EthTrcv_SetTransceiverMode
*  Syntax            : Std_ReturnType EthTrcv_SetTransceiverMode(
*                          uint8 TrcvIdx,
*                          EthTrcv_ModeType CtrlMode
*                      )
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   : 0x03
*  Sync/Async        : Asynchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*                      CtrlMode
*                        ETHTRCV_MODE_DOWN: disable the transceiver
*                        ETHTRCV_MODE_ACTIVE: enable the transceiver
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Std_ReturnType
*                        E_OK: Service accepted
*                        E_NOT_OK: Service denied
*  Description       : Enables / disables the indexed transceiver.
* 

◆ EthTrcv_GetTransceiverMode()

Std_ReturnType EthTrcv_GetTransceiverMode ( uint8  TrcvIdx,
EthTrcv_ModeType *  TrcvModePtr 
)

This function obtains the state of the indexed transceiver.

*  Service name      : EthTrcv_GetTransceiverMode
*  Syntax            : Std_ReturnType EthTrcv_GetTransceiverMode(
*                          uint8 TrcvIdx,
*                          EthTrcv_ModeType* TrcvModePtr
*                      )
*  Mode              : User Mode (Non-Privileged Mode)
*  Service ID[hex]   : 0x04
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Obtains the state of the indexed transceiver.
* 

◆ EthTrcv_SetTransceiverWakeupMode()

Std_ReturnType EthTrcv_SetTransceiverWakeupMode ( uint8  TrcvIdx,
EthTrcv_WakeupModeType  TrcvWakeupMode 
)

This function enables / disables the wake-up mode or clear the wake-up reason of the indexed transceiver.

*  Service name      : EthTrcv_SetTransceiverWakeupMode
*  Syntax            : Std_ReturnType EthTrcv_SetTransceiverWakeupMode(
*                          uint8 TrcvIdx,
*                          EthTrcv_WakeupModeType TrcvWakeupMode
*                      )
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   : 0x0d
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*                      TrcvWakeupMode
*                        ETHTRCV_WUM_DISABLE: disable transceiver wake up
*                        ETHTRCV_WUM_ENABLE: enable transceiver wake up
*                        ETHTRCV_WUM_CLEAR: clears transceiver wake up reason
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Std_ReturnType
*                        E_OK: transceiver wake up mode has been changed
*                        E_NOT_OK: transceiver wake up mode could not be
*                                  changed or the wake-up reason could not be
*                                  cleared
*  Description       : Enables / disables the wake-up mode or clear the wake-up
*                      reason of the indexed transceiver.
* 

◆ EthTrcv_GetTransceiverWakeupMode()

Std_ReturnType EthTrcv_GetTransceiverWakeupMode ( uint8  TrcvIdx,
EthTrcv_WakeupModeType *  TrcvWakeupModePtr 
)

This function returns the wake up mode of the indexed transceiver.

*  Service name      : EthTrcv_GetTransceiverWakeupMode
*  Syntax            : Std_ReturnType EthTrcv_GetTransceiverWakeupMode(
*                          uint8 TrcvIdx,
*                          EthTrcv_WakeupModeType* TrcvWakeupModePtr
*                      )
*  Mode              : User Mode (Non-Privileged Mode)
*  Service ID[hex]   : 0x0e
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (inout): None
*  Parameters (out)  : TrcvWakeupModePtr
*                        ETHTRCV_WUM_DISABLE: transceiver wake up is disabled
*                        ETHTRCV_WUM_ENABLE: transceiver wake up is enabled
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver wake up mode could not be
*                                  obtained
*  Description       : Returns the wake up mode of the indexed transceiver.
* 

◆ EthTrcv_CheckWakeup()

Std_ReturnType EthTrcv_CheckWakeup ( uint8  TrcvIdx)

This service is called by EthIf in case a wake-up interrupt is detected.

*  Service name      : EthTrcv_CheckWakeup
*  Syntax            : Std_ReturnType EthTrcv_CheckWakeup(
*                          uint8 TrcvIdx
*                      )
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   : 0x0f
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Std_ReturnType
*                        E_OK: The function has been successfully executed
*                        E_NOT_OK: The function could not be successfully
*                                  executed
*  Description       : Service is called by EthIf in case a wake-up interrupt
*                      is detected.
* 

◆ EthTrcv_StartAutoNegotiation()

Std_ReturnType EthTrcv_StartAutoNegotiation ( uint8  TrcvIdx)

This function restarts the negotiation of the transmission parameters used by the indexed.

*  Service name      : EthTrcv_StartAutoNegotiation
*  Syntax            : Std_ReturnType EthTrcv_StartAutoNegotiation(
*                          uint8 TrcvIdx
*                      )
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   : 0x05
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                              of the Ethernet Transceiver Driver
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Restarts the negotiation of the transmission parameters
*                      used by the indexed.
* 

◆ EthTrcv_GetLinkState()

Std_ReturnType EthTrcv_GetLinkState ( uint8  TrcvIdx,
EthTrcv_LinkStateType *  LinkStatePtr 
)

This function obtains the link state of the indexed transceiver.

*  Service name      : EthTrcv_GetLinkState
*  Syntax            : Std_ReturnType EthTrcv_GetLinkState(
*                          uint8 TrcvIdx,
*                          EthTrcv_LinkStateType* LinkStatePtr
*                      )
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   : 0x06
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (inout): None
*  Parameters (out)  : LinkStatePtr
*                        ETHTRCV_LINK_STATE_DOWN: transceiver is disconnected
*                        ETHTRCV_LINK_STATE_ACTIVE: transceiver is connected
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Obtains the link state of the indexed transceiver.
* 

◆ EthTrcv_GetBaudRate()

Std_ReturnType EthTrcv_GetBaudRate ( uint8  TrcvIdx,
EthTrcv_BaudRateType *  BaudRatePtr 
)

This function obtains the baud rate of the indexed transceiver.

*  Service name      : EthTrcv_GetBaudRate
*  Syntax            : Std_ReturnType EthTrcv_GetBaudRate(
*                          uint8 TrcvIdx,
*                          EthTrcv_BaudRateType* BaudRatePtr
*                      )
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   : 0x07
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (inout): None
*  Parameters (out)  : BaudRatePtr
*                        ETHTRCV_BAUD_RATE_10MBIT: 10MBit connection
*                        ETHTRCV_BAUD_RATE_100MBIT: 100MBit connection
*                        ETHTRCV_BAUD_RATE_1000MBIT: 1000MBit connection
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Obtains the baud rate of the indexed transceiver.
* 

◆ EthTrcv_GetDuplexMode()

Std_ReturnType EthTrcv_GetDuplexMode ( uint8  TrcvIdx,
EthTrcv_DuplexModeType *  DuplexModePtr 
)

This function obtains the duplex mode of the indexed transceiver.

*  Service name      : EthTrcv_GetDuplexMode
*  Syntax            : Std_ReturnType EthTrcv_GetDuplexMode(
*                          uint8 TrcvIdx,
*                          EthTrcv_DuplexModeType* DuplexModePtr
*                      )
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   : 0x08
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (inout): None
*  Parameters (out)  : DuplexModePtr
*                        ETHTRCV_DUPLEX_MODE_HALF: half duplex connections
*                        ETHTRCV_DUPLEX_MODE_FULL: full duplex connection
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Obtains the duplex mode of the indexed transceiver.
* 

◆ EthTrcv_SetPhyTestMode()

Std_ReturnType EthTrcv_SetPhyTestMode ( uint8  TrcvIdx,
EthTrcv_PhyTestModeType  Mode 
)

This function Activates a given test mode.

*  Service name      : EthTrcv_SetPhyTestMode
*  Syntax            : Std_ReturnType EthTrcv_SetPhyTestMode(
*                          uint8 TrcvIdx,
*                          EthTrcv_PhyTestModeType Mode)
*
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   :0x11
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (in)   : Mode. Test mode to be activated. Refer to the \ref EthTrcv_PhyTestModeType.
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Activates a given test mode
* 

◆ EthTrcv_SetPhyLoopbackMode()

Std_ReturnType EthTrcv_SetPhyLoopbackMode ( uint8  TrcvIdx,
EthTrcv_PhyLoopbackModeType  Mode 
)

This function Activates a given loopback mode.

*  Service name      : EthTrcv_SetPhyLoopbackMode
*  Syntax            : Std_ReturnType EthTrcv_SetPhyLoopbackMode(
*                                      uint8 TrcvIdx,
*                                      EthTrcv_PhyLoopbackModeType Mode
*                                      )
*
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   :0x12
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (in)   : Mode. Refer to the \ref EthTrcv_PhyLoopbackModeType.
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Activates a given loopback mode.
* 

◆ EthTrcv_GetPhySignalQuality()

Std_ReturnType EthTrcv_GetPhySignalQuality ( uint8  TrcvIdx,
uint32 *  SignalQualityPtr 
)

This function Obtains the current signal quality of the link of the indexed transceiver.

*  Service name      : EthTrcv_GetPhySignalQuality
*  Syntax            : Std_ReturnType EthTrcv_GetPhySignalQuality(
*                                      uint8 TrcvIdx,
*                                      uint32* SignalQualityPtr
*                                      )
*
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   :0x12
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (Out)  : SignalQualityPtr Pointer to the memory where the signal
*                      quality shall be stored.
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Obtains the current signal quality of the link of the indexed transceiver.
* 

◆ EthTrcv_SetPhyTxMode()

Std_ReturnType EthTrcv_SetPhyTxMode ( uint8  TrcvIdx,
EthTrcv_PhyTxModeType  Mode 
)

This function Activates a given transmission mode.

*  Service name      :  EthTrcv_SetPhyTxMode
*  Syntax            : Std_ReturnType  EthTrcv_SetPhyTxMode(
*                                      uint8 TrcvIdx,
*                                      EthTrcv_PhyTxModeType Mode
*                                      )
*
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   :0x13
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (in)   : Mode Transmission mode to be activated. Refer to \ref EthTrcv_PhyTxModeType
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Activates a given transmission mode.
* 

◆ EthTrcv_GetCableDiagnosticsResult()

Std_ReturnType EthTrcv_GetCableDiagnosticsResult ( uint8  TrcvIdx,
EthTrcv_CableDiagResultType *  ResultPtr 
)

This function Retrieves the cable diagnostics result of a given transceiver.

*  Service name      :  EthTrcv_GetCableDiagnosticsResult
*  Syntax            : Std_ReturnType  EthTrcv_GetCableDiagnosticsResult(
*                                      uint8 TrcvIdx,
*                                      EthTrcv_CableDiagResultType* ResultPtr
*                                      )
*
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   :0x14
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (out)  : ResultPtr. Transmission mode to be activated. Refer to \ref
*                      EthTrcv_CableDiagResultType
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Retrieves the cable diagnostics result of a given transceiver..
* 

◆ EthTrcv_GetPhyIdentifier()

Std_ReturnType Std_ReturnType EthTrcv_GetPhyIdentifier ( uint8  TrcvIdx,
uint32 *  OrgUniqueIdPtr,
uint8 *  ModelNrPtr,
uint8 *  RevisionNrPtr 
)

This function Obtains the PHY identifier of the Ethernet Transceiver according to IEEE 802.3-2015 chapter 22.2.4.3.1 PHY Identifer.

*  Service name      :  EthTrcv_GetPhyIdentifier
*  Syntax            : Std_ReturnType EthTrcv_GetPhyIdentifier(
*                                      uint8 TrcvIdx,
*                                      uint32* OrgUniqueIdPtr,
*                                      uint8* ModelNrPtr,
*                                      uint8* RevisionNrPtr
*                                      )
*
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   : 0x15
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant for different TrcvIdx. Non reentrant for the same TrcvIdx
*  Parameters (in)   : TrcvIdx. Index of the transceiver within the context
*                               of the Ethernet Transceiver Driver
*  Parameters (in)   : OrgUniqueIdPtr Pointer to the memory where the Organizationally Unique
*                      Identifier shall be stored.
*  Parameters (in)   : ModelNrPtr Pointer to the memory where the Manufacturer's Model
*                      Number shall be stored.
*  Parameters (in)   : RevisionNrPtr Pointer to the memory where the Revision Number
*                      shall be stored.
*  Return value      : Std_ReturnType
*                        E_OK: success
*                        E_NOT_OK: transceiver could not be initialized
*  Description       : Obtains the PHY identifier of the Ethernet Transceiver according to
*                      IEEE 802.3-2015 chapter 22.2.4.3.1 PHY Identifer..
* 

◆ EthTrcv_GetVersionInfo()

void EthTrcv_GetVersionInfo ( Std_VersionInfoType *  VersionInfoPtr)

Function returns the version information of this module.

*  Service name      : EthTrcv_GetVersionInfo
*  Syntax            : void EthTrcv_GetVersionInfo(
*                          Std_VersionInfoType* versioninfo
*                      )
*  Mode              : User Mode (Non-Privileged Mode)
*  Service ID[hex]   : 0x07
*  Sync/Async        : Synchronous
*  Reentrancy        : Reentrant
*  Parameters (in)   : None
*  Parameters (inout): None
*  Parameters (out)  : VersionInfoPtr. Pointer to where to store the version
*                                      information of this module.
*  Return value      : None
*  Description       : This function returns the version information of this
*                     module
* 

◆ EthTrcv_ReadMiiIndication()

void EthTrcv_ReadMiiIndication ( uint8  CtrlIdx,
uint8  TrcvIdx,
uint8  RegIdx,
uint16  RegVal 
)

This function is called when information has been read out via MII interface. Triggered by previous Eth_ReadMii call. It can directly be called within Eth_ReadMii.

*  Service name      : EthTrcv_ReadMiiIndication
*  Syntax            : void EthTrcv_ReadMiiIndication(
*                          uint8 CtrlIdx,
*                          uint8 TrcvIdx,
*                          uint8 RegIdx,
*                          uint8 RegVal
*                      )
*  Mode              : User Mode (Non-Privileged Mode)
*  Service ID[hex]   : 0x09
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant for the same CtrlIdx, reentrant for
*                      different
*  Parameters (in)   : CtrlIdx. Index of the controller within the context
*                               of the Ethernet Driver
*                      TrcvIdx. Index of the transceiver on the MII
*                      RegIdx. Index of the transceiver register on the MII
*                      RegVal. Value contained in the indexed register
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : None
*  Description       : Called when information has been read out via MII interface.
*                      Triggered by previous Eth_ReadMii call. Can directly be
*                      called within Eth_ReadMii.
* 

◆ EthTrcv_WriteMiiIndication()

void EthTrcv_WriteMiiIndication ( uint8  CtrlIdx,
uint8  TrcvIdx,
uint8  RegId 
)

This function is called when information has been written via MII interface. Triggered by previous Eth_WriteMii call. It can directly be called within Eth_WriteMii.

*  Service name      : EthTrcv_WriteMiiIndication
*  Syntax            : void EthTrcv_WriteMiiIndication(
*                          uint8 CtrlIdx,
*                          uint8 TrcvIdx,
*                          uint8 RegId
*                      )
*  Mode              : User Mode (Non-Privileged Mode)
*  Service ID[hex]   : 0x0a
*  Sync/Async        : Synchronous
*  Reentrancy        : Non Reentrant for the same CtrlIdx, reentrant for
*                      different
*  Parameters (in)   : CtrlIdx. Index of the controller within the context
*                               of the Ethernet Driver
*                      TrcvIdx. Index of the transceiver on the MII
*                      RegIdx. Index of the transceiver register on the MII
*  Parameters (inout): None
*  Parameters (out)  : None
*  Return value      : None
*  Description       : Called when information has been written via MII interface.
*                      Triggered by previous Eth_WriteMii call. Can directly be
*                      called within Eth_WriteMii.
* 

◆ EthTrcv_MainFunction()

void EthTrcv_MainFunction ( void  )

This function is used for polling state changes and wakeup reasons. It calls EthIf_TrcvModeIndication when the transceiver mode changed. It stores wakeup events if EthTrcvWakeUpSupport is set to ETHTRCV_WAKEUP_BY_POLLING.

*  Service name      : EthTrcv_MainFunction
*  Syntax            : void EthTrcv_MainFunction(
*                          void
*                      )
*  Mode              : Supervisor Mode (Privileged Mode)
*  Service ID[hex]   : 0x0c
*  Description       : Used for polling state changes and wakeup reasons. Calls
*                      EthIf_TrcvModeIndication when the transceiver mode
*                      changed. Stores wakeup events if EthTrcvWakeUpSupport is
*                      set to ETHTRCV_WAKEUP_BY_POLLING.
*