The Unified Ethernet Low-Level Driver (Enet LLD) is a driver that aims at providing an unified interface for the different Ethernet peripherals found in Sitara MCU+ class of devices from Texas Instruments. These devices currently include:
- Supports both CPSW and ICSSG peripherals.
- Provided with pre-built ICSS firmware binary for ICSS PRU.
- Provides control and datapath (DMA) programming Interfaces for application.
- Integrated with LwIP adaptation layer to interface with LwIP networking stack.
- Operating syhstem agnostic. Currently Supports FreeRTOS and bare metal (NoRTOS) applications.
- Includes drivers to support the below Ethernet PHY transceiver along with any other generic Ethernet PHY transceivers that can be modified to support various other Ethernet PHY transceivers.
- Currently, supports below distinguished features apart from basic Ethernet features.
- AM243x: MAC Mode, Switch Mode, Timestamping, multi-channel, DSCP, Policer and Rate Limiters, TCP/IP checksum offload.
- AM263x: MAC Mode, Switch Mode, Timestamping, multi-channel, DSCP, TSN-EST, Policer and Rate Limiters, Interrupt Pacing, Tx Scatter-Gather, TCP/IP checksum offload.
- AM273x: Timestamping, multi-channel, DSCP, TSN-EST, Policer and Rate Limiters, Interrupt Pacing, Tx Scatter-Gather, TCP/IP checksum offload.
- AM64x: MAC Mode, Switch Mode, Timestamping, multi-channel, DSCP, Policer and Rate Limiters, TCP/IP checksum offload.
The Enet LLD is composed of the following layers: top-layer APIs, peripheral layer, module layer and CSL. CSL layer has SOC specific hardware register defination and it is part of MCU_PLUS_SDK repository
Enen though enetLLD is a seperate repository, it is not independent. It has dependencies to other repositories such as MCU_PLUS_SDK, FreeRTOS and LwIP. It uses the build system from MCU_PLUS_SDK and hence please refer to MCU_PLUS_SDK for instructions about compilation, documentation generation and usage.
Currently, this project does not accept contributions.