Hi,
We have our external phys connected the mdio bus. Our external switch is connected to the internal CPSW02 with mac-mac connection. The phys are listed during the boot in dmesg with the following information.
[ 4.091099] libphy: 46000f00.mdio: probed
[ 4.100218] davinci_mdio 46000f00.mdio: phy[25]: device 46000f00.mdio:19, driver unknown
[ 4.114060] davinci_mdio 46000f00.mdio: phy[26]: device 46000f00.mdio:1a, driver unknown
[ 4.127798] davinci_mdio 46000f00.mdio: phy[27]: device 46000f00.mdio:1b, driver unknown
[ 4.140291] davinci_mdio 46000f00.mdio: phy[28]: device 46000f00.mdio:1c, driver unknown
[ 4.140293] davinci_mdio 46000f00.mdio: phy[29]: device 46000f00.mdio:1d, driver unknown
[ 4.152967] davinci_mdio 46000f00.mdio: phy[30]: device 46000f00.mdio:1e, driver unknown
They are also readable in uboot using mii tool:
=> mii info
PHY 0x19: OUI = 0x06EC, Model = 0x01, Rev = 0x01, 10baseT, HDX
PHY 0x1A: OUI = 0x06EC, Model = 0x01, Rev = 0x01, 10baseT, HDX
PHY 0x1B: OUI = 0x06EC, Model = 0x01, Rev = 0x01, 10baseT, HDX
PHY 0x1C: OUI = 0x06EC, Model = 0x01, Rev = 0x01, 10baseT, HDX
PHY 0x1D: OUI = 0x06EC, Model = 0x01, Rev = 0x01, 10baseT, HDX
PHY 0x1E: OUI = 0x06EC, Model = 0x01, Rev = 0x01, 10baseT, HDX
=> mii dump 0x19
0. (0000) -- PHY control register --
(8000:0000) 0.15 = 0 reset
(4000:0000) 0.14 = 0 loopback
(2040:0000) 0. 6,13 = b00 speed selection = 10 Mbps
(1000:0000) 0.12 = 0 A/N enable
(0800:0000) 0.11 = 0 power-down
(0400:0000) 0.10 = 0 isolate
(0200:0000) 0. 9 = 0 restart A/N
(0100:0000) 0. 8 = 0 duplex = half
(0080:0000) 0. 7 = 0 collision test enable
(003f:0000) 0. 5- 0 = 0 (reserved)
is there a way to read the mdio registers from these phys in Linux user space?
Do I need a driver here or I need to have the configuration done correctly in the device tree?
Any help would be appreciated.
Thanks,
Pouyan