MCUSW
EthTrcv.h File Reference

Introduction

This file contains interface header for Ethernet Transceiver MCAL driver.

Go to the source code of this file.

Macros

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 Driver Service Id

The Service Id is one of the argument to Det_ReportError function and is used to identify the source of the error

#define ETHTRCV_INIT_ID   ((uint8) 0x01U)
 EthTrcv_Init() API Service ID. More...
 
#define ETHTRCV_SETTRCVMODE_ID   ((uint8) 0x03U)
 EthTrcv_SetTransceiverMode() API Service ID. More...
 
#define ETHTRCV_GETTRCVMODE_ID   ((uint8) 0x04U)
 EthTrcv_GetTransceiverMode() API Service ID. More...
 
#define ETHTRCV_SRTAUTONEGOTIA_ID   ((uint8) 0x05U)
 EthTrcv_StartAutoNegotiation() API Service ID. More...
 
#define ETHTRCV_GETLNKSTATE_ID   ((uint8) 0x06U)
 EthTrcv_GetLinkState() API Service ID. More...
 
#define ETHTRCV_GETBAUD_ID   ((uint8) 0x07U)
 EthTrcv_GetBaudRate() API Service ID. More...
 
#define ETHTRCV_GETDPLXMODE_ID   ((uint8) 0x08U)
 EthTrcv_GetDuplexMode() API Service ID. More...
 
#define ETHTRCV_READMIIIND_ID   ((uint8) 0x09U)
 EthTrcv_ReadMiiIndication callback() API Service ID. More...
 
#define ETHTRCV_WRITEMIIIND_ID   ((uint8) 0x0AU)
 EthTrcv_WriteMiiIndication callback() API Service ID. More...
 
#define ETHTRCV_VERSION_ID   ((uint8) 0x0BU)
 EthTrcv_GetVersionInfo() API Service ID. More...
 
#define ETHTRCV_MAINFCT_WRITE_ID   ((uint8) 0x0CU)
 EthTrcv_MainFunction() API Service ID. More...
 
#define ETHTRCV_GETTRCVWKUPMODE_ID   ((uint8) 0x0DU)
 EthTrcv_GetTransceiverWakeupMode() API Service ID. More...
 
#define ETHTRCV_SETTRCVWKUPMODE_ID   ((uint8) 0x0EU)
 EthTrcv_SetTransceiverWakeupMode() API Service ID. More...
 
#define ETHTRCV_CHKWKUP_ID   ((uint8) 0x0FU)
 EthTrcv_CheckWakeup() API Service ID. More...
 
#define ETHTRCV_SETPHYTESTMODE_ID   ((uint8) 0x10U)
 EthTrcv_SetPhyTestMode() API Service ID. More...
 
#define ETHTRCV_SETPHYLOOPBACKMODE_ID   ((uint8) 0x11U)
 EthTrcv_SetPhyLoopbackMode() API Service ID. More...
 
#define ETHTRCV_GETPHYSIGNALQUALITY_ID   ((uint8) 0x12U)
 EthTrcv_GetPhySignalQuality() API Service ID. More...
 
#define ETHTRCV_SETPHYTXMODE_ID   ((uint8) 0x13U)
 EthTrcv_SetPhyTxMode() API Service ID. More...
 
#define ETHTRCV_GETCABLEDIAGNOSTICSRESULT_ID   ((uint8) 0x014U)
 EthTrcv_GetCableDiagnosticsResult() API Service ID. More...
 
#define ETHTRCV_GETPHYIDENTIFIER_ID   ((uint8) 0x015U)
 EthTrcv_GetPhyIdentifier() API Service 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...
 

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...