Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Public APIs for Ethernet PHY drivers. More...
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) | BIT(5))) |
Check if phy link is full duplex. | |
#define | PHY_LINK_IS_SPEED_1000M(x) (x & (BIT(4) | BIT(5))) |
Check if phy link speed is 1 Gbit/sec. | |
#define | PHY_LINK_IS_SPEED_100M(x) (x & (BIT(2) | BIT(3))) |
Check if phy link speed is 100 Mbit/sec. | |
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. | |
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) , LINK_HALF_1000BASE_T = BIT(4) , LINK_FULL_1000BASE_T = BIT(5) } |
Ethernet link speeds. More... | |
Functions | |
static int | phy_configure_link (const struct device *dev, enum phy_link_speed speeds) |
Configure PHY link. | |
static int | phy_get_link_state (const struct device *dev, struct phy_link_state *state) |
Get PHY link state. | |
static int | phy_link_callback_set (const struct device *dev, phy_callback_t callback, void *user_data) |
Set link state change callback. | |
static int | phy_read (const struct device *dev, uint16_t reg_addr, uint32_t *value) |
Read PHY registers. | |
static int | phy_write (const struct device *dev, uint16_t reg_addr, uint32_t value) |
Write PHY register. | |
Public APIs for Ethernet PHY drivers.