我们正在开发一个使用 DP83867作为以太网 Phy 的板、我们需要有关其配置的帮助、因为当我读取链路状态寄存器时、即使不连接以太网电缆、我也始终得到1。 那么、是否有任何具体的配置方法?
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.
我们正在开发一个使用 DP83867作为以太网 Phy 的板、我们需要有关其配置的帮助、因为当我读取链路状态寄存器时、即使不连接以太网电缆、我也始终得到1。 那么、是否有任何具体的配置方法?
高奔驰
链路状态寄存器会显示链路是否为 MDI 端。 它不来自中断引脚。
您能否提供0x0000-0x001E 范围内的寄存器转储?
我还附上了《DP83867故障排除指南》、供您参考、请查看: https://www.ti.com/lit/an/snla246b/snla246b.pdf
此致、
Melissa
PHY 中断引脚 INT/PWDN 连接到 iMX8MP SOC 的 SAI1_RXD1。 我们已 将 IOMUXC_SW_MUX_CTL_PAD_SAI1_RXD1多 路复用为 ALT5_GPIO4_IO[3]—选择多路复用模式:ALT5多路复用器端口:GPIO4_IO03、实例为 GPIO4。
作为 MDIO 的中断配置的一部分、该 GPIO GPIO4_IO03配置为边沿下降沿。 此配置是在器件树中作为 Linux BSP 的一部分执行的。
以下是从 ACPI 表传递至 Windows 驱动程序的信息,
A) MAC 地址
b) 以太网1的 Cortex A53中断
c) MDIO 总线控制器输入时钟为 266000 KHz
d) PHY 地址
e) RGMII 的 PHY 接口类型为"0"
f) PHY 的最大 MDIO 总线时钟 为15000KHz
g) PHY 最小 STA 保持时间 为10ns
h)启用前导码
驱动程序获取此 ACPI 信息并用于操作系统端的配置。
您可以通过单击链接 https://www.nxp.com/webapp/Download?colCode=IMX8MPRM 获取 IMX8MP 参考手册。
您能告诉我哪些因素会导致链路状态始终为1吗?
请确认 对于任何 OS 平台来说、关于 PHY 和 SoC、通常是否需要此类配置。
高奔驰
很抱歉我不能在窗口中获取寄存器转储,您能告诉我是否有任何方法可以获取寄存器转储吗??但我可以告诉您任何寄存器的单个位值。
如果您能够向我提供 0x0000 - 0x001E 的寄存器值、这没问题。
[报价 userid="560831" url="~/support/interface-group/interface/f/interface-forum/1221266/dp83867ir-always-getting-link-status-as-1-without-connecting-the-ethernet-cable/4617379 #4617379"]您能告诉我如何发现中断引脚已启用或未通过软件启用吗? [/报价]你可以读取/写入0x001E[7]以使能该引脚作为一个中断输出。
此致、
Melissa
大家好
这里是寄存器转储
===================================================
===转储 PHY 寄存器===
===================================================
PHY[0x00]= 0xFFFF
PHY[0x01]= 0xFFFF
PHY[0x02]= 0xFFFF
PHY[0x03]= 0xFFFF
PHY[0x04]= 0xFFFF
PHY[0x05]= 0xFFFF
PHY[0x06]= 0xFFFF
PHY[0x07]= 0xFFFF
PHY[0x08]= 0xFFFF
PHY[0x09]= 0xFFFF
PHY[0x0A]= 0xFFFF
PHY[0x0b]= 0xFFFF
PHY[0x0C]= 0xFFFF
PHY[0x0D]= 0xFFFF
PHY[0x0E]= 0xFFFF
PHY[0x0F]= 0xFFFF
我认为、根据 IEEE 802.3标准、这些寄存器地址对于大多数以太网 PHY 是通用的。 我想我们没有读取错误的地址。 您能否告诉我、对于任何引脚或 MDIO 引脚、是否需要进行任何特定的引脚初始化? DP83867是否有任何特定的时钟设置? 因为我们使用的代码是为 RTL8211F 以太网 Phy 修改的、但它应该适用于 DP83867、但我认为我们在有关 DP83867的特定 Phy 初始化部分方面做了一些错误的事情。 默认情况下、DP83867是关闭模式、所以这可能是问题吗?
我们有两个以太网 PHY、它们有单独的 MDIO 总线。 对于第一个 PHY、我们没有将 任何 RX_D 引脚进行 strap 配置、但我们将 RX_CTL 引脚与模式3进行了 strap 配置、对于 PHY 2、我们将 RX_D0引脚进行了 strap 配置、将 RX_CTL 引脚与模式3进行了绑定、其他 RX_D 引脚不进行 strap 配置、 那么、第一个 Phy 的地址将是0、而第二个 Phy 的地址将是1、对吧?
高奔驰
默认情况下完全不为 PHY 供电、即使在断电模式下也必须为电源线供电。
如果您的电路板遵循我们的所有设计要求、且电路板的电源连接到 PHY 的电源、那么 PHY 应该在电路板开启时自动加电。 您可以使用我们的原理图检查清单来检查您的电路板设计。
e2e.ti.com/.../4442.DP83867_5F00_Schematic_5F00_Design_5F00_Review_5F00_Checklist-_2800_1_2900_.xlsx
您是否尝试通过驱动程序或 MDIO/MDC 访问寄存器?
此致、
Melissa
高奔驰
我们的以太网 phy 直接连接到 MAC,因此我想我们是通过 MDIO 访问寄存器。 但是、我们如何在没有 MDIO/MDC 的情况下通过驱动程序访问寄存器呢?
连接 MAC 处理器的 MDIO/MDC 线路连接器也是如此吗? 您需要 MDIO/MDC 才能访问寄存器。
我查阅了您共享的原理图核对表,发现复位引脚在我们的电路板中未接地,但即使在这之后,它仍然可以在 Ubuntu 中工作,所以有必要将复位引脚接地并将电容器连接到它吗????
您的复位引脚是如何连接的? 原理图显示复位引脚通常连接高电平、但可以通过原理图中的按钮将其拉低。
此致、
Melissa
高奔驰
复位引脚配置 正常。 让我们重新研究一下 PHY 地址和 PHY 电源配置、找出读取0xFFFF 的原因。
我们有两个以太网 PHY,它们有单独的 MDIO 总线。 对于第一个 PHY、我们没有将 任何 RX_D 引脚进行 strap 配置、但我们将 RX_CTL 引脚与模式3进行了 strap 配置、对于 PHY 2、我们将 RX_D0引脚进行了 strap 配置、将 RX_CTL 引脚与模式3进行了绑定、其他 RX_D 引脚不进行 strap 配置、 因此、第一个 PHY 的 PHY 地址将为0、而第二个 PHY 的 PHY 地址将为1、对吧?
能否提供仅此部件的屏幕截图? 如果您不想公开共享、您可以对我进行 DM 管理。
对于电源-您是处于双电源还是三电源模式? 在三电源模式下运行时、1.8V VDDA1P8电源必须在2.5V VDDA2P5电源上升的25ms 内保持稳定。 在三电源模式下运行时、其他电源不需要时序控制。
此致、
Melissa
高奔驰
对于我们的工业 PHY、我们在 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/phy 上公开提供了 Linux 驱动程序
此致、
Melissa