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

AM3354 RGMII的问题

我们是AM335x+KSZ9031RNX的PHY,是RGMII链接,现在有两个问题:

1.与PC链接的时候自适应经常会识别成百兆

2.自适应成百兆以后,通信一段时间之后,CPDMA就不发送了,DMASTATUS寄存器的TX_HOST_ERR_CODE位是0x0010这个错误,这个错误大概是什么问题,可以这么解决?

bin lu:

追加一个关于RGMII的问题,软件手册上说在RGMII模式下,CONTROL_GMII_SEL寄存器的bit4,5是必须设成1的,因为RGMII不支持内部延迟。但是starterware里面提供的网络样例里面这个寄存器bit4,5上设的是0,两者是矛盾的,请问下哪种是对的?

Steven Liu1:

回复 bin lu:

用的是什么操作系统?Linux吗?

网络这块,我之前没怎么用过starterware,但是对于LInux来说,确实是有这个delay的配置。而且在代码的部分还会在PHY端通过寄存器的配置,来加入该delay。

以SDK6.0的uboot代码为例:EZSDK_06_00_00_00/board-support/u-boot-2013.01.01-psp06.00.00.00/board/ti/am335x/board.c

863 /*864 *865 * CPSW RGMII Internal Delay Mode is not supported in all PVT866 * operating points. So we must set the TX clock delay feature867 * in the AR8051 PHY. Since we only support a single ethernet868 * device in U-Boot, we only do this for the first instance.869 */870 #define AR8051_PHY_DEBUG_ADDR_REG 0x1d871 #define AR8051_PHY_DEBUG_DATA_REG 0x1e872 #define AR8051_DEBUG_RGMII_CLK_DLY_REG 0x5873 #define AR8051_RGMII_TX_CLK_DLY 0x100874875 // if (board_is_evm_sk() || board_is_gp_evm()) {876 const char *devname;877 devname = miiphy_get_current_dev();878879 miiphy_write(devname, 0x0, AR8051_PHY_DEBUG_ADDR_REG,880 AR8051_DEBUG_RGMII_CLK_DLY_REG);881 miiphy_write(devname, 0x0, AR8051_PHY_DEBUG_DATA_REG,882 AR8051_RGMII_TX_CLK_DLY);

赞(0)
未经允许不得转载:TI中文支持网 » AM3354 RGMII的问题
分享到: 更多 (0)