This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM3352:关于以太网 PHY DP83848T 移植问题

Guru**** 1630180 points
Other Parts Discussed in Thread: DP83848T, DP83848C
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/764001/linux-am3352-about-ethernet-phy-dp83848t-porting-issue

器件型号:AM3352
主题中讨论的其他器件:DP83848TDP83848C

工具/软件:Linux

你(们)好,先生  

我们使用最新的 SDK 为 DP83848T 执行驱动程序移植 、并在下面找到错误消息。

[1.196993] libphy:固定 MDIO 总线:探测
[1.270905] DaVinci_MDIO 4a101000.MDIO:达芬奇 MDIO 修订版本1.6、总线频率1000000
[1.278614] DaVinci_MDIO 4a101000.MDIO:检测到的 phy 掩码 fffffd
[1.286301] libphy: 4a101000.mdio:探测
[1.290353] DaVinci_MDIO 4a101000.MDIO:PHY[1]:器件4a101000.MDIO:01、驱动器 NS DP83848C 10/100Mbps PHY
[1.301595] cpsw 4a100000.ethernet:无从器件[1] phy_id、phy-handle 或固定链路属性
[1.309923] cpsw 4a100000.以太网:检测到的 MACID = D4:36:39:15:fc:D5
[1.316823] cpsw 4a100000.ethernet:初始化 cpsw ale 版本1.4
[1.323296] cpsw 4a100000.以太网:ALE 表大小1024
[1.328605] cpsw 4a100000.以太网:CPT:溢出检查周期500 (jiffies)
[1.337997] i2c /dev/entries 驱动程序

[21.539864] Net eth0:正在初始化 cpsw 版本1.12 (0)
[ 21.731930] NS DP83848C 10/100Mbps PHY 4a101000.MDIO:01:连接的 PHY 驱动器[NS DP83848C 10/100Mbps PHY](MII_BUS:phy_addr=4a101000.MDIO:01、IRQ=P)
[21.917175] Tom 调试:reg 为0xc5、line 为59
[21.968893] libphy:找不到 PHY
[22.030256] net eth0:PHY ""在从站1上找不到、错误-19
[22.119341] IPv6:ADDRCONF (NETDEV_UP):eth0:链路未就绪

请说明 PHY 为什么不提供资金?

BR

Yimin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否共享正在使用的 DTS 文件? 它是否有任何修改?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好,先生

    我们使用了 AM335x-evmsk.dts 并修改了以下部分

    cpsw_default:cpsw_default{
    pinctrl-single、pins =<
    /*从属设备1 */
    AM33XX_IOPAD (0x918、PIN_INPUT 下拉| MUX_MODE7)/* rmii1_int *
    AM33XX_IOPAD (0x90c、PIN_INPUT_PULLUGDOWN | MUX_MODE1)/* rmii1_crs_dv *
    AM33XX_IOPAD (0x910、PIN_INPUT 下拉| MUX_MODE1)/* rmii1_rxer *
    AM33XX_IOPAD (0x914、PIN_OUTPUT 下拉| MUX_MODE1)/* rmii1_txen *
    AM33XX_IOPAD (0x924、PIN_OUTPUT 下拉| MUX_MODE1)/* rmii1_TD1 *
    AM33XX_IOPAD (0x928、PIN_OUTPUT 下拉| MUX_MODE1)/* rmii1_td0 *
    AM33XX_IOPAD (0x93c、PIN_INPUT 下拉| MUX_MODE1)/* rmii1_RD1 *
    AM33XX_IOPAD (0x940、PIN_INPUT_PULLUGDOWN | MUX_MODE1)/* rmii1_rd0 *
    AM33XX_IOPAD (0x944、PIN_INPUT_PULLDOWN | MUX_MODE0)/* rmii1_REFCLK *

    >;
    };

    DaVinci_MDIO_DEFAULT:DaVinci_MDIO_DEFAULT{
    pinctrl-single、pins =<
    /* MDIO */
    AM33XX_IOPAD (0x948、PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)/* MDIO_DATA.MDIO_DATA *
    AM33XX_IOPAD (0x94c、PIN_OUTPUT 上拉| MUX_MODE0)/* MDIO_clk.MDIO_clk *
    >;
    };

    Mac{(&M)
    pinctrl-names ="default"、"sleep";
    pinctrl-0 =<&cpsw_default>;
    pinctrl-1 =<&cpsw_sleep>;
    //dual_emac =<1>;
    状态="正常";
    };

    DaVinci_MDIO{
    pinctrl-names ="default"、"sleep";
    pinctrl-0 =<&Davinc_MDIO_default>;
    pinctrl-1 =<&Davinc_MDIO_SLEEP>;
    状态="正常";
    };

    cpsw_emac0{&cpsw_emac0}
    PHY_ID =<&Davinci_MDIO>、<1>;
    PHY-MODE ="RMII";
    };

    phy_SEL{&
    RMII-时钟-外部;
    };

    请提供建议

    BR
    Yimin
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yimin、

    您能否按如下方式添加(确保突出显示的条目如下所示)、这是从适用于 AM335x 的 EVM DTS 中获取的:

    Mac{(&M)

    pinctrl-names ="default"、"sleep";

    pinctrl-0 =<&cpsw_default>;

    pinctrl-1 =<&cpsw_sleep>;

    状态="正常";

    从器件=<1>;

    };

    DaVinci_MDIO{

    pinctrl-names ="default"、"sleep";

    pinctrl-0 =<&Davinc_MDIO_default>;

    pinctrl-1 =<&Davinc_MDIO_SLEEP>;

    状态="正常";

    ethphy0:以太网 phy@0{

    reg =<0>;

    };

    };

    cpsw_emac0{&cpsw_emac0}

    PHY-Handle =<&ethphy0>

    PHY-MODE ="RMII";

    };

    或者、根据连接到哪个 EMAC 地址、您也可以在下面尝试。

    Mac{(&M)

    pinctrl-names ="default"、"sleep";

    pinctrl-0 =<&cpsw_default>;

    pinctrl-1 =<&cpsw_sleep>;

    状态="正常";

    从器件=<1>;

    };

    DaVinci_MDIO{

    pinctrl-names ="default"、"sleep";

    pinctrl-0 =<&Davinc_MDIO_default>;

    pinctrl-1 =<&Davinc_MDIO_SLEEP>;

    状态="正常";

    ethphy1:以太网 phy@1{

    reg =<1>;

    };

    };

    cpsw_emac0{&cpsw_emac0}

    PHY-Handle =<&ethphy1>

    PHY-MODE ="RMII";

    };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    是否还可以附加完整的引导日志? Ethool eth0显示什么内容?

    此致、
    Schuyler
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    硬件问题已修复

    谢谢。