Hi WanneWWW,
Maybe you mean mdio bus.
I have modified the dts according the kernel doc as follow:
mdio {
compatible = "nvidia,eqos-mdio";
#address-cells = <0x1>;
#size-cells = <0x0>;
ethernet-phy@0 {
reg = <0x0>;
interrupt-parent = <0x13>;
interrupts = <0x34 0x8>;
ti,rx-internal-delay = <0x08>;
ti,tx-internal-delay = <0x0a>;
ti,fifo-depth = <0x03>;
linux,phandle = <0x1b>;
phandle = <0x1b>;
};
};
there is phy device in folder “/sys/bus/mdio_bus/device”
nvidia@ubuntu:~$ ls /sys/bus/mdio_bus/devices/
dwc_phy-1:00
And the phy_id is correct:
nvidia@ubuntu:~$ cat /sys/bus/mdio_bus/devices/dwc_phy-1\:00/phy_id
0x2000a231
I can find the dp83867 driver as follow:
nvidia@ubuntu:~$ ls /sys/bus/mdio_bus/drivers
'Broadcom BCM50610' 'Marvell 88E1101' 'Micrel KSZ8001 or KS8721'
'Broadcom BCM50610M' 'Marvell 88E1111' 'Micrel KSZ8021 or KSZ8031'
'Broadcom BCM5241' 'Marvell 88E1112' 'Micrel KSZ8031'
'Broadcom BCM5411' 'Marvell 88E1116R' 'Micrel KSZ8041'
'Broadcom BCM5421' 'Marvell 88E1118' 'Micrel KSZ8041RNLI'
'Broadcom BCM5461' 'Marvell 88E1121R' 'Micrel KSZ8051'
'Broadcom BCM54616S' 'Marvell 88E1145' 'Micrel KSZ8061'
'Broadcom BCM5464' 'Marvell 88E1149R' 'Micrel KSZ8081 or KSZ8091'
'Broadcom BCM5481' 'Marvell 88E1240' 'Micrel KSZ8795'
'Broadcom BCM5482' 'Marvell 88E1318S' 'Micrel KSZ886X Switch'
'Broadcom BCM57780' 'Marvell 88E1510' 'Micrel KSZ8873MLL Switch'
'Broadcom BCM89610' 'Marvell 88E1512' 'Micrel KSZ9021 Gigabit PHY'
'Broadcom BCMAC131' 'Marvell 88E1540' 'Micrel KSZ9031 Gigabit PHY'
'Generic 10G PHY' 'Marvell 88E3016' 'TI DP83867'
'Generic PHY' 'Micrel KS8737'
I add some debug info in dp83867 driver and found the config in it is writen correctlly, which means the MDIO bus can communicate with phy chip.
the strange thing is that after linking up or down for some time, the eth0 can work normally. But the time maybe too long.