网卡驱动 PHY id

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:16   1654   0

网卡驱动
首先要理解几个基本概念(....)
BYTE 8-bit
FIFO 先进先出缓存
MAC 媒体访问控制(MAC)位于链路层的底部,基于共享信道的各种网络都有MAC子层.MAC子层可提供广播,组波,点对点通信服务,是无连接的数据报服务
MII MII (Media Independent Interface(介质无关接口);或称为媒体独立接口
RMII 简化媒体独立接口 RMII口是用两根线来传输数据的,   MII口是用4根线来传输数据的,   GMII是用8根线来传输数据的
SMI Serial Management interface 串行管理接口

根据datasheet得到该网卡的PHY ID,目前一般有两个16位寄存器的组合而成。比如此款LAN8710,根据其datasheet第41页的Register2 -PHY Identifier 1【15:0】 default:0007h,Register 3 -PHY Identifier 2【15:10】30h,【9:4】0fh,【3:0】Device Rev.
则可以计算出来PHY ID=0x0007c0fXu,因为后三位不确定因素,故可以通过以下方法做比较:
#define LAN8710_PHY_ID 0x0007c0f0u
#define LAN8710_PHY_ID_MASK 0xfffffff0u
if((id & LAN8710_PHY_ID_MASK) == LAN8710_PHY_ID)
{
printf(STMAC "LAN8710 found/n");
return phyaddr;
}
id为实际读出来的PHY ID值。id的获取代码如下:
unsigned int id1 = stmac_mii_read (phyaddr, MII_PHYSID1);
unsigned int id2 = stmac_mii_read (phyaddr, MII_PHYSID2);
id = (id1 << 16) | (id2);

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP