Skip to content

Unified Ethernet Low-Level Driver (Enet LLD) for the different Ethernet peripherals found in Sitara MCU+ class of devices. Part of TI MCU+ SDK

License

Notifications You must be signed in to change notification settings

TexasInstruments/mcupsdk-enet-lld

Repository files navigation

Ethernet Low Level Drivers

Introduction

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:

Features

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

Overview

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


Block Diagram


Usage

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.

Contributing to the project

Currently, this project does not accept contributions.

About

Unified Ethernet Low-Level Driver (Enet LLD) for the different Ethernet peripherals found in Sitara MCU+ class of devices. Part of TI MCU+ SDK

Topics

Resources

License

Stars

Watchers

Forks