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.

[参考译文] DP83867E:驱动器未激活

Guru**** 2587365 points
Other Parts Discussed in Thread: ADS7828

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/879925/dp83867e-driver-is-not-activated

器件型号:DP83867E
主题中讨论的其他器件:ADS7828

设置:

使用 OSD3358-SM 处理器的定制板。 我每个 DP86837芯片有2个、一个为0、另一个为1 (使用适当的自举、但只尝试先获取0)。 我将使用最新的 Bone Debian OS for ARM 9.9内核4.14。 我将板 ID 设置为 BeagleBone Black A335BNLT。 我创建了自己的覆盖层,以使用 I2C 和 SPI 总线以及 tlv320.... 音频编解码器芯片。 我在论坛、文档等之后参考了论坛 我还没有看到 MDIO 将驱动程序报告为 DP86837。 驱动程序(ko)位于操作系统中。 除了以太网外、我的覆盖层适用于所有其他应用。 当我连接以太网并检查 dmesg (通过 SSH 通过 USB 进入我的主板)时、它会显示为高达1Gbps、但驱动程序显示为通用 PHY、并且我无法通过以太网 ping 或 SSH 到我的 proto 主板。 它就像内核读取 reg 并返回正确的信息、但它没有100%配置。

我在/etc/network/interfaces 中将 eth0设置为静态、并设置了地址和网络掩码。  

下面是我的器件树 DTS 文件的一个片段(编译时没有问题)。  

&cpsw_emac0{
phy_id =<&Davinci_mdio>、<0>;
phy_handle =<&dp83867_0>;
phy-mode ="RGMII-txid";
};

&Mac{
pinctrl-names ="default"、"sleep";
pinctrl-0 =<&cpsw_default>;
pinctrl-1 =<&cpsw_sleep>;
从器件=<1>;
状态="确定";
}

;&Davinci_MDIO{
pinctrl-names ="默认值"、"睡眠";
compatible ="ti、cpsw-MDIO"、"ti、Davinc_MDIO";
pinctrl-0 =<&Davinc_MDIO_default>;
pinctrl-1 =<&Davinc_MDIO_SLEEP>;
status ="确定";

dp83867_0:ethernet-phy@0{
reg =<0>;
ti、rx-interne-delay = ;
ti、tx 内部延迟= ;
ti, fifo-depth = ;
};
}; 

正如我所理解的...是的、u-boot 将配置为电路板 ID。 但是、内核加载后、我的覆盖应该会证实我的覆盖中的更改。 因此引入了用于以太网配置的驱动程序。 例如、在我的覆层中、我使用 ADS7828并激活覆层中的驱动程序、然后作为模块($ lsmod)出现。

我的问题:

1.能否使用 BeagleBone Black 板 ID 作为基线并使用覆盖层使用 DP83867 IC 进行整合?

2.从我的底座到甚至可以达到1Gbps 的速率,它必须自动协商到该速率,任何主要问题都将使其保持在10Mbps 的速率?

3.为什么系统日志中没有显示驱动程序,我认为它将显示为 MDIO 和 cpsw 的驱动程序?

4.我是否真的需要在 u-boot 文件中配置我自己的电路板 ID、其他所有内容都将出现并可在 syslog 中进行验证、或者通过读取/写入其寄存器来进行验证?

5.我为我的镀层引用了 dra71-EVM.dts、是否有另一个使用 DP86837以太网 IC 的 EVM 或镀层?

我将看到我是否可以获取 syslog 信息并明天将其粘贴到这里。