PHY设备驱动是基于device、driver、bus的连接方式,驱动涉及如下几个重要部分: 总线 - sturct mii_bus (mii stand for media independent interface) 设备 - struct phy_device 驱动 - struct phy_driver。PHY驱动函数驱动功能:
函数名称 功能描述
soft_reset 执行 phy 的软件复位
config_init 在 phy 复位后将 phy 配置为一个既定的状态
probe 创建 phy->priv 并执行类似驱动绑定的过程
suspend/resume 电源管理挂起与恢复功能
config_aneq 修改速率双工模式自协商等配置
aneq_done 驱动自协商的结果
read_status 获取当前的速率双工与自协商配置状态
ack_interrupt 清楚挂起的中断
did_interrupt 检查是否 phy 触发了一个中断信号
config_intr 开启、关闭中断
remove 当驱动被移除时调用的接口
ts_info 请求查询 HW 时间戳状态
hwtstap 设置 phy 的 HW时间戳配置
rxtstamp 在 phy 这一层为 skb 请求一个接收时间戳
txtsamp 在 phy 这一层为 skd 请求一个发送时间戳
set_wol 使能 Wake-on-Lan
get_wol 获取 Wake-on-Lan 状态
read_mmd_indirect 读取 phy MMD 间接寄存器
write_mmd_indirect 写入 phy MMD 间接寄存器