SNLA450 July   2024 DP83822H , DP83822HF , DP83822I , DP83822IF , DP83826E , DP83826I , DP83848-EP , DP83848Q-Q1 , DP83867CR , DP83867CS , DP83867E , DP83867IR , DP83867IS , DP83TC812R-Q1 , DP83TC812S-Q1 , DP83TC813R-Q1 , DP83TC813S-Q1 , DP83TC814R-Q1 , DP83TC814S-Q1 , DP83TG720R-Q1 , DP83TG720S-Q1 , DP83TG721R-Q1 , DP83TG721S-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Texas Instruments Ethernet PHY Drivers
  5. 2Ethernet PHY Driver Overview
    1. 2.1 Exploring Linux Driver Types
      1. 2.1.1 U-Boot Driver
      2. 2.1.2 Kernel Driver
  6. 3Driver Integration
    1. 3.1 Linux Device Tree
    2. 3.2 Integrating Driver
  7. 4Common Terminal Commands
    1. 4.1 Initialization Commands
      1. 4.1.1 dmesg | grep -i mdio
      2. 4.1.2 ifconfig
    2. 4.2 Functional Commands
      1. 4.2.1 Phytool
      2. 4.2.2 Ethtool
      3. 4.2.3 Forced Master/Slave
    3. 4.3 Diagnostic Commands
      1. 4.3.1 SQI
      2. 4.3.2 TDR
      3. 4.3.3 Throughput Testing - Ping and iPerf
  8. 5Summary
  9. 6References

Ethernet PHY Driver Overview

Ethernet PHY Linux drivers play a crucial role in enabling communication between the network interface controller (NIC) and the physical Ethernet medium. The drivers interact with the Linux kernel's networking subsystem, providing a standardized interface for high-level networking protocols and applications. Implementing Ethernet PHY drivers involves handling tasks such as auto-negotiation, link detection, speed and duplex configuration, and error handling. Additionally, these drivers often support various Ethernet standards, including 10/100/1000Mbps Ethernet.

Figure 2-1 serves as an example that illustrates the role of an Ethernet PHY driver. Starting from the top, the user inputs a command through the Terminal (an ethtool command, for example). Ethtool, a Linux network utility, takes the input provided by the user in the terminal and checks if the parameters given are valid. This is an important step that provides a high-level interface for the user to interact with the kernel, without having direct Kernel control. If the parameters are correct, ethtool passes the command to the MAC and PHY drivers. The drivers have function definitions to execute the commands that were originally provided by the user and apply them to the hardware.

 Linux Driver Block
                    Diagram Figure 2-1 Linux Driver Block Diagram