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.

[参考译文] DP83825I:使用基于 at91 sam9x75eb MPU 的定制电路板移植 DP83825I

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1324450/dp83825i-porting-the-dp83825i-with-a-custom-board-based-on-at91-sam9x75eb-mpu

器件型号:DP83825I

您好!

我正在尝试  根据 at91 sam9x75eb MPU 在定制电路板上使用 u-boot-at91来启动 DP83825I 以太网 phy、我已经按如下方式配置器件树:

=>在 sam9x7.dtsi 文件中,我已经分析了时钟

GMAC:以太网@f802c000{
兼容="微芯片、sam9x7-gem";
寄存器=<0xf802c000 0x1000>
interrupts =<24 IRQ_TYPE_LEVEL_HIGH 3 /*队列0 */
60 IRQ_TYPE_LEVEL_HIGH 3 /*队列1 */
61 IRQ_TYPE_LEVEL_HIGH 3 /*队列2 */
62 IRQ_TYPE_LEVEL_HIGH 3 /*队列3 */
63 IRQ_TYPE_LEVEL_HIGH 3 /*队列4 */
64 IRQ_TYPE_LEVEL_HIGH 3>;/*队列5 */
Clocks =<&PMC PMC_TYPE_EXTERM 24>、<&PMC PMC_TYPE_PERIOD 24>、<&PMC PMC_TYPE_GCK 24>;
时钟名称="hclk"、"pclk"、"TX_clk";
分配的时钟=<&PMC PMC_TYPE_GCK 24>;
分配的时钟速率=<50000000>;
状态="已禁用";
};

=>在 at91-sam9x75eb.dts 文件中,我按如下所示更改了配置

&GMAC{
PHY 模式="RMII";
#address-Cells =<1>;
#size-cells =<0>;

pinctrl-names ="默认";
pinctrl-0 =<&pinctrl_macb0_RMII>;
魔术包;
状态="可以";

PHY-RESET-GPIO =<&pioC 14 GPIO_ACTIVE_LOW>
PHY-RESET-DURATION =<2>;
pinctrl-assert-gpio =<&pioC 18 gpio_low>;

PHY-Handle =<&ethphy0>;

MDIO{
#address-Cells =<1>;
#size-cells =<0>;

ethphy0:Ethernet-phy@0 {
兼容="以太网-phy-IEEE802.3-C22";
寄存器=<0>;
};
};
};

pinctrl_macb0_RMII:GMAC{
Atmel、引脚=
AT91_PIOC 14 AT91_Periph_GPIO AT91_PINCTRL_PULL_UP /* ETH_RESET */
AT91_PIOC 18 AT91_Periph_GPIO AT91_PINCTRL_PULL_UP /* ETH_PWRDN */
AT91_PIOB 3 AT91_Periph_A AT91_PINCTRL_none /* ETH_CRSDV */
AT91_PIOB 6 AT91_Periph_A AT91_PINCTRL_NONE /* ETH_CLK*/
AT91_PIOB 7 AT91_Periph_A AT91_PINCTRL_none /* ETH_TXEN */

AT91_PIOB 9 AT91_Periph_A AT91_PINCTRL_none /* ETH_MDIO */
AT91_PIOB 10 AT91_Periph_A AT91_PINCTRL_none /* ETH_MDC */
AT91_PIOB 11 AT91_Periph_A AT91_PINCTRL_none /* ETH_RXD0 */
AT91_PIOB 12 AT91_Periph_A AT91_PINCTRL_none /* ETH_RXD1 */
AT91_PIOB 13 AT91_Periph_A AT91_PINCTRL_none /* ETH_TXD0 */
AT91_PIOB 14 AT91_Periph_A AT91_PINCTRL_none>;/* ETH_TXD1 */

};

=>我已经在 uboot defconfig 文件中添加了此配置:

CONFIG_PHY_TI=y
CONFIG_PHY_TI_GENERAL=y
CONFIG_RMII=y
CONFIG_DM_ETH_PHY=y
CONFIG_DM_MDIO=y
CONFIG_CMD_NET=y
CONFIG_NET_RAMAL_ETHADDR=y
CONFIG_DM_ETH=y
CONFIG_MACB=y
=>我尝试 ping 命令时遇到的问题是,
以太网@f802c000:正在启动自动协商...
以太网@f802c000:自动协商超时(状态= 0x7849)
Ethernet@f802c000:链路断开(状态:0x7849)
Ping 失败;主机192.168.1.112不活动
U-Boot>MII 转储
0.(7849)-- PHY 控制寄存器--
(8000:0000) 0.15 = 0复位
(4000:4000) 0.14 = 1环回
(2040:2040) 0。 6、13 = B11速度选择= 10Mbps
(1000:1000) 0.12 = 1A/N 使能
(0800:0800) 0.11 = 1个断电
(0400:0000) 0.10 = 0隔离
(0200:0000) 0。 9 = 0重新启动 A/N
(0100:0000) 0。 8 = 0双工=半双工
(0080:0000) 0。 7 = 0冲突测试使能
(003f:0009) 0。 5- 0 = 9 (保留)
您能帮助我如何相应地配置器件树和 defconfig 吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    DP83825PHY 在 DP83822.c 驱动程序内实现。

    请参阅以下有关如何构建器件树和 defconfig 的评论:

    请参阅以下器件树链接:

    以下是 DP83825PHY 的 defconfig:

    • CONFIG_DP83822_PHY=y

    --

    此致、

    林希尔曼

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

    您好!

    这适用于 Linux 内核,但 我尝试使用 Atmel MPU 在 u-boot at91中启动 DP83825I。 我在您的论坛中发现、我应该配置:  

    CONFIG_PHY_TI=y
    CONFIG_PHY_TI_GENERAL=y
    我这样做了、但我遇到了这个问题:
    以太网@f802c000:正在启动自动协商...
    以太网@f802c000:自动协商超时(状态= 0x7849)
    Ethernet@f802c000:链路断开(状态:0x7849)
    Ping 失败;主机192.168.1.112不活动
    如果器件树和 uboot 配置正确、您能否帮助我?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hafedh,

    如果可能、您能否共享完整的日志文件?  

    您是否 在 driver/net/phy 文件夹目录下的 uboot 上看到825驱动程序?

    我想确保您能够正确访问825驱动程序。 您是否能够访问任何其他寄存器、例如0x0000、0x0004和0x0005?

    链路状态= 0x7849表示 DP83825 PHY 的链路未建立。

    • 我可以问、DP83825PHY 的链路伙伴是什么?
    • 运行 uboot 时是否要连接到其他 PHY?

    --

    此致、

    林希尔曼