4.9. ETHTRCV

4.9.1. About This Document

Document Title

User Guide of MCAL ETHTRCV Driver

Document Version

Version 1.3

Company

Texas Instruments

Document Name

ETHTRCV User Guide

4.9.2. Revision History

Version

Date

Revision History

Status

Version 1.0

05 Aug 2022

Initial Version

Approved

Version 1.1

27 Feb 2023

Example app Test procedure added

Approved

Version 1.2

12 Jun 2023

Updated as per HTML format.

Approved

Version 1.3

14 Sep 2023

Updated Configuration parameters

Approved

4.9.3. Table of contents

  1. Acronyms and Definitions

  2. Functional Overview

  3. Deviations to requirements(Requirement Traceability)

  4. Integration Details

  5. API Description

  6. Configuration Description

  7. Memory Mapping

  8. Memory footprint

  9. Performance

  10. Example Usage

  11. FAQ’s

  12. Test Report(Link to test report)

  13. References

  14. TI Disclaimer

4.9.4. Acronyms and Definitions

Acronyms and Definitions Used are presented in below table.

Acronyms

Descriptions

EC

Ethernet controller

ET

Ethernet transceiver

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.9.5. Functional Overview

4.9.5.1. Brief Overview

This document describes the functionality, API, 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

AM273x

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.9.5.1.1. ETHTRCV Driver Architecture

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

../_images/ethtrcv_image2.png

Simplified View of the EthTrcv driver Architecture

Below figure shows EthTrcv driver in Ethernet stack module

../_images/ethtrcv_image3.png

Ethernet stack module overview

4.9.5.1.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 #. Reset transceiver. #. Check link status and if link is up, configuring all transceiver configuration parameters (e.g., baud rate, duplex mode, automatic negotiation). #. Set loopback mode, if enabled in configuration.

4.9.5.1.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_UNINT: 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.9.5.1.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.9.5.1.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.9.5.1.6. Interrupt Service Routine

EthTrcv driver does not provide any ISR.

4.9.5.2. Supported and Not Supported Features

Features Supported

AUTOSAR Supported Features

Features Not Supported

10, 100 Mbps Full and Half Duplex

Initialization of ETHTRCV.

1000 Mbps half and full-duplex mode (As it is not supporting in AM263x Ethernet)

Auto-Negotiation for all Speeds

Enable Auto-negotiation.

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

Link monitoring

Configuration of Speed, Duplex mode, and Baud rate.

MII feature not supported by DP83867E PHY

Loop Back Mode

Link monitoring.

Wakeup mode features supported by PHY but not implemented because DP83867E is industrial PHY not an automotive PHY

RGMII MAC Interface

Supported PHY : DP83867E

4.9.5.3. 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.9.5.4. 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.9.5.6. File Structure

Static source C File is defined below in the table.

File Name

Description

EthTrcv.h

Contains the APIs of the EthTrcv driver to be used

EthTrcv.c

Contains the implementation of the APIs for EthTrcv

EthTrcv_Priv.c

Contains module private functions used by main APIs.

EthTrcv_Priv.h

Internal header file.

Plugin File is defined below in the table.

EthTrcv_Cfg.h

Contains the pre-complier 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.

../_images/ethtrcv_image4.png

Fig. 4.5 Figure 1: File Structure

4.9.6. Deviations to requirements(Requirement Traceability)

4.9.6.1. Module Requirements

Will be updated in future release.

4.9.6.2. Deviation of requirements against AUTOSAR specification requirements

Will be updated in future release.

4.9.7. Integration Details

4.9.7.1. Dependency on Other Software Modules

4.9.7.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.9.7.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.9.7.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.9.7.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.9.7.1.5. Error Handling: 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.

Type of Error

Relevance

Related Error code

Value (Hex)

API service called with wrong transceiver index.

Development

ETHTRCV_E_INV_TRCV_IDX

[0x1]

API service called when transceiver is not initialized.

Development

ETHTRCV_E_UNINIT

[0x2]

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

Development

ETHTRCV_E_PARAM_POINTER

