4.14. ETHTRCV Module

4.14.1. Acronyms and Definitions

Abbreviation/Term

Explanation

AUTOSAR

Automotive Open System Architecture

BSW

Basic Software

MCAL

Micro Controller Abstraction Layer

DET

Default Error Tracer

EC

Ethernet controller

Eth

Ethernet Controller Driver (AUTOSAR BSW module)

EthIf

Ethernet Interface (AUTOSAR BSW module)

EthTrcv

Ethernet Transceiver Driver (AUTOSAR BSW module)

MCG

Module Configuration Generator

MII

Media Independent Interface (standardized Interface provided by Ethernet controllers to access Ethernet transceivers)

4.14.2. Introduction

This document describes the functionality and configuration of the AUTOSAR BSW module Ethernet Transceiver. The Ethernet transceiver driver is a hardware abstraction layer with a standardized interface to the Eth Interface layer.

Supported AUTOSAR Release

4.3.1

Supported Configuration Variants

Pre-Compile time, Link-time, post-build time

Vendor ID

ETHTRCV_VENDOR_ID (44)

Module ID

ETHTRCV_MODULE_ID (73)

Supported Platform

AM263Px

4.14.3. Functional Overview

The EthTrcv module initializes and controls the Ethernet transceivers (commonly called as Ethernet PHYs). It provides services to configure all PHYs present on board to enable transfer of Ethernet frames. It uses MII APIs of Eth driver.

4.14.3.1. Driver Architecture

The following figure shows where the EthTrcv is located in the AUTOSAR architecture.

Simplified View of the EthTrcv driver Architecture

Fig. 4.60 Simplified View of the EthTrcv driver Architecture

Below figure shows EthTrcv driver in Ethernet stack module

Ethernet stack module overview

Fig. 4.61 Ethernet stack module overview

4.14.3.2. Initialization

EthTrcv_Init called to initialize the EthTrcv driver at power on, and on this the driver state will change to ETHTRCV_STATE_INIT.

The initialization covers the following steps

  1. Reset transceiver.

  2. Check link status and if link is up, configuring all transceiver configuration parameters (e.g., baud rate, duplex mode, automatic negotiation).

  3. Set loopback mode, if enabled in configuration.

4.14.3.3. States

The states and modes of the EthTrcv driver define whether the EthTrcv driver is operational or not. There are two states in which the Ethernet hardware/driver can be in.

  1. ETHTRCV_STATE_UNINIT: This is the state when the Driver is not yet configured.

  2. ETHTRCV_STATE_INIT: This is the state when the Driver is configured and initialization was successful.

4.14.3.4. ETHTRCV modes

There are 2 modes in which the EthTrcv driver can be in.

  1. ETHTRCV_MODE_DOWN: This mode can be set by the EthTrcv_SetTransceiverMode to disable the EthTrcv.

  2. ETHTRCV_MODE_ACTIVE: This is the state in which the hardware is initialized and is running.

The states and modes coexist. The modes of the driver can be changed by the API EthTrcv_SetTransceiverMode.

4.14.3.5. Auto-negotiation

In Auto negotiation Ethernet controller and Transceiver (PHY) choose common transmission parameters, such as speed, duplex mode, and flow control. They first share their capabilities regarding these parameters and then choose the highest performance transmission mode they both support.

EthTrcv driver initiates auto-negotiation process. Also, separate API EthTrcv_StartAutoNegotiation can be used. The parameters used for auto-negotiation are passed during initialization through structure EthTrcv Config.

4.14.3.6. Assumptions

The Ethernet BSW stack is intended to be used wherever high data rates are required but no hard real-time is required. Of course, it can also be used for less-demanding use cases, i.e. for low data rates.

4.14.3.7. Limitations

The Ethernet Transceiver Driver module is only able to handle a single thread of execution. The execution must not be pre-empted by itself.

4.14.3.8. Design overview

Will be updated in next release

4.14.4. Hardware Features

