On a custom AM3352-based board, I am trying to enable CPSW to configure a Marvell 88e1116R PHY. I am reasonably sure the Marvell driver should be working, as it does work on another (PowerPC-based) board. The Sitara-based board does seem to detect the phy, but I don't see it actually try to configure it:
=> mdio list
cpsw:
1 - Marvell 88E1116R <--> cpsw
=> mii dump 1 0
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)
=> mii dump 1 1
1. (794d) -- PHY status register --
(8000:0000) 1.15 = 0 100BASE-T4 able
(4000:4000) 1.14 = 1 100BASE-X full duplex able
(2000:2000) 1.13 = 1 100BASE-X half duplex able
(1000:1000) 1.12 = 1 10 Mbps full duplex able
(0800:0800) 1.11 = 1 10 Mbps half duplex able
(0400:0000) 1.10 = 0 100BASE-T2 full duplex able
(0200:0000) 1. 9 = 0 100BASE-T2 half duplex able
(0100:0100) 1. 8 = 1 extended status
(0080:0000) 1. 7 = 0 (reserved)
(0040:0040) 1. 6 = 1 MF preamble suppression
(0020:0000) 1. 5 = 0 A/N complete
(0010:0000) 1. 4 = 0 remote fault
(0008:0008) 1. 3 = 1 A/N able
(0004:0004) 1. 2 = 1 link status
(0002:0000) 1. 1 = 0 jabber detect
(0001:0001) 1. 0 = 1 extended capabilities
=> mii read 1 2
0141
=> mii read 1 3
0E40
=> ping 192.168.83.64
link up on port 0, speed 10, half duplex
Using cpsw device
ARP Retry count exceeded; starting again
ping failed; host 192.168.83.64 is not alive
I disabled the device-tree config for the Ethernet, it has made any difference. The MDIO comm seems to work, but the CPSW driver doesn't seem to want to call the configuration routines of the Marvell driver. Any idea where I should be digging next?