你好、
我想在我们的载板上使用 imx8M Nano SOM 来操作 KSZ9131RNXi。phy 和 fec mac 的驱动程序加载正常,但是我的通信速度确实只有 10Mbits,而且只有在操作系统启动后才输入以下内容:
$ethtool -s eth0 speed 10 duplex full
PHY 采用 RGMII 模式连接,速度为 1000Mbit/S。
如何解决此问题以在启动后不使用键入此命令来操作 phy?以及为什么 100Mbits 和 1000Mbits 不起作用?
我将非常感谢你们的贡献。
您好@Elias_M,
,感谢您联系恩智浦支持中心!
你是如何在设备树中设置的?
我相信这个问题可以通过正确的设备树配置来解决。
你能分享你的设备树文件以便我查看吗?
如果无法共享,可以参考以下链接提供的示例
致以最崇高的敬意,
Chavira
你好,@ Chavira、
感谢您的支持。
以下是 Linux 中的 fec 设备树的描述:
&fec1 {
fsl、magic-packet;
pinctrl-names ="默认" ;
pinctrl-0 =<& pinctrl_fec1_gpio> 、
<&pinctrl_fec1> ;
phy-mode ="rgmii-id" ;
phy-handle =<& ethphy0> ;
phy-supply =<& reg_3v3_eth0> ;
status ="okay" ;
mdio {
#address-cells =<1> ;
#size-cells =<0> ;
ethphy0:ethernet-phy@0 {
兼容 ="ethernet-phy-ieee802.3-c22" ;
reg =<0> ;
中断父级 =<& gpio5> ;
中断 =<2 IRQ_TYPE_LEVEL_LOW> ;
micrel,led-mode=<1> ;
};
};
};
reg_3v3_eth0: 调节器-ethphy {
兼容 ="调节器-固定" ;
off-on-delay=<500000> ;
regulator-always-on;
调节器启动;
regulator-min-microvolt =<3300000> ;
regulator-max-microvolt =<3300000> ;
调节器名称 ="3v3_eth0" ;
startup-delay-us =<200000> ;
};
pinctrl_fec1_gpio: fec1gpiogrp {
fsl,pins =<
/* PHY 中断 */
MX8MN_IOMUXC_SAI3_MCLK_GPIO5_IO2 0x19
>;
};
pinctrl_fec1: fec1grp {
fsl,pins =<
MX8MN_IOMUXC_ENET_MDC_ENET1_MDC 0x3
MX8MN_IOMUXC_ENET_MDIO_ENET1_MDIO 0x3
MX8MN_IOMUXC_ENET_TD3_ENET1_RGMII_TD3 0x1f
MX8MN_IOMUXC_ENET_TD2_ENET1_RGMII_TD2 0x1f
MX8MN_IOMUXC_ENET_TD1_ENET1_RGMII_TD1 0x1f
MX8MN_IOMUXC_ENET_TD0_ENET1_RGMII_TD0 0x1f
MX8MN_IOMUXC_ENET_RD3_ENET1_RGMII_RD3 0x91
MX8MN_IOMUXC_ENET_RD2_ENET1_RGMII_RD2 0x91
MX8MN_IOMUXC_ENET_RD1_ENET1_RGMII_RD1 0x91
MX8MN_IOMUXC_ENET_RD0_ENET1_RGMII_RD0 0x91
MX8MN_IOMUXC_ENET_TXC_ENET1_RGMII_TXC 0x1f
MX8MN_IOMUXC_ENET_RXC_ENET1_RGMII_RXC 0x91
MX8MN_IOMUXC_ENET_RX_CTL_ENET1_RGMII_RX_CTL 0x91
MX8MN_IOMUXC_ENET_TX_CTL_ENET1_RGMII_TX_CTL 0x1f
>;
};
嗨 @Elias_M,
为了更好地理解,我需要检查整个设备树文件。
致以最崇高的敬意,
Chavira
你好,@ Chavira、
这些是 uboot v2020.04 和 linux v5.5 的 dts 文件。
如何在 board_phy_config 中添加延迟,还是驱动程序中已经包含了这些延迟?