Hi,大家好
我们的板子是参照BBB画的,MII接口uboot、kernel已经调通,由于硬件资源不足现在需要修改成RMII
SDK版本:ti-processor-sdk-linux-am335x-evm-04.00.00.04
关于晶振连接有如下问题:
1、晶振同时连接到AM335x和LAN8710
晶振工作不正常,rj45指示灯不亮,uboot打印:miiphy_init phy_initCould not get PHY for cpsw: addr 0
2、晶振只连到LAN8710
rj45指示灯亮,ping不通
我们选用的是无源晶振,请问rmii接口 时钟这块应该怎么连接
软件上做了如下修改:
1、引脚mux:static struct module_pin_mux rmii1_pin_mux[] = {
{OFFSET(mdio_clk), MODE(0) | PULLUP_EN}, /* MDIO_CLK */
{OFFSET(mdio_data), MODE(0) | RXACTIVE | PULLUP_EN}, /* MDIO_DATA */
{OFFSET(mii1_crs), MODE(1) | RXACTIVE}, /* MII1_CRS */
{OFFSET(mii1_rxerr), MODE(1) | RXACTIVE}, /* MII1_RXERR */
{OFFSET(mii1_txen), MODE(1)}, /* MII1_TXEN */
{OFFSET(mii1_txd1), MODE(1)}, /* MII1_TXD1 */
{OFFSET(mii1_txd0), MODE(1)}, /* MII1_TXD0 */
{OFFSET(mii1_rxd1), MODE(1) | RXACTIVE}, /* MII1_RXD1 */
{OFFSET(mii1_rxd0), MODE(1) | RXACTIVE}, /* MII1_RXD0 */
{OFFSET(rmii1_refclk), MODE(0) | RXACTIVE}, /* RMII1_REFCLK */
{-1},
};
2、rmiimode设置:
writel(RMII_MODE_ENABLE | RMII_CHIPCKL_ENABLE, &cdev->miisel);
cpsw_slaves[0].phy_if = PHY_INTERFACE_MODE_RMII;
cpsw_slaves[1].phy_if = PHY_INTERFACE_MODE_RMII;
硬件上我们做了如下修改:
使用50MHZ外部晶振,修改CRS_DV连线
Shine:
需要外接晶振,接PHY就可以了,对晶振的要求是小于或等于50ppm,请看下面errata的说明Advisory 1.0.16。
www.ti.com/…/sprz360i.pdfam335x上只要设置对的clock和pinmux以及GMII_SEL的模式选择就可以了,看一下PHY的硬件有没有问题,有没有电阻虚焊或焊错。
wolf war:
回复 Shine:
你好,你的意思是,我们的无源晶振只要接PHY就好am335x 这端配置GMII_SEL、pinmux我知道,clock是指什么,应该怎么配置
Shine:
回复 wolf war:
clock是指时钟,无源晶振和AM335x, PHY都接啊,我的意思是PHY的时钟不能由AM335x提供,得由外部晶振提供。
wolf war:
回复 Shine:
嗯,我们现在的问题是,无源晶振接了AM335x 和PHY之后,无源晶振没有起振,断开AM335x只接PHY无源晶振就正常了工作了无源晶振 与PHY和AM335x应该怎么连接
yongqing wang:
回复 wolf war:
接了AM335X后晶振的电压信号正常吗
TI中文支持网


