Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
phy.h File Reference

Public APIs for Ethernet PHY drivers. More...

#include <zephyr/types.h>
#include <device.h>
#include <syscalls/phy.h>

Go to the source code of this file.

Data Structures

struct  phy_link_state
 Link state. More...
 

Macros

#define PHY_LINK_IS_FULL_DUPLEX(x)   (x & (BIT(1) | BIT(3)))
 
#define PHY_LINK_IS_SPEED_100M(x)   (x & (BIT(2) | BIT(3)))
 

Typedefs

typedef void(* phy_callback_t) (const struct device *dev, struct phy_link_state *state, void *user_data)
 Define the callback function signature for phy_link_callback_set() function. More...
 

Enumerations

enum  phy_link_speed { LINK_HALF_10BASE_T = BIT(0) , LINK_FULL_10BASE_T = BIT(1) , LINK_HALF_100BASE_T = BIT(2) , LINK_FULL_100BASE_T = BIT(3) }
 Ethernet link speeds. More...
 

Functions

int phy_configure_link (const struct device *dev, enum phy_link_speed speeds)
 Configure PHY link. More...
 
int phy_get_link_state (const struct device *dev, struct phy_link_state *state)
 Get PHY link state. More...
 
int phy_link_callback_set (const struct device *dev, phy_callback_t callback, void *user_data)
 Set link state change callback. More...
 
int phy_read (const struct device *dev, uint16_t reg_addr, uint32_t *value)
 Read PHY registers. More...
 
int phy_write (const struct device *dev, uint16_t reg_addr, uint32_t value)
 Write PHY register. More...
 

Detailed Description

Public APIs for Ethernet PHY drivers.