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

AM335x LAN8710 MII改RMII

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.pdf

am335x上只要设置对的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后晶振的电压信号正常吗

赞(0)
未经允许不得转载:TI中文支持网 » AM335x LAN8710 MII改RMII
分享到: 更多 (0)