4.14.4.1. IP Supported Features

  • 10, 100 Mbps Full and Half Duplex.

  • 1000 Mbps Full Duplex.

  • Auto-Negotiation for all Speeds.

  • Link monitoring.

  • Loop Back Mode.

  • RGMII MAC Interface.

  • Supported PHY : DP83869HM

4.14.4.2. AUTOSAR Supported Features

  • Initialization of ETHTRCV.

  • Enable Auto-negotiation.

  • Configuration of Speed, Duplex mode, and Baud rate.

  • Link monitoring.

4.14.4.3. Not supported Features

  • 1000 Mbps half-duplex mode. (As it is not supporting in AM263Px Ethernet)

  • SGMII MAC Interface not supported by software as it is not supported in AM263Px Ethernet.

  • MII MAC Interface supported by hardware but not implemented.

  • Wakeup mode features supported by PHY but not implemented because DP83869HM is industrial PHY not an automotive PHY.

4.14.4.4. Non compliance

4.14.4.4.1. Deviations to requirements (Requirement Traceability)

4.14.4.4.1.1. Deviation of requirements against AUTOSAR specification requirements

Will be updated in next release

4.14.5. Source files

Static source C Files are defined below

📦AM263Px
┣ 📂build
┣ 📂mcal
┃ ┣ 📂EthTrcv
┃ ┃ ┣ 📂include
┃ ┃ ┃ ┣ 📜EthTrcv.h : Contains the APIs of the EthTrcv driver to be used.
┃ ┃ ┃ ┣ 📜EthTrcv_Types.h : Contains the types used in Ethernet transceiver.
┃ ┃ ┣ 📂src
┃ ┃ ┃ ┣ 📜EthTrcv.c : Contains the implementation of the APIs for EthTrcv.
┃ ┃ ┣ 📂V0
┃ ┃ ┃ ┗ 📜EthTrcv_Priv.c : Contains module private functions used by main APIs.
┃ ┃ ┃ ┣ 📜EthTrcv_Priv.h : Internal header file.
┃ ┃ ┗ 📜Makefile
┃ 📂mcal_config
┃ 📂mcal_docs
┃ 📜README.txt

Plugin files are defined below in the table.

Plugin Files

Description

EthTrcv_Cfg.h

Contains the pre-compiler switches

EthTrcv_Cfg.c

Contains the Pre compile configuration parameters

EthTrcv_Lcfg.c

Contains the Link time configuration parameters

EthTrcv_PBcfg.c

Contains the Post build configuration parameters

The below diagram shows the files structure for the ETHTRCV driver.

File Structure

Fig. 4.62 File Structure

4.14.6. Module requirements

Will be updated in next release

4.14.6.1. Memory Mapping

The objects (e.g., variables, functions, constants) are declared by compiler independent definitions – the compiler abstraction definitions. Each compiler abstraction definition is assigned to a memory section.

The following table contains the memory section names and the compiler abstraction definitions defined for the EthTrcv and illustrate their assignment among each other.

Memory Mapping Sections

ETHTRCV_CODE

ETHTRCV_VAR

ETHTRCV_VAR_NOINIT

ETHTRCV_CONST

ETHTRCV_START_SEC_VAR_INIT_UNSPECIFIED (.data)

x

ETHTRCV_STOP_SEC_VAR_INIT_UNSPECIFIED

x

ETHTRCV_START_SEC_CODE (.text)

x

ETHTRCV_STOP_SEC_CODE

x

ETHTRCV_START_SEC_VAR_NO_INIT_UNSPECIFIED (.bss)

x

ETHTRCV_STOP_SEC_VAR_NO_INIT_UNSPECIFIED

x

ETHTRCV_START_SEC_CONST_UNSPECIFIED (.const)

x

ETHTRCV_STOP_SEC_CONST_UNSPECIFIED

x

ETHTRCV_START_SEC_CODE_ISR (.text)

x

ETHTRCV_STOP_SEC_CODE_ISR

x

4.14.6.2. Scheduling

Schedule Function API

Description

EthTrcv_MainFunction

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.

4.14.6.3. Error handling

4.14.6.3.1. Development Error Reporting (DET)

The errors reported to DET are described in the following table

