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

am335x 双网口 rmii网络不通

TI工程师,您好:

    我们使用am3352 CPU做了一个双网口配置,结构如下:

             3352的port1通过RMII接口接到了phy(IP101GR)上,port2通过mii接到了switch(KSZ8873)上。

   硬件回来后测试发现:port2可以正常通信(通过switch引出来的两个网口均正常),但是port1网口不通。

   

    我做了一个测试:以前的一个硬件(只有一个网口,335x的port1通过mii接口接到外部phy)网口工作正常,我在这个内核基础上仅仅修改了pinMux和mac模式选择寄存器的值;然后在最新的硬件上测试,发现网口还是不通。修改内容如下:

       1. pinmux:

原硬件mii接口pinmux:

MUX_VAL(CONTROL_PADCONF_MII1_COL, (IEN | PD | MODE0 )) /* mii1-col */
MUX_VAL(CONTROL_PADCONF_MII1_CRS, (IEN | PD | MODE0 )) /* mii1_crs */
MUX_VAL(CONTROL_PADCONF_MII1_RX_ER, (IEN | PD | MODE0 )) /* mii1_rx_er */
MUX_VAL(CONTROL_PADCONF_MII1_TX_EN, (IDIS | PD | MODE0 )) /* mii1_tx_en */
MUX_VAL(CONTROL_PADCONF_MII1_RX_DV, (IEN | PD | MODE0 )) /* mii1_rx_dv */
MUX_VAL(CONTROL_PADCONF_MII1_TXD3, (IDIS | PD | MODE0 )) /* mii1_td3 */
MUX_VAL(CONTROL_PADCONF_MII1_TXD2, (IDIS | PD | MODE0 )) /* mii1_td2 */
MUX_VAL(CONTROL_PADCONF_MII1_TXD1, (IDIS | PD | MODE0 )) /* mii1_td1 */
MUX_VAL(CONTROL_PADCONF_MII1_TXD0, (IDIS | PD | MODE0 )) /* mii1_td0 */
MUX_VAL(CONTROL_PADCONF_MII1_TX_CLK, (IEN | PD | MODE0 )) /* mii1_tclk */
MUX_VAL(CONTROL_PADCONF_MII1_RX_CLK, (IEN | PD | MODE0 )) /* mii1_rclk */
MUX_VAL(CONTROL_PADCONF_MII1_RXD3, (IEN | PD | MODE0 )) /* mii1_rd3 */
MUX_VAL(CONTROL_PADCONF_MII1_RXD2, (IEN | PD | MODE0 )) /* mii1_rd2 */
MUX_VAL(CONTROL_PADCONF_MII1_RXD1, (IEN | PD | MODE0 )) /* mii1_rd1 */
MUX_VAL(CONTROL_PADCONF_MII1_RXD0, (IEN | PD | MODE0 )) /* mii1_rd0 */
MUX_VAL(CONTROL_PADCONF_RMII1_REF_CLK, (IEN | PU | MODE7 )) /* 7-gpio0[29],ETH_IRQ */

修改为rmii接口:

MUX_VAL(CONTROL_PADCONF_MII1_CRS, (IEN | MODE1 )) /* mii1_crs, 1-RMII1_CRS_DV */
MUX_VAL(CONTROL_PADCONF_MII1_RX_ER, (IEN | MODE1 )) /* mii1_rx_er, 1-RMII1_RXERR */
MUX_VAL(CONTROL_PADCONF_MII1_TX_EN, (IDIS | MODE1 )) /* mii1_tx_en, 1-RMII1_TXEN */
MUX_VAL(CONTROL_PADCONF_MII1_TXD1, (IDIS | MODE1 )) /* mii1_td1, 1-RMII1_TXD1 */
MUX_VAL(CONTROL_PADCONF_MII1_TXD0, (IDIS | MODE1 )) /* mii1_td0, 1-RMII1_TXD0 */
MUX_VAL(CONTROL_PADCONF_MII1_RXD1, (IEN | MODE1 )) /* mii1_rd1, 1-RMII1_RXD1 */
MUX_VAL(CONTROL_PADCONF_MII1_RXD0, (IEN | MODE1 )) /* mii1_rd0, 1-rmii1_rxd0 */
MUX_VAL(CONTROL_PADCONF_RMII1_REF_CLK, (IEN | MODE0 )) /*rmii1_refclk, 7-gpio0[29] */

   2.修改MAC模式选择寄存器值:

将0x44e10650寄存器值由(MII_MODE_ENABLE – 0x0 )改为((GMII1_SEL_RMII | RMII1_IO_CLK_EN) – 0x1 | (BIT6)), 值为0x00000041。

请注意:我们rmii接口的50MHz的ref clokc是由外部的有源晶振供给的。

     想请教一下:

    除了pinmux和模式选择寄存器外,还需要修改其它什么地方吗?

问题较急,盼回复,谢谢!

yu yan3:

我这边正好是反的!Port1 同,port2不通!

可以共享下软件测试一下吗?

也是用KSZ8873

Huijie Yang:

回复 yu yan3:

1. 我的是port1接IP101——不通; port2接KSZ8873——通。   你的也是这样的配置?

2. 我跑的系统是vxWorks,你跑的什么系统啊?

yu yan3:

回复 Huijie Yang:

RMII+MII

linux啊!

Huijie Yang:

回复 yu yan3:

那没法共享了

你的是mii不通还是rmii不通?   

yu yan3:

回复 Huijie Yang:

mii不通!

yu yan3:

回复 Huijie Yang:

请教下通过MII和KSZ8873通信前需要对8873配置谢什么吗?

KSZ8873部分原理图可以分享下吗?

感谢!

DachuanLiu:

回复 yu yan3:

8873在外部上下拉配置正确的前提下上电即可当做普通switch使用,不用配置

原理图不能外发,参考原厂的开发板电路即可

 

呼叫steven~~~

yu yan3:

回复 DachuanLiu:

请教下接到KSZ8873的28脚用于配置PHY或MAC模式的引脚有接上拉电阻吗?

非常感谢!

赞(0)
未经允许不得转载:TI中文支持网 » am335x 双网口 rmii网络不通
分享到: 更多 (0)