在Linux网络驱动中,一些以太网MAC可能没有连接一个常见的使用MDIO管理的PHY,例如MAC对MAC、MAC对FPGA等。这种情况下,设备树提供了”fixed-link”绑定方法,其原理是当以太网驱动检测到设备树中存在”fixed-link”后,不会在配置流程中对PHY进行标准的MDIO操作,而是内核为MAC创建一个虚拟的有默认值的PHY设备
“fixed-link”的使用方法是在以太网MAC的设备节点下创建一个”fixed-link”的子节点,并编写以下属性
“speed” (整型 必须存在) 表明连接速率,可选的数值为10、100、1000
“full-duplex” (布尔 可选的) 表明是否使用全双工,如果没有该属性,默认是半双工
“pause” (布尔 可选的) 表明pause帧是否被启用
“asym-pause” (布尔 可选的) 表明是否启用 Asymmetric Pause帧功能
“link-gpios” (gpio-list 可选的) 表明是否可以通过gpio来读取是否link up
例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| ethernet@0 { ... fixed-link { speed = <1000>; full-duplex; }; ... };
ethernet@1 { ... fixed-link { speed = <1000>; pause; link-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>; }; };
|