Type of Error

Related Error code

Value (Hex)

API service called with wrong transceiver index.

ETHTRCV_E_INV_TRCV_IDX

0x01

API service called when transceiver is not initialized.

ETHTRCV_E_UNINIT

0x02

API is called with wrong pointer value (e.g., NULL pointer)

ETHTRCV_E_PARAM_POINTER

0x03

API is called with not supported mode

ETHTRCV_E_NOT_SUPPORTED

0x04

The following table shows which parameter checks are performed on which services:

Services

ETHTRCV_E_INV_TRCV_IDX

ETHTRCV_E_UNINIT

ETHTRCV_E_PARAM_POINTER

ETHTRCV_E_NOT_SUPPORTED

EthTrcv_Init

x

x

EthTrcv_SetTransceiverMode

x

x

EthTrcv_GetTransceiverMode

x

x

x

EthTrcv_StartAutoNegotiation

x

x

EthTrcv_GetLinkState

x

x

x

EthTrcv_GetBaudRate

x

x

x

EthTrcv_GetDuplexMode

x

x

x

EthTrcv_WriteMiiIndication

EthTrcv_ReadMiiIndication

EthTrcv_GetVersionInfo

x

EthTrcv_MainFunction

x

EthTrcv_SetPhyTestMode

x

x

x

EthTrcv_SetPhyLoopbackMode

x

x

x

EthTrcv_GetPhySignalQuality

x

x

x

EthTrcv_SetPhyTxMode

x

x

x

EthTrcv_GetCableDiagnosticsResult

x

x

x

EthTrcv_GetPhyIdentifier

x

x

x

4.14.6.3.2. Runtime Errors

There are no runtime errors.

4.14.6.3.3. DEM Errors

The errors reported to DEM are described in the following table:

DEM

Error Code

Description

Assigned by DEM

ETHTRCV_E_ACCESS

This error is raised when monitoring the access to the Ethernet Transceiver fails.

Assigned by DEM

ETHTRCV_E_HARDWARE_ERROR

This error is reference to the DemEventParameter which shall be issued when the error “Timeout on blocking API call occurs” has occurred.

4.14.7. Used resources

4.14.7.1. Interrupt Handling

EthTrcv driver does not provide any ISR, it is taken care in Ethernet.

4.14.7.2. Instance support

Will be updated in the next release

4.14.7.3. Hardware-Software Mapping

EthTrcv driver does not provide any ISR, it is taken care in Ethernet.

4.14.8. Integration description

4.14.8.1. Dependent modules

4.14.8.1.1. Eth Driver

EthTrcv driver depends on Ethernet Controller Driver (Eth) for transceiver access via Media Independent Interface (MII). Eth APIs Eth_ReadMII and Eth_WriteMII are used by EthTrcv for accessing transceiver registers.

4.14.8.1.2. MCU

The module MCU powers up the microcontroller peripherals at startup time and initializes the PLL and the internal clock domains which go to the Ethernet controller. No specific initialization needed for transceiver.

4.14.8.1.3. PORT

No specific port configuration is needed for EthTrcv driver, though to access transceiver registers we need port configuration which is done as a part of Eth driver port configuration.

4.14.8.1.4. AUTOSAR OS (Optional)

An operating system can be used for task scheduling, interrupt handling, global suspend and restore of interrupts and creating of the Interrupt Vector Table. The EthTrcv module may use OSEK/AUTOSAR OS to suspend and restore global interrupts.

4.14.8.1.5. DET

The module EthTrcv depends on the DET (by default) to report development errors. Detection and reporting of development errors can be enabled or disabled by the switch “Enable Development Error Detection” on the tab “General Settings” within the module EthTrcv.

The DET can be replaced optionally by an equivalent component which is responsible to recognize development errors, if no DET component is available.

4.14.8.1.6. DEM

By default, production code related errors are reported to the DEM using the service Dem_SetEventStatus().

4.14.8.1.7. Callback Notification

