打印
[i.MX]

imx6dl的enet phy

[复制链接]
4604|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luozhh1018|  楼主 | 2014-3-24 11:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我一个自己layout的板子上(使用imx6dl)使用了IP101A 的phy,它是GMII接口的,我已经在driver/net/phy中添加了相应的驱动,但是目前还是不能工作,提示我:
eth0: no PHY, assuming direct connection to switch
PHY 0:00 not found
eth0: could not attach to PHY

在arch/arm/mach-mx6/board_xxxx.c中的fec_data中的init的函数是实现什么样的功能,是需要怎么修改呢?(我的IO定义已经修改)

static int mx6_fec_phy_init(struct phy_device *phydev)
{
        unsigned short val;

        /* Ar8031 phy SmartEEE feature cause link status generates glitch,
         * which cause ethernet link down/up issue, so disable SmartEEE
         */
        phy_write(phydev, 0xd, 0x3);
        phy_write(phydev, 0xe, 0x805d);
        phy_write(phydev, 0xd, 0x4003);
        val = phy_read(phydev, 0xe);
        val &= ~(0x1 << 8);
        phy_write(phydev, 0xe, val);

        /* To enable AR8031 ouput a 125MHz clk from CLK_25M */
        phy_write(phydev, 0xd, 0x7);
        phy_write(phydev, 0xe, 0x8016);
        phy_write(phydev, 0xd, 0x4007);
        val = phy_read(phydev, 0xe);

        val &= 0xffe3;
        val |= 0x18;
        phy_write(phydev, 0xe, val);

        /* Introduce tx clock delay */
        phy_write(phydev, 0x1d, 0x5);
        val = phy_read(phydev, 0x1e);
        val |= 0x0100;
        phy_write(phydev, 0x1e, val);

        /*check phy power*/
        val = phy_read(phydev, 0x0);

        if (val & BMCR_PDOWN)
       return 0;
}

static struct fec_platform_data fec_data __initdata = {
        .init = mx6_fec_phy_init,
        .phy = PHY_INTERFACE_MODE_GMII,
        //.gpio_irq = MX6_ENET_IRQ,
};


u-boot中又需要作些什么配置??

相关帖子

沙发
luozhh1018|  楼主 | 2014-3-24 11:47 | 只看该作者
sorrry,现在上一下IP101A 的datasheet

IP101ALF.pdf

351.31 KB

使用特权

评论回复
板凳
FSL_TICS_Rita| | 2014-3-25 14:46 | 只看该作者
楼主你好,关于这个问题建议你到飞思卡尔官网提交一个技术服务请求,链接为:http://www.freescale.com/

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

19

帖子

1

粉丝