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.

[参考译文] AM3356:AM335x CPSW -在 Linux OS 上启用 DUAL_EMAC 选项

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1207198/am3356-am335x-cpsw---enabling-dual_emac-option-on-linux-os

器件型号:AM3356

1.
我们在9年前的 CPU 上使用 AM3356处理器。
我们的旧 CPU 包含1个使用 rmii1 MAC 和 Micrel PHY 的以太网端口(eth0)。

以下是 eth0端口配置的器件树的相关部分:
&Mac{
pinctrl-names ="默认"、"睡眠";
pinctrl-0 =<&cpsw_default>;
pinctrl-1 =<&cpsw_sleep>
状态="可以";
};


&Davinci_MDIO{
pinctrl-names ="默认"、"睡眠";
pinctrl-0 =<&davinci_mdio_default>;
pinctrl-1 =<&Davinci_MDIO_sleep>
bus_freq =<2500000>;
状态="可以";
};


&cpsw_emac0{
PHY_ID =<&Davinci_MDIO>、<0>;
PHY 模式="RMII";
};
&cpsw_emac1{
PHY_ID =<&Davinci_MDIO>、<1>;
PHY 模式="RMII";
状态="已禁用";
};


cpsw_default 和 cpsw_sleep 节点定义 rmii1 (从器件1)线路引脚多路复用。
eth0 (cpsw_emac0)接口没有问题。

2.
最近、我们设计了一个具有一个额外以太网端口 eth1的新 CPU 板。
我遵循了不同的器件树示例、还参考了 software-dl.ti.com/.../CPSW.html
来获取 DUAL_EMAC 模式的相关信息。

以下是我定义为支持 DUAL_EMAC 模式(2个独立以太网端口)的器件树。
&Mac{
pinctrl-names ="默认"、"睡眠";
pinctrl-0 =<&cpsw_default_cpu2>;
pinctrl-1 =<&cpsw_sleep_cpu2>;
dual_emac;
状态="可以";
};


&Davinci_MDIO{
pinctrl-names ="默认"、"睡眠";
pinctrl-0 =<&davinci_mdio_default>;
pinctrl-1 =<&Davinci_MDIO_sleep>
bus_freq =<2500000>;
状态="可以";
ethphy0:以太网-phy@0{
寄存器=<0>;
};
ethphy1:以太网-phy@1 {
寄存器=<1>;
};
};

&cpsw_emac0{
PHY-Handle =<&ethphy0>;
PHY 模式="RMII";
dual_emac_res_vlan =<1>;
};
&cpsw_emac1{
PHY-Handle =<&ethphy1>;
PHY 模式="RMII";
dual_emac_res_vlan =<2>;
};

cpsw_default _cpu2和 cpsw_sleep_cpU2节点定义 rmii1 (从器件1)和 rmii2 (slave2)线引脚多路复用。
我们使用最新的 TI SDK 8.02软件并将其移植到了巡视 CPU 板中。

旧的 eth0端口工作正常。

在启动期间、我们看到成功检测到第二个"eth1"端口的 PHY、并发出相应的检测消息。

当我们尝试启动 eth1端口(ifconfig eth1 10.100.101.100 netmask 255.255.255.0 up)时,我们从 PHY 驱动程序收到一条故障消息
表示 PHY 软件复位已超时并失败。

在内核配置中、我看到了以下定义的组件:TI_Davinci_MDIO、TI_CPSW、TI_CPSW_SWITCHDEV

我们正在尝试确定问题是与 PHY 连接还是与 Sitara 的 RMII2线路有关。

假设 eth0端口可以正常工作、eth1不能正常工作、我有一些问题:

Q1)以上 Linux 设备树配置和 Linux 内核配置是否足以支持2个独立的以太网端口?
Q2)是否需要在 CPSW 交换机上执行其它操作才能启用第二个从端口(ETH1、RMII2)?
Q3)如何验证 CPSW 从器件2上的 MAC 层(RMII2)是否已启用?

Martin Roth

Motorola Solutions

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

    您好!

    快速扫描 DTS 似乎是正确的。 您能否在单个文件中附加以下内容:

    引导日志

    则使用以下命令:

    ifconfig -a

    ehtool -S eth1

    ethtool eth1

    此致、

    Schuyler 先生

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

    谢谢、我解决了这个问题。 我们使用了 NXP 汽车 PHY、我在 PHY 驱动器中发现了一个问题、当 PHY 配置为在"RMII"模式下运行时、该驱动器无法提供50MHz 时钟。  修复驱动程序和其他重置错误解决了问题。

    再次感谢、

    Martin Roth

    Motorola Solutions