EthTrcv have two Callback Notifications:

  1. EthTrcv_ReadMiiIndication : Called when information has been read out via MII interface. Triggered by previous Eth_ReadMii call. EthTrcv_ReadMiiIndication can directly be called within Eth_ReadMii.

  2. EthTrcv_WriteMiiIndication : Called when information has been written via MII interface. Triggered by previous Eth_WriteMii call. EthTrcv_WriteMiiIndication can directly be called within Eth_WriteMii.

4.14.8.1.8. SchM

If multiple AUTOSAR runnables have access to the same Data Store Memory block, the exported AUTOSAR specification enforces data consistency by using an AUTOSAR exclusive area. With this specification, the runnables have mutually exclusive access to the per-instance memory global data, which prevents data corruption. Beside the OS, the BSW Scheduler provides functions that ETH TRCV module calls at begin and end of critical sections. This implementation requires 1 level of exclusive access to guard critical sections.

The data consistency mechanism that has to be applied to an ExclusiveArea might be domain, ECU or even project specific. The decision which mechanism has to be applied by RTE / Basic Software Scheduler is taken during ECU integration by setting the Exclusive Area configuration parameter RteExclusiveAreaImplMechanism. This parameter is an input for RTE generator. For ETH TRCV Module, data consistency and exclusive access to critical sections are required for the following sections as shown in the table below:

Exclusive Area Functions used

ETH TRCV Function calling Exclusive Area

Need for Exclusive Area

Recommended Exclusive Area Mapping

Will be updated in future release

4.14.8.2. Multi-core support

Not supported

4.14.9. Configuration

4.14.9.1. EthTrcvConfigSet

This container contains the configuration parameters and sub containers of the AUTOSAR EthTrcv module.

4.14.9.1.1. EthTrcvConfig

Configuration of the individual transceiver

4.14.9.1.1.1. EthTrcvAutoNegotiationEnabled

Item

Name

EthTrcvAutoNegotiationEnabled

Description

Specifies if Auto-Negotiation is enabled (TRUE) or disabled (FALSE) for determination of the Ethernet transceiver speed.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.1.1.2. EthTrcvConnNeg

Item

Name

EthTrcvConnNeg

Description

Specifies the connection negotiation of the Ethernet transceiver link.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

TRCV_CONN_NEG_AUTO

Range

TRCV_CONN_NEG_AUTO
TRCV_CONN_NEG_MASTER
TRCV_CONN_NEG_SLAVE

4.14.9.1.1.3. EthTrcvCtrlIdx

Item

Name

EthTrcvCtrlIdx

Description

Specifies the controller used for MII access to the transceiver

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.14.9.1.1.4. EthTrcvDuplexMode

Item

Name

EthTrcvDuplexMode

Description

Specifies the duplex mode of the Ethernet transceiver link if Auto-Negotiation is disabled. This parameter is ignored if Auto-Negotiation is enabled.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

ETHTRCV_DUPLEX_MODE_FULL

Range

ETHTRCV_DUPLEX_MODE_FULL
ETHTRCV_DUPLEX_MODE_HALF

4.14.9.1.1.5. EthTrcvIdx

Item

Name

EthTrcvIdx

Description

Specifies the instance ID of the configured transceiver.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.14.9.1.1.6. EthTrcvPhysLayerType

Item

Name

EthTrcvPhysLayerType

Description

Specifies the physical layer type of the Ethernet transceiver link.

Multiplicity-Configuration-Class

Link Time

VARIANT-LINK-TIME

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

true

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

TRCV_PHYS_LAYER_TYPE_100BASE_T1

Range

TRCV_PHYS_LAYER_TYPE_1000BASE_T
TRCV_PHYS_LAYER_TYPE_1000BASE_T1
TRCV_PHYS_LAYER_TYPE_100BASE_T1
TRCV_PHYS_LAYER_TYPE_100BASE_TX

4.14.9.1.1.7. EthTrcvPortMacLayerSpeed

Item

Name

EthTrcvPortMacLayerSpeed

Description

Defines the baud rate of the MAC layer.

Multiplicity-Configuration-Class

Link Time

VARIANT-LINK-TIME

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

true

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

