4.37. PHY Module

4.37.1. Module Files

4.37.1.1. Driver

  • src/app/driver/phy/dp83869.c

  • src/app/driver/phy/dp83869.h

4.37.1.2. Configuration

  • src/app/driver/config/phy_cfg.h

4.37.1.3. Unit Test

  • tests/unit/app/driver/phy/test_dp83869.c

4.37.2. Detailed Description

The DP83869 driver implements the physical layer interface for the Texas Instruments DP83869HM Ethernet PHY. It provides functions for initializing, configuring, and managing the PHY, including link status detection, auto-negotiation, and loopback configuration.

This driver uses the MDIO interface to communicate with the PHY and integrates with the system’s network stack via the EMAC module.

4.37.2.1. Initialization

The PHY initialization sequence includes:

  1. Hardware reset via GPIO pin.

  2. Software reset of the PHY.

  3. Verification of PHY ID.

  4. Configuration of operation mode (e.g., MII).

  5. Link establishment and auto-negotiation.

The initialization status is stored in the global data block phy_tablePhy.

4.37.3. Registers

The driver accesses both standard and extended PHY registers via MDIO.

4.37.3.1. Standard Registers

Register Name

Offset

BMCR

0x00

BMSR

0x01

PHYIDR1

0x02

PHYIDR2

0x03

ANAR

0x04

ALNPAR

0x05

STATUS

0x11

BIST

0x16

4.37.3.2. Extended Registers

Register Name

Offset

REGCR

0x0D

ADDAR

0x0E

GEN_CTRL

0x1F

STRAP_STS

0x6E

OP_MODE

0x1DF

FX_INT_STS

0xC19

4.37.4. See Also