2 yong leave yong_leave 于 2016.04.16 10:00 提问

linux 下怎么访问phy层的硬件(比如dp83640芯片)以及该硬件的驱动程序 10C

am335系列的开发板,网口芯片用的是dp83640,现在整个网络可以运行,但是我想修改dp83640芯片寄存器的内容,以及关于dp83640的驱动程序,该怎么弄,像字符设备我们可以用open函数来打开这个设备,再用write等函数进行操作,但是这个网口芯片没有设备名,只有网络设备节点eth0,我该怎么访问到dp83640呢.以及如何使用驱动里面的函数(比如下面的驱动)?请大神解答。
static struct phy_driver dp83640_driver = {
.phy_id = DP83640_PHY_ID,
.phy_id_mask = 0xfffffff0,
.name = "NatSemi DP83640",
.features = PHY_BASIC_FEATURES,
.flags = 0,
.probe = dp83640_probe,
.remove = dp83640_remove,
.config_aneg = genphy_config_aneg,
.read_status = genphy_read_status,
.hwtstamp = dp83640_hwtstamp,
.rxtstamp = dp83640_rxtstamp,
.txtstamp = dp83640_txtstamp,
.driver = {.owner = THIS_MODULE,}
};


4个回答

yong_leave
yong_leave   2016.04.16 15:49

没明白什么意思,感觉不是同一个问题图片说明

z617490935
z617490935   2016.04.20 10:17

这颗PHY和CPU有两个接口,一个是控制口就是我们常说的MDIO,另一个介质独立接口,就是MII的一类。配置PHY寄存器使用的MDIO,你应该从系统设备中的MDIO总线来入手

drhejw
drhejw   2016.05.16 13:45

调用cpu MDIO接口函数,按照PHY datasheet的寄存器说明配置PHY即可

drhejw
drhejw   2016.05.16 13:47

续:按照手册寄存器说明对PHY进行复位、初始化、模式设置,这样编出来的代码就是所谓“该硬件的驱动程序”了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!