ETH_MAC_LAYER_SPEED_100M

Range

ETH_MAC_LAYER_SPEED_100M
ETH_MAC_LAYER_SPEED_10G
ETH_MAC_LAYER_SPEED_10M
ETH_MAC_LAYER_SPEED_1G

4.14.9.1.1.8. EthTrcvPortMacLayerSubType

Item

Name

EthTrcvPortMacLayerSubType

Description

Defines the MAC layer subtype of a switch port

Multiplicity-Configuration-Class

Link Time

VARIANT-LINK-TIME

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

true

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

REDUCED

Range

REDUCED
REVERSED
SERIAL
STANDARD
UNIVERSAL_SERIAL

4.14.9.1.1.9. EthTrcvPortMacLayerType

Item

Name

EthTrcvPortMacLayerType

Description

Defines the MAC layer type of the ethernet transceiver.

Multiplicity-Configuration-Class

Link Time

VARIANT-LINK-TIME

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

true

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

TRCV_MAC_LAYER_TYPE_XMII

Range

TRCV_MAC_LAYER_TYPE_XGMII
TRCV_MAC_LAYER_TYPE_XMII
TRCV_MAC_LAYER_TYPE_XXGMII

4.14.9.1.1.10. EthTrcvSpeed

Item

Name

EthTrcvSpeed

Description

Specifies the speed of the Ethernet transceiver link in [MBit/s]. If AutoNegotiation is enabled this is the maximum speed advertised for Auto-Negotiation.In AM263Px only TRCV_SPEED_10 and TRCV_SPEED_100 is supported

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

TRCV_SPEED_100

Range

TRCV_SPEED_10
TRCV_SPEED_100

4.14.9.1.1.11. EthTrcvWakeUpCallout

Item

Name

EthTrcvWakeUpCallout

Description

Configuration of the call-out name.

Multiplicity-Configuration-Class

Link Time

VARIANT-LINK-TIME

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.14.9.1.1.12. EthTrcvEnableLoopback

Item

Name

EthTrcvEnableLoopback

Description

Phy loopback enable- for Test purpose

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Pre-Compile-Time

VARIANT-PRE-COMPILE

Post-Build-Time

VARIANT-POST-BUILD

Default-value

true

4.14.9.1.1.13. EthTrcvGigabitCapabilityEnabled

Item

Name

EthTrcvGigabitCapabilityEnabled

Description

Phy loopback enable- for Test purpose

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Pre-Compile-Time

VARIANT-PRE-COMPILE

Post-Build-Time

VARIANT-POST-BUILD

Default-value

true

4.14.9.1.1.14. EthTrcvIcuChannelRef

Item

Name

EthTrcvIcuChannelRef

Description

Reference to the IcuChannel to enable/disable the interrupts for wakeups.

Multiplicity-Configuration-Class

Link Time

VARIANT-LINK-TIME

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.14.9.1.1.15. EthTrcvPhyAdvertiseCapability

Item

Name

EthTrcvPhyAdvertiseCapability

Description

Phy advertisement capability

Multiplicity-Configuration-Class

Link Time

VARIANT-LINK-TIME

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.14.9.1.1.16. EthTrcvLinkPartnerCapability

Item

Name

EthTrcvLinkPartnerCapability

Description

Phy advertisement capability

Multiplicity-Configuration-Class

Link Time

VARIANT-LINK-TIME

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.14.9.1.2. EthTrcvDemEventParameterRefs

Item

Name

EthTrcvDemEventParameterRefs

Description

Reference to the DemEventParameter which shall be issued when the error “Timeout on blocking API call occurs “ has occurred.

Post-build-variant-multiplicity

false

Multiplicity-Configuration-Class

Link Time

VARIANT-LINK-TIME

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.14.9.1.2.1. EthTrcvMgmtInterface

The choice container allow to configure either the EthTrcv is accessed by a MII interface or Switch interface.

4.14.9.1.2.2. EthTrcvMiiInterface

