Data Structures | Macros | Typedefs | Enumerations
Enet Management Data I/O (MDIO)

Data Structures

struct  EnetMdio_C22ReadInArgs_s
 Input args for ENET_MDIO_IOCTL_C22_READ command. More...
 
struct  EnetMdio_C45ReadInArgs_s
 Input args for ENET_MDIO_IOCTL_C45_READ command. More...
 
struct  EnetMdio_C22WriteInArgs_s
 Input args for ENET_MDIO_IOCTL_C22_WRITE command. More...
 
struct  EnetMdio_C45WriteInArgs_s
 Input args for ENET_MDIO_IOCTL_C45_WRITE command. More...
 

Macros

#define ENET_MDIO_FEAT_CLAUSE45   (ENET_BIT(0U))
 MDIO feature mask for Clause-45 support.
 
#define ENET_MDIO_FEAT_PHY_MONITOR   (ENET_BIT(1U))
 
#define ENET_MDIO_PUBLIC_IOCTL(x)   (ENET_IOCTL_MDIO_BASE | ENET_IOCTL_MIN(x))
 Helper macro to create IOCTL commands for MDIO module.
 
#define ENET_MDIO_PHY_ADDR_MASK(addr)   (ENET_BIT(addr))
 Create a MDIO PHY mask from a PHY address.
 
#define ENET_MDIO_PHY_ADDR_MASK_NONE   (0x00000000U)
 MDIO PHY address mask for no PHYs present.
 
#define ENET_MDIO_PHY_ADDR_MASK_ALL   (0xFFFFFFFFU)
 MDIO PHY address mask for all PHYs present.
 
#define ENET_MDIO_PHY_CNT_MAX   (31U)
 Maximum number of PHYs supported on the MDIO bus.
 

Typedefs

typedef enum EnetMdio_Ioctl_e EnetMdio_Ioctl
 MDIO IOCTL commands.
 
typedef enum EnetMdio_OpMode_e EnetMdio_OpMode
 MDIO operating mode.
 
typedef enum EnetMdio_Group_e EnetMdio_Group
 MDIO user group.
 
typedef enum EnetMdio_FrameFmt_s EnetMdio_FrameFmt
 Frame format.
 
typedef enum EnetMdio_C45Mmd_e EnetMdio_C45Mmd
 Clause-45 MDIO Manageable Device (MMD) addresses.
 
typedef struct
EnetMdio_C22ReadInArgs_s 
EnetMdio_C22ReadInArgs
 Input args for ENET_MDIO_IOCTL_C22_READ command. More...
 
typedef struct
EnetMdio_C45ReadInArgs_s 
EnetMdio_C45ReadInArgs
 Input args for ENET_MDIO_IOCTL_C45_READ command. More...
 
typedef struct
EnetMdio_C22WriteInArgs_s 
EnetMdio_C22WriteInArgs
 Input args for ENET_MDIO_IOCTL_C22_WRITE command. More...
 
typedef struct
EnetMdio_C45WriteInArgs_s 
EnetMdio_C45WriteInArgs
 Input args for ENET_MDIO_IOCTL_C45_WRITE command. More...
 

Enumerations

enum  EnetMdio_Ioctl_e {
  ENET_MDIO_IOCTL_GET_VERSION = ENET_MDIO_PUBLIC_IOCTL(0U), ENET_MDIO_IOCTL_PRINT_REGS = ENET_MDIO_PUBLIC_IOCTL(1U), ENET_MDIO_IOCTL_IS_ALIVE = ENET_MDIO_PUBLIC_IOCTL(2U), ENET_MDIO_IOCTL_IS_LINKED = ENET_MDIO_PUBLIC_IOCTL(3U),
  ENET_MDIO_IOCTL_IS_POLL_ENABLED = ENET_MDIO_PUBLIC_IOCTL(4U), ENET_MDIO_IOCTL_C22_READ = ENET_MDIO_PUBLIC_IOCTL(5U), ENET_MDIO_IOCTL_C22_WRITE = ENET_MDIO_PUBLIC_IOCTL(6U), ENET_MDIO_IOCTL_C45_READ = ENET_MDIO_PUBLIC_IOCTL(7U),
  ENET_MDIO_IOCTL_C45_WRITE = ENET_MDIO_PUBLIC_IOCTL(8U)
}
 MDIO IOCTL commands. More...
 
enum  EnetMdio_OpMode_e { ENET_MDIO_MODE_NORMAL = 0U, ENET_MDIO_MODE_STATE_CHANGE_MON, ENET_MDIO_MODE_MANUAL }
 MDIO operating mode. More...
 
