我们有一个嵌入板,以太网设备直接连接到交换机,中间没有物理层,为了使事情更复杂,以太网设备的mdio总线连接到交换机的mdio进行控制。
我已经设法使用固定的mdio/phy驱动程序来启用以太网,这是通过将交换机的默认配置与固定的phy相匹配来实现的。
我现在如何连接到mdio总线来改变交换机设置?由于以太网设备的附加phy是由固定phy填充的,我现在如何将真实的的mdio总线连接到系统上,以便我可以配置它?似乎没有直接的用户空间接口到mdio总线。我是否创建了一个假的以太网设备,其唯一目的是访问mdio总线,或者我是否以某种方式将其连接到以太网设备,然后将有两个mdio总线连接?
PS:看起来物理MDIO总线驱动程序找到了开关,但是我怎么和它对话呢?
3条答案
按热度按时间zhte4eai1#
这个补丁允许我读写系统中检测到的mdio设备中的所有寄存器。
它扩展了sysfs接口,每个mdio设备可以包含32个寄存器地址,由于mdio设备不是phy,它们不遵循phy标准,所以我不得不破解phy检测以允许所有设备出现:
希望这对其他人有帮助。
nkoocmlb2#
你可以根据你的物理ID写伪物理驱动程序。你可以通过阅读物理寄存器得到物理ID。这个驱动程序将给予你处理到mdio总线的开关连接到。这是我的驱动程序,在我的情况下,i.MX6连接到马尔维尔88E6065交换机。然后我导出了sysfs接口,我能够通过sysfs接口从用户空间配置交换机。希望这能对人有所帮助。
6pp0gazn3#
你可以使用下面的补丁在新的内核版本中扩展sysfs,它干净地修补了5.4.72。