This container includes the MII interface configuration between an Ethernet Controller and the Ethernet Transceiver. If this container is configured the EthTrcv shall call Eth_WriteMii / Eth_ReadMii API to access the hardware ethernet tranceiver.

4.14.9.1.2.3. EthTrcvMiiIdx

Item

Name

EthTrcvMiiIdx

Description

Specifies the transceiver index used for MII access to the transceiver

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.14.9.1.2.4. EthTrcvMiiSelection

Item

Name

EthTrcvMiiSelection

Description

This parameter specifies the type of transceiver / controller interface. The interface is either MII, Light-MII or RGMII.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

RGMII

Range

LIGHT_MII
MII
RGMII

4.14.9.1.2.5. EthTrcvSwitchInterface

This container includes the Switch interface configuration between an Ethernet Switch and an Ethernet Transceiver. If this container is configured the EthTrcv shall call EthSwt_WriteTrcvRegister / EthSwt_WriteTrcvRegister API to access the hardware ethernet transceiver.

4.14.9.1.2.6. EthTrcvSwitchPortRef

Item

Name

EthTrcvSwitchPortRef

Description

Reference to a switch port and it’s not implementated in AM263Px

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.14.9.1.2.7. EthTrcvSwitchRef

Item

Name

EthTrcvSwitchRef

Description

Reference to a switch configuration container and it’s not implementated in AM263Px.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.14.9.1.3. EthTrcvWakeupMap

Container for the mapping of wake up reasons to wake up sources. At least one container is needed if EthTrcvWakeUpSupport is not ETHTRCV_WAKEUP_NOT_SUPPORTED.

4.14.9.1.3.1. EthTrcvWakeupReason

Item

Name

EthTrcvWakeupReason

Description

This parameter defines the transceiver wake up reasons.
This parameter is not used.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

ETHTRCV_WUR_BUS

Range

ETHTRCV_WUR_BUS
ETHTRCV_WUR_GENERAL
ETHTRCV_WUR_INTERNAL
ETHTRCV_WUR_PIN
ETHTRCV_WUR_POWER_ON
ETHTRCV_WUR_RESET
ETHTRCV_WUR_SYSERR

4.14.9.1.3.2. EthTrcvWakeupReason1

Item

Name

EthTrcvWakeupReason1

Description

This parameter defines the transceiver wake up reasons.

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

true

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

ETHTRCV_WUR_MAGIC

Range

ETHTRCV_WUR_MAGIC
ETHTRCV_WUR_PATTERN
ETHTRCV_WUR_BROADCAST
ETHTRCV_WUR_UNICAST

4.14.9.1.3.3. EthTrcvWakeupSourceRef

Item

Name

EthTrcvWakeupSourceRef

Description

Configures the wake-up source defined in EcuM.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

4.14.9.1.4. EthTrcvCapabType

Structure for MDIO configuration

4.14.9.1.4.1. EthTrcvCapabTypeEnum

Item

Name

EthTrcvCapabTypeEnum

Description

Enumerates Advertisement configurations

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

ETHERNET_ADV_CAPAB_100_FULL

Range

ETHERNET_ADV_CAPAB_10_HALF
ETHERNET_ADV_CAPAB_10_FULL
ETHERNET_ADV_CAPAB_100_HALF
ETHERNET_ADV_CAPAB_100_FULL
ETHERNET_ADV_CAPAB_1000_HALF
ETHERNET_ADV_CAPAB_1000_FULL

4.14.9.2. EthTrcvGeneral

General configuration of Ethernet Transceiver Driver module

4.14.9.2.1. EthTrcvAutoNegotiationWaitCountTicks

Item

Name

EthTrcvAutoNegotiationWaitCountTicks

Description

Ethernet Tranceiver Tranceiver delay after autonetotiation
started to autonegotiation completed. Transceiver (PHY) sets auto-negotiation status bit in
status register once it is complete. Depending on Transceiver type,
MDIO frequence it will take different time. change count value if
transceiver detection fails in auto-negotiation.
For auto-negotiation configuring wait count to 100ms

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Pre-Compile-Time

VARIANT-PRE-COMPILE

Post-Build-Time