[0x3]

API is called with not supported mode

Development

ETHTRCV_E_NOT_SUPPORTED

[0x4]

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_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.9.7.1.6. Error Handling: Runtime Errors

There are no runtime errors.

4.9.7.1.7. Error Handling: DEM

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

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

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.9.7.1.8. 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.9.7.2. Hardware - Software - ISR API name mapping

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

4.9.7.3. Scheduling Strategy

4.9.7.3.1. SchM (Optional)

Beside the OS the BSW Scheduler provides functions that module EthTrcv calls at begin and end of critical sections.

4.9.7.3.2. Critical Sections

There is only one kind of critical sections in this driver. Within these sections all read /modify/write accesses to internal EthTrcv status variables must be protected. Therefore, switching to tasks that also access EthTrcv must be avoided and all EthTrcv interrupts have to be suspended.

4.9.8. API Description

4.9.8.1. Description of the API’s(Can be referred to Api Guide spec)

Will be updated in future release.

4.9.8.2. API’s with Service ID

The following table presents the service IDs and the related services:

Autosar API’s Supported:

Service ID

Autosar API’s Supported

Autosar API’s not Supported

0x01

EthTrcv_Init

0x03

EthTrcv_SetTransceiverMode

0x04

EthTrcv_GetTransceiverMode

0x05

EthTrcv_StartAutoNegotiation

0x06

EthTrcv_GetLinkState

0x07

EthTrcv_GetBaudRate

0x08

EthTrcv_GetDuplexMode

0x09

EthTrcv_ReadMiiIndication

0x0A

EthTrcv_WriteMiiIndication

0x0B

EthTrcv_GetVersionInfo

0x0C

EthTrcv_MainFunction

0x10

EthTrcv_GetPhySignalQuality

0x12

EthTrcv_SetPhyLoopbackMode

0x13

EthTrcv_SetPhyTxMode

0x14

EthTrcv_GetCableDiagnosticsResult

0x15

EthTrcv_GetPhyIdentifier

0x0D

EthTrcv_SetTransceiverWakeupMode

0x0E

EthTrcv_GetTransceiverWakeupMode

0x0F

EthTrcv_CheckWakeup

0x11

EthTrcv_SetPhyTestMode

Refer Autosar SWS for API description mentioned in above table.

4.9.8.3. Description on Non Standard API’s

Not Applicable.

4.9.9. Configuration Description

4.9.9.1. Configuration Variants

The ETHTRCV is configured through GUI in Post-Build, Pre-Compile and Link-Time Variants.

Variants
Configured Files

PostBuild

EthTrcv_PBcfg.c , EthTrcv_Cfg.h

Pre-Compile

EthTrcv_Cfg.c , EthTrcv_Cfg.h

Link-Compile

EthTrcv_Lcfg.c , EthTrcv_Cfg.h

4.9.9.2. Parameter Description

4.9.9.2.1. Standard Configuration

Parameter
Description
Unit / DataType
Range
Default Value
EthTrcvAutoNegotiationEnabled

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

Boolean

TRUE / FALSE

TRUE

EthTrcvConnNeg

Specifies the connection negotiation of the Ethernet transceiver link.

Enumeration

TRCV_CONN_NEG_AUTO TRCV_CONN_NEG_MASTER TRCV_CONN_NEG_SLAVE

TRCV_CONN_NEG_AUTO

EthTrcvCtrlIdx

Specifies the controller used for MII access to the transceiver

Integer

0-255

0

EthTrcvDuplexMode

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

Enumeration

ETHTRCV_DUPLEX_MODE_FULL ETHTRCV_DUPLEX_MODE_HALF

ETHTRCV_DUPLEX_MODE_FULL

EthTrcvIdx

Specifies the instance ID of the configured transceiver.

Integer

0-255

0

EthTrcvPhysLayerType

Specifies the physical layer type of the Ethernet transceiver link.

Enumeration

TRCV_PHYS_LAYER_TYPE_1000BASE_T TRCV_PHYS_LAYER_TYPE_1000BASE_T1 TRCV_PHYS_LAYER_TYPE_100BASE_T1 TRCV_PHYS_LAYER_TYPE_100BASE_TX

