MPC8313 mii phy支持研究过程

来源:互联网 发布:网络负载均衡技术 编辑:程序博客网 时间:2024/06/10 20:20

现在要使用MPC8313出一产品, MPC8313开发板自带的PHY是一个1G的phy switch和一个1G的phy 网卡,自然各种系统配置都是按这个方式配置的, 现在的需求只需要支持100M就行, 故准备使用175c这个PHY, 支持一个wan口和4个lan, 通过两个MII口连接8313上, 1G phy改为100M phy, 只要就是修改一下在初始化MII口时,将MII的工作模式由SGMII改为MII就行了.

现在的问题是改为MII后只有一个mii口对应的phy可以工作, 另一个一使用ipconfig配置ip就提示:

通过跟踪内核的phy驱动注册过程, 发现内核的mdio驱动已经识别了两个MII口, 已创建
了eth0和eth1, eth1可以使用, 但使用ifconfig配置eth0时, 跟踪出现不能attach的
问题:

继续跟踪发现phy_attach()函数去attach的phy_id是eth1的phy_id.
经研究感觉可能是在设备树中的配置不对,因为在mdio_bus的mdiobus_register()函数中
去读PHY的信息时,只有PHY地址4读到有irq值. 在加dts中修改mdio的配置如下:

这时发现在mdio_bus的mdiobus_register()函数中去读PHY的信息时,在地址3,4都能
读到信息. eth1可以工作, eth0还是attach时的地址不对.
分析发现dts下面的:ethernet@25000的phy-handle=<&phy4> 感觉这个配置应该是和
上面的mdio中的配置应该对应上, 遂改为: phy-handle=<&phy3>, 就是前面在mdio节
新增的配置. 重新编译, 启动板子, 哇卡卡, ifconfig eth0 成功.


PS.设备文件树的配置,一直没找到完成的配置项说明,比较不爽.

 

原创粉丝点击