Quantcast
Channel: 数字信号处理器 (DSP) & ARM® 微处理器
Viewing all articles
Browse latest Browse all 21822

帖子: am335x第二路千兆网口不通

$
0
0

        板子上有2路网口,第一路为DP83848 百兆网(RMII接口),第二路为KSZ9031千兆网(RGMII接口),在3.20上已经调试完成,所以硬件上不存在问题,但现在将其移植到3.14版本上,第二路网口一直不能ping通,已经进行的确认和尝试如下:

1.gmii_sel寄存器配置为0xc9,即第一个port使用rmii模式,第二个port使用rgmii模式,使用chip pin clk,无internal delay

2.dts配置如下:

&mac {

        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&cpsw_default>;
        pinctrl-1 = <&cpsw_sleep>;
        dual_emac;

}

&davinci_mdio {

        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&davinci_mdio _default>;
        pinctrl-1 = <&davinci_mdio _sleep>;

}

&cpsw_emac0 {
        phy_id = <&davinci_mdio>, <1>;
        phy-mode = "rmii";
        dual_emac_res_vlan = <3>;
};

&cpsw_emac1 {
        phy_id = <&davinci_mdio>, <2>;
        phy-mode = "rgmii";
        dual_emac_res_vlan = <4>;
};

相应管脚确认已配置

3.根据链接http://processors.wiki.ti.com/index.php/Linux_Core_CPSW_User%27s_Guide#Dual_Standalone_EMAC_mode 配置了内核相关选项

4.内核启动有以下网口信息:

......

[    4.124316] davinci_mdio 4a101000.mdio: phy[1] : device 4a101000.mdio:01, driver unknown 

[    4.171734] davinci_mdio 4a101000.mdio: phy[2] : device 4a101000.mdio:02, driver Micrel KSZ9031 Gigabit PHY 

......

[    11.364246] net eth0 : phy found : id is 0x20005c90

 [    11.534238] net eth1 : phy found : id is 0x221622

...

5.插入网线后,千兆网口均能自动识别插入拔出以及自适应100M/1000M,可以ping自身IP和回环网口,但是ping不通外网

6.http://e2e.ti.com/support/arm/sitara_arm/f/791/t/182794.aspx 根据链接中所描述的配置了KSZ9031的skew参数,没有效果

7.此外,硬件连接上有一个gpio脚接到KSZ9031的rst脚,在代码中有进行以下复位操作:

    gpio_direction_output(64, 0);

    gpio_set_value(64, 1);

    mdelay(10);

    gpio_direction_output(64,0);

    mdelay(10);

    gpio_direction_output(64,1);

-内核版本:3.14.26 

问题:第二路千兆网口不通,暂时不能定位原因,请问现在还可以确认哪些方面


Viewing all articles
Browse latest Browse all 21822

Trending Articles