开发者社区> 问答> 正文

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

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,}
};

展开
收起
杨冬芳 2016-07-18 17:54:33 5322 0
1 条回答
写回答
取消 提交回答
  • IT从业

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

    2019-07-17 19:58:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载