enum  EnetMdio_Group_e { ENET_MDIO_GROUP_0 = 0U, ENET_MDIO_GROUP_1, ENET_MDIO_GROUP_NUM }
 MDIO user group. More...
 
enum  EnetMdio_FrameFmt_s { ENET_MDIO_FRAME_FMT_C22 = 0U, ENET_MDIO_FRAME_FMT_C45 }
 Frame format. More...
 
enum  EnetMdio_C45Mmd_e {
  ENET_MDIO_MMD_PMA_PMD = 1U, ENET_MDIO_MMD_WIS = 2U, ENET_MDIO_MMD_PCS = 3U, ENET_MDIO_MMD_PHY_XS = 4U,
  ENET_MDIO_MMD_DTE_XS = 5U, ENET_MDIO_MMD_VENDOR_1 = 30U, ENET_MDIO_MMD_VENDOR_2 = 31U
}
 Clause-45 MDIO Manageable Device (MMD) addresses. More...
 

Detailed Description

Macro Definition Documentation

#define ENET_MDIO_FEAT_PHY_MONITOR   (ENET_BIT(1U))

\ brief MDIO feature mask for PHY state change monitoring.

Typedef Documentation

Input args for ENET_MDIO_IOCTL_C22_READ command.

Clause-22 register read arguments.

Input args for ENET_MDIO_IOCTL_C22_WRITE command.

Clause-22 register write arguments.

Input args for ENET_MDIO_IOCTL_C45_READ command.

Clause-45 register read arguments.

Input args for ENET_MDIO_IOCTL_C45_WRITE command.

Clause-45 register write arguments.

Enumeration Type Documentation

Clause-45 MDIO Manageable Device (MMD) addresses.

Enumerator
ENET_MDIO_MMD_PMA_PMD 

PMA/PMD

ENET_MDIO_MMD_WIS 

WIS

ENET_MDIO_MMD_PCS 

PCS

ENET_MDIO_MMD_PHY_XS 

PHY XS

ENET_MDIO_MMD_DTE_XS 

DTE XS

ENET_MDIO_MMD_VENDOR_1 

Vendor specific 1

ENET_MDIO_MMD_VENDOR_2 

Vendor specific 2

Frame format.

Enumerator
ENET_MDIO_FRAME_FMT_C22 

Clause 22 frame format

ENET_MDIO_FRAME_FMT_C45 

Clause 45 frame format

MDIO user group.

Enumerator
ENET_MDIO_GROUP_0 

Group 0

ENET_MDIO_GROUP_1 

Group 1

ENET_MDIO_GROUP_NUM 

Number of groups

MDIO IOCTL commands.

Enumerator
ENET_MDIO_IOCTL_GET_VERSION 

Get the hardware version of the MDIO module.

IOCTL parameters:

ENET_MDIO_IOCTL_PRINT_REGS 

Print MDIO registers.

IOCTL parameters:

  • inArgs: None
  • outArgs: None
ENET_MDIO_IOCTL_IS_ALIVE 

Get PHY alive status.

IOCTL parameters:

  • inArgs: uint8_t
  • outArgs: bool
ENET_MDIO_IOCTL_IS_LINKED 

Get PHY link status.

IOCTL parameters:

  • inArgs: uint8_t
  • outArgs: bool
ENET_MDIO_IOCTL_IS_POLL_ENABLED 

Get link state change poll enable status.

Checks if PHY state change is being monitored for the given PHY address regardless of the underlying monitoring mechanism or mode.

IOCTL parameters:

  • inArgs: uint8_t
  • outArgs: bool
ENET_MDIO_IOCTL_C22_READ 

Read a PHY register using clause-22 frame.

IOCTL parameters:

ENET_MDIO_IOCTL_C22_WRITE 

Write a PHY register using clause-22 frame.

IOCTL parameters:

ENET_MDIO_IOCTL_C45_READ 

Read a PHY register using clause-45 frame.

IOCTL parameters:

ENET_MDIO_IOCTL_C45_WRITE 

Write a PHY register using clause-45 frame.

IOCTL parameters:

MDIO operating mode.

Enumerator
ENET_MDIO_MODE_NORMAL 

Normal mode

ENET_MDIO_MODE_STATE_CHANGE_MON 

State change monitor mode

ENET_MDIO_MODE_MANUAL 

Manual mode (slow GPIO, not used for MDIO PHY operations)


Copyright 2020, Texas Instruments Incorporated