VARIANT-POST-BUILD

Default-value

80000

Max-value

4294967295

Min-value

0

4.14.9.2.2. EthTrcvDevErrorDetect

Item

Name

EthTrcvDevErrorDetect

Description

Switches the development error detection and notification on or off.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.14.9.2.3. EthTrcvGetBaudRateApi

Item

Name

EthTrcvGetBaudRateApi

Description

Enables / Disables EthTrcv_GetBaudRate API

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.4. EthTrcvGetCableDiagnosticsResultApi

Item

Name

EthTrcvGetCableDiagnosticsResultApi

Description

Enables / Disables EthTrcv_GetCableDiagnosticsResult API.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.5. EthTrcvGetDuplexModeApi

Item

Name

EthTrcvGetDuplexModeApi

Description

Enables / Disables EthTrcv_GetDuplexMode API

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.6. EthTrcvGetLinkStateApi

Item

Name

EthTrcvGetLinkStateApi

Description

Enables / Disables EthTrcv_GetLinkState API

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.7. EthTrcvGetPhyIdentifierApi

Item

Name

EthTrcvGetPhyIdentifierApi

Description

Enables / Disables EthTrcv_GetPhyIdentifier API.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.8. EthTrcvGetPhySignalQualityApi

Item

Name

EthTrcvGetPhySignalQualityApi

Description

Enables / Disables EthTrcv_GetPhySignalQuality API.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.9. EthTrcvGetTransceiverModeApi

Item

Name

EthTrcvGetTransceiverModeApi

Description

Enables / Disables EthTrcv_GetTransceiverMode API

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.10. EthTrcvGetTransceiverWakeupModeApi

Item

Name

EthTrcvGetTransceiverWakeupModeApi

Description

Enables / Disables EthTrcvGetTransceiverWakeupModeApi API

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.11. EthTrcvIndex

Item

Name

EthTrcvIndex

Description

Specifies the InstanceId of this module instance. If only one instance is present it shall have the Id 0.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

255

Min-value

0

4.14.9.2.12. EthTrcvLinkStatusWaitCountTicks

Item

Name

EthTrcvLinkStatusWaitCountTicks

Description

Wait for link status to become up after configuration

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Pre-Compile-Time

VARIANT-PRE-COMPILE

Post-Build-Time

VARIANT-POST-BUILD

Default-value

80000

Max-value

4294967295

Min-value

0

4.14.9.2.13. EthTrcvMainFunctionPeriod

Item

Name

EthTrcvMainFunctionPeriod

Description

Specifies the period of main function EthTrcv_MainFunction in seconds.

Multiplicity-Configuration-Class

Link Time

VARIANT-LINK-TIME

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

10.0

Max-value

INF

Min-value

0.0

4.14.9.2.14. EthTrcvMaxControllersSupported

Item

Name

EthTrcvMaxControllersSupported

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

2

Min-value

0

4.14.9.2.15. EthTrcvMaxTrcvConfigSupported

Item

Name

EthTrcvMaxTrcvConfigSupported

Description

Maximum number of configurations supported. The config Index passed to EthTrcv APIs should be less than this value.

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

2

Min-value

0

4.14.9.2.16. EthTrcvMaxTrcvsSupported

Item

Name

EthTrcvMaxTrcvsSupported

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

1

Max-value

255

Min-value

0

4.14.9.2.17. EthTrcvSetPhyTestModeApi

Item

Name

EthTrcvSetPhyTestModeApi

Description

Enables / Disables EthTrcv_SetPhyTestMode API.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.18. EthTrcv1000Mbps_speed

Item

Name

EthTrcv1000Mbps_speed

Description

Enables / Disables EthTrcv1000Mbps_speed.

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.19. EthTrcvSetPhyTxModeApi

Item

Name

EthTrcvSetPhyTxModeApi

Description

Enables / Disables EthTrcv_SetPhyTxMode API.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.14.9.2.20. EthTrcvSetTransceiverModeApi

Item

Name

EthTrcvSetTransceiverModeApi

Description

