代表客户发布
与上一篇文章相关、我们通过更改 u-boot 中的 TI CPSW 驱动程序(cpsw.c)使第二个 PHY 正常工作。 尽管这种变通办法并不理想、但它确实允许他们使事情正常工作。 它还提出了更多的问题。
我们 注意到,设备树文件的“mac”对象中的“active_slave”参数控制了初始化的 PHY。 它默认为0、从而允许第一个 PHY 工作。 将其更改为1可使第二个 PHY 正常工作、但使第一个 PHY 停止工作。 根据这一观察结果、他们进入 CPSW 驱动程序并更改了仅初始化活动从器件以初始化所有从器件的位置。 此更改使我们能够在 u-boot 中看到两个 PHY、并允许两个 PHY 在 Linux 内核启动后工作。
但是、 我们无法使 Linux 内核正确初始化从属设备/PHY、它们只能在 u-boot 中执行此操作。
因此、这种解决方法产生了几个问题:
- 为什么 我们必须在每个 PHY 上具有 u-boot 调用初始化?
- 为什么 Linux 驱动程序无法正确初始化 PHY?
- 我们是否缺少会导致 Linux 驱动程序初始化 PHY 的 DTS 条目?
TI 能否提供有关上述内容的任何其他指针