TRCV_PHYS_LAYER_TYPE_100BASE_T1

EthTrcvPortMacLayerSpeed

Defines the baud rate of the MAC layer.

Enumeration

ETH_MAC_LAYER_SPEED_100M ETH_MAC_LAYER_SPEED_10G ETH_MAC_LAYER_SPEED_10M ETH_MAC_LAYER_SPEED_1G

ETH_MAC_LAYER_SPEED_100M

EthTrcvPortMacLayerSubType

Defines the MAC layer subtype of a switch port

Enumeration

REDUCED REVERSED SERIAL STANDARD UNIVERSAL_SERIAL

REDUCED

EthTrcvPortMacLayerType

Defines the MAC layer type of the ethernet transceiver.

Enumeration

TRCV_MAC_LAYER_TYPE_XGMII TRCV_MAC_LAYER_TYPE_XMII TRCV_MAC_LAYER_TYPE_XXGMII

TRCV_MAC_LAYER_TYPE_XMII

EthTrcvSpeed

Specifies the speed of the Ethernet transceiver link in [MBit/s]. If AutoNegotiation is enabled this is the maximum speed advertised for Auto-Negotiation.

Enumeration

TRCV_SPEED_10 TRCV_SPEED_100 TRCV_SPEED_1000

TRCV_SPEED_100

EthTrcvMiiIdx

Specifies the transceiver index used for MII access to the transceiver

Integer

0-255

0

EthTrcvMiiSelection

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

Enumeration

LIGHT_MII MII RGMII

RGMII

EthTrcvDevErrorDetect

Switches the development error detection and notification on or off.

Boolean

TRUE / FALSE

TRUE

EthTrcvGetBaudRateApi

Enables / Disables EthTrcv_GetBaudRate API

Boolean

TRUE / FALSE

TRUE

EthTrcvGetCableDiagnosticsResultApi

Enables / Disables EthTrcv_GetCableDiagnosticsResult API.

Boolean

TRUE / FALSE

TRUE

EthTrcvGetDuplexModeApi

Enables / Disables EthTrcv_GetDuplexMode API

Boolean

TRUE / FALSE

TRUE

EthTrcvGetLinkStateApi

Enables / Disables EthTrcv_GetLinkState API

Boolean

TRUE / FALSE

TRUE

EthTrcvGetPhyIdentifierApi

Enables / Disables EthTrcv_GetPhyIdentifier API.

Boolean

TRUE / FALSE

TRUE

EthTrcvGetPhySignalQualityApi

Enables / Disables EthTrcv_GetPhySignalQuality API.

Boolean

TRUE / FALSE

TRUE

EthTrcvGetTransceiverModeApi

Enables / Disables EthTrcv_GetTransceiverMode API

Boolean

TRUE / FALSE

TRUE

EthTrcvGetTransceiverWakeupModeApi

Enables / Disables EthTrcv_GetTransceiverWakeupMode API

Boolean

TRUE / FALSE

TRUE

EthTrcvIndex

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

Integer

0-255

0

EthTrcvMainFunctionPeriod

Specifies the period of main function EthTrcv_MainFunction in seconds.

Float

0-Infinite

10

EthTrcvMaxTrcvsSupported

This Parameter can be used to configure Maximum Trcv supported

Integer

0-255

0

EthTrcvSetPhyTestModeApi

Enables / Disables EthTrcv_SetPhyTestMode API.

Boolean

TRUE / FALSE

TRUE

EthTrcvSetPhyTxModeApi

Enables / Disables EthTrcv_SetPhyTxMode API.

Boolean

TRUE / FALSE

TRUE

EthTrcvSetTransceiverModeApi

Enables / Disables EthTrcv_SetTransceiverMode API

Boolean

TRUE / FALSE

TRUE

EthTrcvStartAutoNegotiationApi

Enables / Disables EthTrcv_StartAutoNegotiation API

Boolean

TRUE / FALSE

TRUE

