TI中文支持网
TI专业的中文技术问题搜集分享网站

基于bbb内核、文件系统,AM335x eth1如何开启?

大家好,想请教一个问题,我们做了一个板子带有两个网口,eth0是LAN8710A。eth1是RTL8368MB,使用RGMII。

由于开始用的内核和文件系统是从BBB上移植过来的,所以只能支持一个网口(eth0 LAN8710A正常工作)。

而RTL8368MB,上电读取EEPROM配置,GMAC2已为RGMII,使用示波器测量,AM335x RGMII2 RCLK已经是125MHz了。

问题:

1、我应该如何配置AM335x eth1为RGMII,并且开启?我搜索资料,都是说配置设备树,修改cpsw_emac1为rgmii-txid了。我修改、编译、替换后,测量AM335x RGMII2 TCLK,并没有输出125MHz。是否配置成功后,AM335x的 RGMII2 TCLK 有125MHz输出?

2、RTL8368MB是上电读取EEPROM进行配置,没有经过AM335x配置、读取(没有使用MDIO接口)。而设备树配置的,是使用MDIO管理的,并且定义了PHY 地址是多少。我问题是,如果不使用MDIO管理,AM335x和RTL8368MB都打开了RGMII接口了,就可以数据互通了吗?Linux就可以识别到eth1了? 还是说,一定需要MDIO接口进行管理? 如何才可以ifup eth1?

Shine:

请参考下面的wiki网站关于如何使能双网口,两个网口不能在同一网段。
processors.wiki.ti.com/…/Linux_Core_CPSW_User's_Guide

jack chen51:

回复 Shine:

抱歉,这个网站我都看了不下10次了。

比如,按照TI给的那个AM335x CPSW (Ethernet) Driver's Guide却找不到[*]TI CPSW Switch as Dual EMAC这个选项。

这个文档对应的内核版本比较旧吧?

yongqing wang:

回复 jack chen51:

如果你配置成功AM335x RGMII2 TCLK应该有信号输出的,你目前是么是么内核版本?你可以试试4.4.12的内核版本。

jack chen51:

回复 yongqing wang:

kernel 4.9.147,从 github.com/…/4.9 下载的

基于bb.org_defconfig,我看 make menuconfig ,相关的 SMSC PHYs、TI CPSW Switch Support 选项已经选上了。

而设备树,使用 am335x-boneblack.dts am335x-bone-common.dtsi,也是配置好双网口,使能了 dual_emac=<1> ,phy-mode = "rgmii-txid"。文件见附件。

配置步骤是:make distcleanmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bb.org_defconfig

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j4

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x-boneblack.dtb

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules

安装内核模块的命令,直接安装到SD卡中:
$ sudo make ARCH=arm  modules_install INSTALL_MOD_PATH=/media/jabez/rootfs

替换内核。

而看启动日志,发现cpsw驱动,只probe了一次。感觉 eth1 没有调用一样,就算是调用失败了,也应该会有显示啊。

jack chen51:

回复 yongqing wang:

内核配置:bb.org_defconfig

设备树:am335x-boneblack.dts、am335x-bone-common.dtsi

无法直接上传此格式的文件,我压缩了,麻烦你了。

见附件

配置文件及设备树.rar

yongqing wang:

回复 jack chen51:

感谢分享

赞(0)
未经允许不得转载:TI中文支持网 » 基于bbb内核、文件系统,AM335x eth1如何开启?
分享到: 更多 (0)