o/
我们正在尝试使用lf-5.15.5-1.0.0在自定义 i.MX8dxl 板上启用第二个网络端口 (ENET1) 。
然而,当我们尝试打开一个链接时,我们在控制台上遇到了一些模糊的错误消息:
root@2a473698774a:~# ip link set dev eth0 up
[ 166.341902] imx-dwmac 5b050000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0
[ 167.355265] imx-dwmac 5b050000.ethernet: Failed to reset the dma
[ 167.361354] imx-dwmac 5b050000.ethernet eth0: stmmac_hw_setup: DMA engine ini
tialization failed
[ 167.370371] imx-dwmac 5b050000.ethernet eth0: stmmac_open: Hw setup failed
RTNETLINK answers: Connection timed out
我注意到许多关于 i.MX8M Plus 上类似错误的问题——但它们(可能)不适用于我们的案例,因为我们想使用 rgmii 直接连接到 SJA1110a 交换机,而中间没有专用的 phy。
我们的
电路板与 EVK 有很多共同之处,例如,我们可以启动 imx8dxl-evk.dtb 并尝试启用 eqos 接口(在将 phy 替换为 dts 中的固定链接之后)——但仍然会触发相同的错误。
因此,下面是我们设备树的相关部分供参考,其中包括 imx8dxl.dtsi 在其基础上:
&iomuxc {
pinctrl_eqos: eqosgrp {
fsl,pins = <
/* MDIO to Switch */
IMX8DXL_ENET0_MDC_CONN_EQOS_MDC 0x06000020
IMX8DXL_ENET0_MDIO_CONN_EQOS_MDIO 0x06000020
/* RGMII to Switch */
IMX8DXL_ENET1_RGMII_TX_CTL_CONN_EQOS_RGMII_TX_CTL 0x06000020
IMX8DXL_ENET1_RGMII_TXC_CONN_EQOS_RGMII_TXC 0x06000020
IMX8DXL_ENET1_RGMII_TXD0_CONN_EQOS_RGMII_TXD0 0x06000020
IMX8DXL_ENET1_RGMII_TXD1_CONN_EQOS_RGMII_TXD1 0x06000020
IMX8DXL_ENET1_RGMII_TXD2_CONN_EQOS_RGMII_TXD2 0x06000020
IMX8DXL_ENET1_RGMII_TXD3_CONN_EQOS_RGMII_TXD3 0x06000020
IMX8DXL_ENET1_RGMII_RXC_CONN_EQOS_RGMII_RXC 0x06000020
IMX8DXL_ENET1_RGMII_RX_CTL_CONN_EQOS_RGMII_RX_CTL 0x06000020
IMX8DXL_ENET1_RGMII_RXD0_CONN_EQOS_RGMII_RXD0 0x06000020
IMX8DXL_ENET1_RGMII_RXD1_CONN_EQOS_RGMII_RXD1 0x06000020
IMX8DXL_ENET1_RGMII_RXD2_CONN_EQOS_RGMII_RXD2 0x06000020
IMX8DXL_ENET1_RGMII_RXD3_CONN_EQOS_RGMII_RXD3 0x06000020
>;
};
};
&eqos {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eqos>;
phy-mode = "rgmii-id";
status = "okay";
fixed-link {
speed = <1000>;
full-duplex;
};
};