EthTrcvVersionInfoApi

Enables / Disables version info API

Boolean

TRUE / FALSE

FALSE

EthTrcvVersionInfoApiMacro

Enables / Disables version info API macro implementation

Boolean

TRUE / FALSE

FALSE

EthTrcvWakeUpSupport

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.

Enumeration

ETHTRCV_WAKEUP_BY_INTERRUPT ETHTRCV_WAKEUP_BY_POLLING ETHTRCV_WAKEUP_NOT_SUPPORTED

ETHTRCV_WAKEUP_NOT_SUPPORTED

4.9.9.2.2. IP Specific Configuration

Parameter
Description
Unit / DataType
Range
Default Value
EthTrcvEnableLoopback

To enable Phy loopback for Test purpose

Boolean

TRUE / FALSE

TRUE

EthTrcvGigabitCapabilityEnabled

To enable GigabitCapability for Test purpose

Boolean

TRUE / FALSE

TRUE

EthTrcvCapabTypeEnum

Enumerates Advertisement configurations

Enumeration

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

ETHERNET_ADV_CAPAB_100_FULL

EthTrcvAutoNegotiationWaitCountTicks

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

Integer

0-4294967295

80000

EthTrcvLinkStatusWaitCountTicks

Wait for link status to become up after configuration

Integer

0-4294967295

80000

EthTrcvMaxControllersSupported

This is for Maximum Controller Supported

Integer

0-1

1

EthTrcvMaxTrcvConfigSupported

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

Integer

0-1

1

EthTrcvDefaultOSCounterId

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

Integer

0-16

0

EthTrcvTimeoutDuration

ETHTRCV timeout - used in ETHTRCV busy wait

Integer

1-4294967295

160000

EthTrcvInternalLoopbackMode

Configures Internal Loopback mode to Analog or Digital.

Enumeration

ETHTRCV_PHYLOOPBACK_INTERNAL_ANALOG ETHTRCV_PHYLOOPBACK_INTERNAL_DIGITAL

ETHTRCV_PHYLOOPBACK_INTERNAL_ANALOG

EthTrcvDeviceVariant

Select SOC variant .This parameter shall be used by driver to impose device specific constraints. The user guide shall detail the device specific constraints

Enumeration

AM273x

AM273x

4.9.9.3. Symbolic Names deviations

None

4.9.9.4. Configuration rules and constraints to enable plausibility checks

Not Applicable.

4.9.10. 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.9.11. Memory footprint

Please refer Memory Footprint for more details.

4.9.12. Performance

Not Applicable.

4.9.13. Example Usage

4.9.13.1. Steps to build and run example

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

4.9.13.2. Example Logs

please refer Eth UserGuide for Example Logs.

4.9.14. FAQ’s

None

4.9.16. References

Autosar SWS 4.3.1 will be updated in future release.

Technical Reference Manual

4.9.17. TI Disclaimer

Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue any product or service without notice, and advise customers to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete. All products are sold subject to the terms and conditions of sale supplied at the time of order acknowledgment, including those pertaining to warranty, patent infringement, and limitation of liability.

TI warrants performance of its products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements.

Customers are responsible for their applications using TI components. In order to minimize risks associated with the customer’s applications, adequate design and operating safeguards must be provided by the customer to minimize inherent or procedural hazards.

TI assumes no liability for applications assistance or customer product design. TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right of TI covering or relating to any combination, machine, or process in which such products or services might be or are used. TI’s publication of information regarding any third party’s products or services does not constitute TI’s approval, license, warranty or endorsement thereof.

Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations and notices. Representation or reproduction o f this information with alteration voids all warranties provided for an associated TI product or service, is an unfair and deceptive business practice, and TI is not responsible nor liable for any such use.

Resale of TI’s products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service, is an unfair and deceptive business practice, and TI is not responsible nor liable for any such use.

Also see: Standard Terms and Conditions of Sale for Semiconductor Products https://www.ti.com/sc/docs/stdterms.htm

Mailing Address: Texas Instruments Post Office Box 655303 Dallas, Texas 75265