EthFw Release Notes
Version: 08.01.00.04
Contents
- Introduction
- Licensing
- Getting Started
- Documentation
- What's New
- Upgrade and Compatibility Information
- Device Support
- Validation Information
- Fixed Issues
- Known Issues
- Dependencies
- Technical Support
- Package Versioning
Introduction
This release notes provides important information that will assist you in using the EthFw component. This document provides the product information and known issues with respect to EthFw software component. The EthFw component consists of firmware for Ethernet switch, profiling tools and demos/applications for J721E and J7200 Silicon platforms.
Licensing
Refer to Processor SDK Automotive top-level manifest.
Getting Started
The Ethernet Firmware User Guide [HTML] provides the documentation and references necessary to run EthFw demos and begin development on TI's platforms.
Documentation
Refer to following documentation for further details:
Ethernet Firmware User Guide | Build instructions, Demos | [HTML] |
Ethernet Firmware API Guide | API Guide | [HTML] |
What's New
- Shared memory based virtual Ethernet adapter communication between cores (RTOS, Linux).
- Multi-core concurrent reception of broadcast and multicast traffic using software packet fan-out.
- MAC-only mode support on selected MAC ports for traffic exclusively forwarded to host port, excludes designated ports from switching logic.
- First release to support FreeRTOS and lwIP TCP/IP stack only. TI-RTOS and NDK are no longer supported.
Upgrade and Compatibility Information
- CpswProxy client layer now returns its own error codes.
- CpswProxy_init() / CpswProxy_start() has been replaced with CpswProxy_init() / CpswProxy_connect() / CpswProxy_open().
- Added following new APIs for multicast handling: CpswProxy_filterAddMac(), CpswProxy_filterDelMac()
- Added following new API for MAC-only ports: CpswProxy_setPromiscMode()
- Refer to below table for the full list of remote commands supported for MAC-only and switch ports.
Command | ID | Virtual Switch Port | Virtual MAC Port | Comments |
ATTACH | 0x00 | Yes | Yes |
|
ATTACH_EXT | 0x01 | Yes | Yes |
|
ALLOC_TX | 0x02 | Yes | Yes | Alloc TX channel (PSIL dst id) |
ALLOC_RX | 0x03 | Yes | Yes | Alloc RX flow |
REGISTER_DEFAULTFLOW | 0x04 | Yes | No | Set flow as default thread |
ALLOC_MAC | 0x05 | Yes | Yes | Allocate MAC address from pool |
REGISTER_MAC | 0x06 | Yes | Yes |
|
UNREGISTER_MAC | 0x07 | Yes | Yes |
|
UNREGISTER_DEFAULTFLOW | 0x08 | Yes | No | Remove flow as default thread (falls back to LLD internal reserved flow) |
FREE_MAC | 0x09 | Yes | Yes | Free MAC address |
FREE_TX | 0x0A | Yes | Yes | Free TX channel (PSIL dst id) |
FREE_RX | 0x0B | Yes | Yes | Free RX flow |
DETACH | 0x0C | Yes | Yes | Detach from Enet MCM |
IOCTL | 0x0D | Yes | Yes | Generic Enet/CPSW IOCTL |
REGWR | 0x0E | Yes | Yes | Write hardware register |
REGRD | 0x0F | Yes | Yes | Read hardware register |
IPV4_MAC_REGISTER | 0x10 | Yes | No | Register IPv4 address in Proxy ARP table |
IPV6_MAC_REGISTER | 0x11 | No | No | Not used |
IPV4_MAC_UNREGISTER | 0x12 | Yes | No | Unregister IPv4 address from Proxy ARP table |
IPV6_MAC_UNREGISTER | 0x13 | No | No | Not used |
PING_REQUEST | 0x14 | Yes | Yes | Request a ping from server to client |
S2C_NOTIFY | 0x15 | Yes | Yes | Server's response to C2S messages |
C2S_NOTIFY | 0x16 | Yes | Yes | DUMP_STATS and CUSTOM messages |
REGISTER_ETHTYPE | 0x17 | Yes | No | Set up classifier with EtherType as match criteria |
UNREGISTER_ETHTYPE | 0x18 | Yes | No | Remote classifier with EtherType match criteria |
REGISTER_REMOTETIMER | 0x | Yes | Yes | Register notify callback for HW push event and configure TimeSyncRouter |
UNREGISTER_REMOTETIMER | 0x1A | Yes | Yes | Unregister notify callback for HW push event and clear TimeSyncRouter configuration |
SET_PROMISC_MODE | 0x1B | No | Yes | Enable promiscuous mode by setting/clearing MAC-only copy all frames bit |
FILTER_ADD_MAC | 0x1C | Yes | No | Add multicast address to receive filter |
FILTER_DEL_MAC | 0x1D | Yes | No | Delete multicast MAC address to receive filter |
Device Support
Below table shows device support for EthFw.SoC | HOST (OS) | Target (OS) | Test Platform |
J721E | Linux | TI RTOS | J721E EVM with GESI and QSGMII Daughter Boards |
J7200 | Linux | TI RTOS | J7200 EVM with QSGMII Daughter Board |
Note: In J721E EVM, QSGMII daughter board is supported only on RTOS. For Linux support, please refer ETHFW-607 in Known Issues section below. This limitation is not applicable for J7200 EVM.
Refer Processor SDK RTOS Automotive release notes for SDK device support.
Validation Information
This release was built and validated using the following tools. Refer [EthFw User Guide] for additional instructions to install and setup the dependencies.Build Tools (included in Processor SDK)
- TI ARM CLANG: 1.3.0.LTS
- FreeRTOS Kernel: 10.4.3
- lwIP stack: 2.1.2
Fixed Issues
Issue ID | Head Line | Module | Affected Platforms | Reported in Release | Fixed in Release |
ETHFW-1565 | [ethfw] - LLIAddStaticEntryWithFlags fails when EthFw core doesn't acquire IP before remote clients | EthFw | J721E, J7200 | 06.02.00.04 | 08.01.00.00 |
ETHFW-1534 | [CPSW] Packet drop with QSGMII ports IPerf | EthFw | J721E, J7200 | 06.02.00.00 | 08.01.00.00 |
Known Issues and Limitations
Issue ID | Head Line | Module | Reported in Release | Affected Platforms | Workaround in this release |
PROC_BRDS-658 | MAC PORT 0 packet drop seen of Rx/TX - Packet drop is seen on MAC PORT0 (RGMII1) on 1Gbps mode on GESI board of J721E EVM alpha version. This port is labeled as PRG1_RGMII1_B in the GESI board connections figure in @ref ethfw_depend_evm_gesi_j721e section. This issue is not applicable to J721E EVM beta version |
Alpha EVM | 00.08.00.00 | J721E | Reduce MAC port 0 speed to 100Mbps in J721E EVM alpha version. |
PROC_BRDS-671 | External 50MHz RMII clock from PHY is not connected by default to SoC's RMII_REF_CLOCK pin in GESI boards of J721E EVM alpha version This issue is not applicable to J721E EVM beta version |
Alpha EVM | 00.08.00.00 | J721E | To get RMII_50MHZ_CLK, resistor R225 needs to be populated. Move R226 to R225 on GESI board to get this clock. |
PROC_BRDS-659 | QSGMII expansion board is causing instabilities in the MDIO bus in J721E EVM alpha version. After a few mins, MDIO register access fail. This issue is not applicable to J721E EVM beta version. |
Alpha EVM | 00.08.00.00 | J721E | Disconnect QUAD PORT ETH expansion board from Alpha EVM. |
ETHFW-607 | EthFw - QSGMII daughter board not supported with Linux | EthFw | 06.02.00.04 | J721E | QSGMII daugther board is not supported in Linux due to SERDES sharing not enabled. In order to use QSGMII ports, SERDES usage from Linux has to be disabled. Contact TI representative for detailed instructions to enable QSGMII ports. |
ETHFW-1733 | demo: Rate limiting demo exceeded intended rate in egress port | EthFw | 07.00.00.00 | J721E, J7200 | When sending packets at a rate higher than programmed in the demo (200Mbps), for instance 250Mbps, the egress port should see its rate limited to 200Mbps. But the rate at egress port is same as the ingress port. |
ETHFW-1902 | EthFw: ARP request fails in Linux virtual MAC (switch port) with static IP | EthFw | 08.01.00.00 | J721E, J7200 | Replace default firmware in Linux with precompiled images from EthFw component directory. |
Dependencies
All Ethernet Firmware dependencies are also part of the SDK, please refer user guide [HTML] for details.
Technical Support
For technical support and additional assistance, contact local TI Field Application Engineer
Package Versioning
Each package version is composed of 4 period-delimited numbers - represented here by the letters M, m, p and b [M.m.p.b]
. The table below provides a descriptive reference regarding package version numbering.
Digit | Meaning | Description |
---|---|---|
1 (M=Major) | Major revision | Incremented when the new version is substantially different from the previous For example, a new module added or an existing module's algorithm significantly altered. |
2 (m=minor) | Minor revision | Incremented when the new version has changed but not in a major way. For example, some minor changes in the API or feature set. |
3 (p=patch) | Patch number | Incremented for all other source code changes. This include any packaging support code. |
4 (b=build) | Build number | Incremented for each release delivery to CM. Reset for any change to M, m or p. |
Copyright 2021, Texas Instruments Incorporated