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,}
};
调用cpu MDIO接口函数,按照PHY datasheet的寄存器说明配置PHY即可
续:按照手册寄存器说明对PHY进行复位、初始化、模式设置,这样编出来的代码就是所谓“该硬件的驱动程序”了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。