This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM4378:在自定义 AM437x 硬件上使用双以太网交换以太网接口名称(eth0 &eth1)。

Guru**** 1145030 points
Other Parts Discussed in Thread: AM4372
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1132586/am4378-ethernet-interface-names-eth0-eth1-swapping-on-custom-am437x-hardware-with-dual-ethernet

器件型号:AM4378
主题中讨论的其他器件:AM4372

您好!


我们正在交换变体板上的以太网接口名称(eth0和 eth1)(电路板配置为双以太网)。 无法使用以下软件选项交换以太网接口名称。

请参阅以下日志和设备树更改。  请帮我们解决问题。

此时、我们只在寻找软件方面的改变。

电路板:基于 AM437X 的定制电路板。
TISDK-PROCESSOR-SDK-LINUX-AM437X-EVM-06.03.00.106
Linux:Linux-4.19.94

现有 DT 片段

Mac{(&M)

  pinctrl-names ="default";

   pinctrl-0 =<&cpsw1_default>、<&cpsw2_default>;

   DUAL_EMAC =<1>;

   状态="正常";

};

cpsw_emac0{&cpsw_emac0}

   PHY_ID =<&Davinci_MDIO>、<0>;

   PHY-MODE ="RMII";

   DUAL_EMAC_res_vlan =<1>;

};

cpsw_emac1{&cpsw_emac1}

   PHY_ID =<&Davinci_MDIO>、<1>;

   PHY-MODE ="RMII";

   DUAL_EMAC_res_vlan =<2>;

};

DaVinci_MDIO{

   pinctrl-names ="default";

   pinctrl-0 =<&Davinc_MDIO_default>;

   状态="正常";

};

phy_SEL{&

   RMII-clock-ext =<1>;

};

cpsw1_default:cpsw1_default{               //对于 EMAC 0
pinctrl-single、pins =<
/*从属设备1 */
AM4372_IOPAD (0x90c、PIN_INPUT | MUX_MODE1)/*(B14) mii1_crs.rmii1_crs_dv *
AM4372_IOPAD (0x910、PIN_INPUT | MUX_MODE1)/*(B13) mii1_Rx_er.rmii1_rxer *
AM4372_IOPAD (0x914、PIN_OUTPUT | MUX_MODE1)/*(A13) mii1_TX_en.rmii1_txen *
AM4372_IOPAD (0x928、PIN_OUTPUT | MUX_MODE1)/*(B15) mii1_txd0.rmii1_txd0 */
AM4372_IOPAD (0x924、PIN_OUTPUT | MUX_MODE1)/*(A14) mii1_txd1.rmii1_txd1 *
AM4372_IOPAD (0x940、PIN_INPUT | MUX_MODE1)/*(F17) mii1_rxd0.rmii1_rxd0 */
AM4372_IOPAD (0x93c、PIN_INPUT | MUX_MODE1)/*(B16) mii1_rxd1.rmii1_rxd1 */
AM4372_IOPAD (0x944、PIN_INPUT | MUX_MODE0)/*(A16) rmii1_ref_clk.rmii1_REFCLK *
>;
};

cpsw2_default:cpsw2_default{             //对于 EMAC1
pinctrl-single、pins =<  
/*从器件2*/
AM4372_IOPAD (0x864、PIN_INPUT | MUX_MODE8)/*(B4) GPMC_A9.rmii2_crs_dv *
AM4372_IOPAD (0x874、PIN_INPUT | MUX_MODE3)/*(B3) GPMC_WPN.rmii2_rxer *
AM4372_IOPAD (0x840、PIN_OUTPUT | MUX_MODE3)/*(C3) GPMC_a0.rmii2_txen *
AM4372_IOPAD (0x854、PIN_OUTPUT | MUX_MODE3)/*(E7) GPMC_A5.rmii2_txd0 */
AM4372_IOPAD (0x850、PIN_OUTPUT | MUX_MODE3)/*(D7) GPMC_A4.rmii2_txd1 */
AM4372_IOPAD (0x86c、PIN_INPUT | MUX_MODE3)/*(D8) GPMC_A11.rmii2_rxd0 *
AM4372_IOPAD (0x868、PIN_INPUT | MUX_MODE3)/*(G8) GPMC_A10.rmii2_rxd1 *
AM4372_IOPAD (0x908、PIN_INPUT | MUX_MODE1)/*(D16) mii1_col.rmii2_REFCLK *
>;
};

SW 选项: 当使用 emac1->dual_emac_res_vlan =<1>设置双 EMAC 配置时;和 emac0-->dual_emac_res_vlan =<2>未 交换接口时。

具有 SW_OPTION 的 DT_片段

cpsw_emac0{&cpsw_emac0}

   PHY_ID =<&Davinci_MDIO>、<0>;

   PHY-MODE ="RMII";

   DUAL_EMAC_res_vlan =<2>;

};

cpsw_emac1{&cpsw_emac1}

   PHY_ID =<&Davinci_MDIO>、<1>;

   PHY-MODE ="RMII";

   DUAL_EMAC_res_vlan =<1>;

};

LOG_Snippet:

[1.822331]   OF_GET_NAMED_gpio_FLAGS:无法解析节点'/OCP@44000000 /以太网@4a100000/MDIO@4a101000[0]的'set-GPIO'属性

[1.822351]   of_get_named_gpio_FLAGS:无法解析节点'/OCP@44000000 /以太网@4a100000/MDIO@4a101000[0]的'resset-GPIO'属性

[1.916830]   cpsw 4a100000.以太网:检测到的 MACID = 14:42:fc:94:C7:B5

[1.92366]   cpsw 4a100000.ethernet:初始化 cpsw ale 版本1.4

[1.930158]   cpsw 4a100000.以太网:ALE 表大小1024

[1.935462]   cpsw 4a100000.以太网:CPT:溢出检查周期500 (jiffies)

[1.943662]   cpsw 4a100000.以太网:cpsw:检测到的 MACID = 14:42:fc:94:C7:B7

[2.334058]   cputidle: enable-method 属性'ti,am4372'找到操作

[12.557596]  net eth0:正在初始化 cpsw 版本1.15 (0)

[12.676903]  IPv6:ADDRCONF (NETDEV_UP):eth0:链路未就绪

[12.775342]  net eth1:初始化 cpsw 版本1.15 (0)

[12.892682]  IPv6:ADDRCONF (NETDEV_UP):ETH1:链路未就绪。

:  当双 EMAC 配置设置 为 emac1->phyid=0 & emac0->phyid=1时, 接口交换,但以太网活动不会发生,这是我们硬件配置的预期行为。

此致

Sathish

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TI 团队、

    其他意见:

    正如原始 e2e 线程所建议的、交换器件树中端口的顺序应该会反转枚举。

    但是,我也认为,它似乎没有有效地解决这一问题。

    客户在交换枚举顺序方面没有成功、他们需要 TI 以太网专家的帮助或一些有关如何实现此目标的示例。

     

    我是否可以先问(如果自上次星期三起)这仍然是您的问题?

    是的、这对我们来说仍然是一个问题

     

    我还能问您使用的是哪种 Linux 版本和 TI [AM437x] SDK 版本吗?

    电路板:基于 AM437X 的定制电路板。
    TISDK-PROCESSOR-SDK-LINUX-AM437X-EVM-06.03.00.106
    Linux:Linux-4.19.94

    Ty、

    是的