Enables / Disables EthTrcv_SetTransceiverMode API

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.21. EthTrcvStartAutoNegotiationApi

Item

Name

EthTrcvStartAutoNegotiationApi

Description

Enables / Disables EthTrcv_StartAutoNegotiation API

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

true

4.14.9.2.22. EthTrcvVersionInfoApi

Item

Name

EthTrcvVersionInfoApi

Description

Enables / Disables version info API

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.14.9.2.23. EthTrcvVersionInfoApiMacro

Item

Name

EthTrcvVersionInfoApiMacro

Description

Enables / Disables version info API macro implementation

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

false

4.14.9.2.24. EthTrcvWakeUpSupport

Item

Name

EthTrcvWakeUpSupport

Description

Configures wake-up to polling or interrupt or to not used/not supported. In case no wake up is supported by the hardware, the BSWMD pre-configuration shall be set to ETHTRCV_WAKEUP_NOT_SUPPORTED.

Origin

AUTOSAR_ECUC

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

ETHTRCV_WAKEUP_NOT_SUPPORTED

Range

ETHTRCV_WAKEUP_BY_INTERRUPT
ETHTRCV_WAKEUP_BY_POLLING
ETHTRCV_WAKEUP_NOT_SUPPORTED

4.14.9.2.25. EthTrcvDefaultOSCounterId

Item

Name

EthTrcvDefaultOSCounterId

Description

Default Os Counter Id if node reference to OsCounter ref EthTrcvOsCounterRef is not set

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

0

Max-value

16

Min-value

0

4.14.9.2.26. EthTrcvTimeoutDuration

Item

Name

EthTrcvTimeoutDuration

Description

ETHTRCV timeout - used in ETHTRCV busy wait. Unit is in clock ticks. Configure the timeout according to r5f clock frequency(400MHz/200MHz)

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

160000

Max-value

4294967295

Min-value

1

4.14.9.2.27. EthTrcvInternalLoopbackMode

Item

Name

EthTrcvInternalLoopbackMode

Description

Configures Internal Loopback mode to Analog or Digital.

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Link-Time

VARIANT-LINK-TIME

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Default-value

ETHTRCV_PHYLOOPBACK_INTERNAL_ANALOG

Range

ETHTRCV_PHYLOOPBACK_INTERNAL_ANALOG
ETHTRCV_PHYLOOPBACK_INTERNAL_DIGITAL

4.14.9.2.28. EthTrcvOsCounterRef

Item

Name

EthTrcvOsCounterRef

Description

This parameter contains a reference to the OsCounter, which is used by the ETHTRCV driver.

Multiplicity-Configuration-Class

Post-Build Time

VARIANT-POST-BUILD

Pre-Compile Time

VARIANT-PRE-COMPILE

Origin

Texas Instruments

Post-build-variant-multiplicity

false

Post-Build-Variant-Value

false

Value-Configuration-Class

Post-Build-Time

VARIANT-POST-BUILD

Pre-Compile-Time

VARIANT-PRE-COMPILE

Note: EthTrcvTimeoutDuration, EthTrcvAutoNegotiationWaitCountTicks and EthTrcvLinkStatusWaitCountTicks parameter Value should be passed as number of ticks according to clock frequency. The clock source have changed from RTI timers which used 200MHz clock frequency to R5f timers which uses 400MHz clock frequency, so the timeout values need to be configured accordingly.

4.14.10. Examples

4.14.10.1. Overview

For Eth and EthTrcv we have common example, So please refer

Examples <AM263Px/Module_User_Guide_Eth.md#examples>

4.14.10.2. Hardware Software Setup and Tools

None

4.14.10.3. Steps to build and run example

For Eth and EthTrcv we have common example, So please refer

Examples <AM263Px/Module_User_Guide_Eth.md#examples>

4.14.10.4. Example Logs

Please refer Examples <AM263Px/Module_User_Guide_Eth.md#examples>

4.14.10.5. File Structure

Will be updated in next release

4.14.11. FAQ’s

None

4.14.12. References

AUTOSAR_SWS_EthernetTransceiverDriver
Technical Reference Manual