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.

DP83TD510E: link problem of the phy chip in linux

Part Number: DP83TD510E

Hello:

I am having problems using DP83TD510E.

Environment:

DP83TD510E works in rmii slave mode. Soc provides a 50Mhz clock to the xi pod.

CRS_DV/RX_DV Pin 18 is configured as CRS_DV (default).

Receiver with tapping at 50 Ω (Recommended).

The id of the phy chip is set to 0.

linux system from the following github link.

https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/drivers/net/phy/dp83td510.c

My configuration in the device tree is as follows.

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1>;
phy-mode = "rmii";
phy-handle = <&ethphy0>;
phy-reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
phy-reset-duration = <2>;
status = "okay";
};
&fec2 {
......
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: ethernet-phy@0 {
compatible = "ethernet-phy-id2000.0180";
reg = <0>;
clocks = <&clks IMX6UL_CLK_ENET_REF>;
clock-names = "rmii-ref";
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Product test is shown below.

Problem:

The DP83TD510E is always in the Link is down state, and I don't know how to deal with it. The DP83TD510E has been registered.

I tried to test Loopback Modes, but I still don't know how to handle it.

I tried to read the external register, but I didn't know how to read it, something like 0x201.

Thanks.