102 #include "EthTrcv_Types.h"
122 #define ETHTRCV_SW_MAJOR_VERSION (11U)
124 #define ETHTRCV_SW_MINOR_VERSION (0U)
126 #define ETHTRCV_SW_PATCH_VERSION (0U)
139 #define ETHTRCV_AR_RELEASE_MAJOR_VERSION (4U)
141 #define ETHTRCV_AR_RELEASE_MINOR_VERSION (3U)
143 #define ETHTRCV_AR_RELEASE_REVISION_VERSION (1U)
151 #define ETHTRCV_VENDOR_ID (44U)
153 #define ETHTRCV_MODULE_ID (73U)
155 #define ETHTRCV_INSTANCE_ID (0U)
171 #define ETHTRCV_INIT_ID ((uint8) 0x01U)
174 #define ETHTRCV_CONTROLLER_INIT_ID ((uint8) 0x02U)
177 #define ETHTRCV_SETTRCVMODE_ID ((uint8) 0x03U)
180 #define ETHTRCV_GETTRCVMODE_ID ((uint8) 0x04U)
183 #define ETHTRCV_SRTAUTONEGOTIA_ID ((uint8) 0x05U)
186 #define ETHTRCV_GETLNKSTATE_ID ((uint8) 0x06U)
189 #define ETHTRCV_GETBAUD_ID ((uint8) 0x07U)
192 #define ETHTRCV_GETDPLXMODE_ID ((uint8) 0x08U)
195 #define ETHTRCV_READMIIIND_ID ((uint8) 0x09U)
198 #define ETHTRCV_WRITEMIIIND_ID ((uint8) 0x0AU)
201 #define ETHTRCV_VERSION_ID ((uint8) 0x0BU)
204 #define ETHTRCV_MAINFCT_WRITE_ID ((uint8) 0x0CU)
207 #define ETHTRCV_GETTRCVWKUPMODE_ID ((uint8) 0x0DU)
210 #define ETHTRCV_SETTRCVWKUPMODE_ID ((uint8) 0x0EU)
213 #define ETHTRCV_CHKWKUP_ID ((uint8) 0x0FU)
216 #define ETHTRCV_SETPHYTESTMODE_ID ((uint8) 0x10U)
219 #define ETHTRCV_SETPHYLOOPBACKMODE_ID ((uint8) 0x11U)
222 #define ETHTRCV_GETPHYSIGNALQUALITY_ID ((uint8) 0x12U)
225 #define ETHTRCV_SETPHYTXMODE_ID ((uint8) 0x13U)
228 #define ETHTRCV_GETCABLEDIAGNOSTICSRESULT_ID ((uint8) 0x014U)
231 #define ETHTRCV_GETPHYIDENTIFIER_ID ((uint8) 0x015U)
246 #ifndef ETHTRCV_E_INV_TRCV_IDX
248 #define ETHTRCV_E_INV_TRCV_IDX ((uint8) 0x01U)
251 #ifndef ETHTRCV_E_UNINIT
253 #define ETHTRCV_E_UNINIT ((uint8) 0x02U)
256 #ifndef ETHTRCV_E_PARAM_POINTER
258 #define ETHTRCV_E_PARAM_POINTER ((uint8) 0x03U)
261 #ifndef ETHTRCV_E_INIT_FAILED
263 #define ETHTRCV_E_INIT_FAILED ((uint8) 0x04U)
266 #ifndef ETHTRCV_E_NOT_SUPPORTED
268 #define ETHTRCV_E_NOT_SUPPORTED ((uint8) 0x05U)
303 FUNC(
void, ETHTRCV_CODE)
304 EthTrcv_Init(P2CONST(EthTrcv_ConfigType, AUTOMATIC, ETHTRCV_PBCFG) CfgPtr);
329 FUNC(Std_ReturnType, ETHTRCV_CODE)
333 #if (STD_ON == ETHTRCV_SETTRANSCEIVERMODE_API)
360 FUNC(Std_ReturnType, ETHTRCV_CODE)
362 EthTrcv_ModeType CtrlMode);
365 #if (STD_ON == ETHTRCV_GETTRANSCEIVERMODE_API)
389 FUNC(Std_ReturnType, ETHTRCV_CODE)
391 EthTrcv_ModeType *TrcvModePtr);
394 #if (ETHTRCV_WAKEUPSUPPORT_API != ETHTRCV_WAKEUP_NOT_SUPPORTED)
426 FUNC(Std_ReturnType, ETHTRCV_CODE)
427 EthTrcv_SetTransceiverWakeupMode(uint8 TrcvIdx,
428 EthTrcv_WakeupModeType TrcvWakeupMode);
431 #if (ETHTRCV_WAKEUPSUPPORT_API != ETHTRCV_WAKEUP_NOT_SUPPORTED)
458 FUNC(Std_ReturnType, ETHTRCV_CODE)
459 EthTrcv_GetTransceiverWakeupMode(uint8 TrcvIdx,
460 EthTrcv_WakeupModeType *TrcvWakeupModePtr);
463 #if (ETHTRCV_WAKEUPSUPPORT_API != ETHTRCV_WAKEUP_NOT_SUPPORTED)
489 FUNC(Std_ReturnType, ETHTRCV_CODE)
490 EthTrcv_CheckWakeup(uint8 TrcvIdx);
496 #if (STD_ON == ETHTRCV_STARTAUTONEGOTIATION_API)
521 FUNC(Std_ReturnType, ETHTRCV_CODE)
525 #if (STD_ON == ETHTRCV_GETLINKSTATE_API)
551 FUNC(Std_ReturnType, ETHTRCV_CODE)
553 EthTrcv_LinkStateType *LinkStatePtr);
561 #if (STD_ON == ETHTRCV_GETBAUDRATE_API)
588 FUNC(Std_ReturnType, ETHTRCV_CODE)
590 EthTrcv_BaudRateType *BaudRatePtr);
593 #if (STD_ON == ETHTRCV_GETDUPLEXMODE_API)
619 FUNC(Std_ReturnType, ETHTRCV_CODE)
621 EthTrcv_DuplexModeType *DuplexModePtr);
624 #if (STD_ON == ETHTRCV_SETPHYTESTMODE_API)
647 FUNC(Std_ReturnType, ETHTRCV_CODE)
649 EthTrcv_PhyTestModeType Mode);
652 #if (STD_ON == ETHTRCV_SETPHYLOOPBACKMODE_API)
676 FUNC(Std_ReturnType, ETHTRCV_CODE)
678 EthTrcv_PhyLoopbackModeType Mode);
681 #if (STD_ON == ETHTRCV_GETPHYSIGNALQUALITY_API)
706 FUNC(Std_ReturnType, ETHTRCV_CODE)
708 uint32* SignalQualityPtr);
711 #if (STD_ON == ETHTRCV_SETPHYTXMODE_API)
735 FUNC(Std_ReturnType, ETHTRCV_CODE)
737 EthTrcv_PhyTxModeType Mode);
740 #if (STD_ON == ETHTRCV_GETCABLEDIAGNOSTICSRESULT_API)
765 FUNC(Std_ReturnType, ETHTRCV_CODE)
767 EthTrcv_CableDiagResultType * ResultPtr);
770 #if (STD_ON == ETHTRCV_GETPHYIDENTIFIER_API)
803 FUNC(Std_ReturnType, ETHTRCV_CODE)
805 uint32* OrgUniqueIdPtr,
807 uint8* RevisionNrPtr);
810 #if (STD_ON == ETHTRCV_VERSION_INFO_API)
832 FUNC(
void, ETHTRCV_CODE)
872 FUNC(
void, ETHTRCV_CODE)
907 FUNC(
void, ETHTRCV_CODE)
931 FUNC(
void, ETHTRCV_CODE)
Std_ReturnType EthTrcv_GetLinkState(uint8 TrcvIdx, EthTrcv_LinkStateType *LinkStatePtr)
This function obtains the link state of the indexed transceiver.
Std_ReturnType EthTrcv_SetPhyTxMode(uint8 TrcvIdx, EthTrcv_PhyTxModeType Mode)
This function Activates a given transmission mode.
Std_ReturnType EthTrcv_GetTransceiverMode(uint8 TrcvIdx, EthTrcv_ModeType *TrcvModePtr)
This function obtains the state of the indexed transceiver.
void EthTrcv_Init(const EthTrcv_ConfigType *CfgPtr)
This function initializes the Ethernet Transceiver controller. All the required initialization for th...
Std_ReturnType EthTrcv_GetDuplexMode(uint8 TrcvIdx, EthTrcv_DuplexModeType *DuplexModePtr)
This function obtains the duplex mode of the indexed transceiver.
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 E...
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....
void EthTrcv_GetVersionInfo(Std_VersionInfoType *VersionInfoPtr)
Function returns the version information of this module.
void EthTrcv_MainFunction(void)
This function is used for polling state changes and wakeup reasons. It calls EthIf_TrcvModeIndication...
Std_ReturnType EthTrcv_GetCableDiagnosticsResult(uint8 TrcvIdx, EthTrcv_CableDiagResultType *ResultPtr)
This function Retrieves the cable diagnostics result of a given transceiver.
Std_ReturnType EthTrcv_SetPhyTestMode(uint8 TrcvIdx, EthTrcv_PhyTestModeType Mode)
This function Activates a given test mode.
Std_ReturnType EthTrcv_GetBaudRate(uint8 TrcvIdx, EthTrcv_BaudRateType *BaudRatePtr)
This function obtains the baud rate of the indexed transceiver.
Std_ReturnType EthTrcv_GetPhySignalQuality(uint8 TrcvIdx, uint32 *SignalQualityPtr)
This function Obtains the current signal quality of the link of the indexed transceiver.
Std_ReturnType EthTrcv_SetTransceiverMode(uint8 TrcvIdx, EthTrcv_ModeType CtrlMode)
This function enables / disables the indexed transceiver.
Std_ReturnType EthTrcv_TransceiverInit(uint8 TrcvIdx)
This function initializes the Ethernet Transceiver controller. All the required initialization for th...
void EthTrcv_WriteMiiIndication(uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegId)
This function is called when information has been written via MII interface. Triggered by previous Et...
Std_ReturnType EthTrcv_StartAutoNegotiation(uint8 TrcvIdx)
This function restarts the negotiation of the transmission parameters used by the indexed.
Std_ReturnType EthTrcv_SetPhyLoopbackMode(uint8 TrcvIdx, EthTrcv_PhyLoopbackModeType Mode)
This function Activates a given loopback mode.