NXP MCU 技术论坛
直播中

h1654155275.5753

7年用户 1082经验值
私信 关注
[问答]

i.MX8dxl eqos以太网固定链接,无法重置dma怎么解决?

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 initialization 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;
    };
};

更多回帖

发帖
×
20
完善资料,
赚取积分