实现phy device处理相关的接口config_init、config_aneg、read_status、ack_interrupt、config_intr、did_interrupt、match_phy_device、ts_info、hwtstamp、rxtstamp、txtstamp、set_wol、get_wol
其中config_init主要是对phy device进行一些初始化配置;
config_aneg、read_status主要用于设置phy device的自适应机制已经获取phy的状态(主要用于获取适配速率、双工模式等),一般这两个接口直接使用genphy_config_aneg、genphy_read_status即可,触发该phy device有特殊的定义
ack_interrupt、config_intr、did_interrupt主要用于phy device的link up/down相关的中断处理,这个与具体的phy device有关
针对ts_info、hwtstamp、rxtstamp、txtstamp、set_wol、get_wol主要是时间戳相关的处理,大多数phy device均不需实现这几个接口。
phy_read和phy_write定义在linux-4.9.225\include\linux\phy.h中
mdiobus_read和mdiobus_write定义在linux-4.9.225\drivers\net\phy\mdio_bus.c
总线注册的入口函数phy_device.c
总线注册函数mdio_bus.c
phy_init函数中不仅注册了mdio_bus总线,还注册了一个通用的PHY驱动作为缺省的内核PHY驱动
PHY设备有多种不同的型号phy.h
以太网MII接口类型大全-MII、RMII、SMII、GMII、RGMII、SGMII、XGMII、XAUI、RXAUI
SGMII(高速模拟信号)接口支持10/100/1000M自适应
phy驱动
最新推荐文章于 2024-06-19 11:10:31 发布