Basically i have a custom AM335x board with and LAN8720A running in RMII mode. I have modified the board files in the Kernel as necessary to support the board. Here is what i am finding with the ethernet:
1. Plugged in before power up: works great, can ping the controller and even start httpd and browse to the controllers served webpage.
2. Plugged in while in U-Boot before booting to Kernel: Same as above, i see lights on the Connector blink and once i boot to the Kernel everything is still great.
3. Plugged in after the Kernel is started: Nothing, no light no connection. I have an ifplugd action specified to ifup the connection but nothing happens when the cable is plugged in. If i manually type ifup eth0 it says the connection is already up. If i ifdown it then ifup it there are no lights on the connector and it fails to connect and get lease from DHCP.
4. Plugged in before kernel boot then removed after kernel is booted: The ifplugd action executes and ifdowns eth0 when unplugged; however, I then almost immediately see: "[ 64.116729] net eth0: CPSW phy found : id is : 0x7c0f1". And if i then plug the cable back in it does not connect again and manually typing ifup just fails to get lease from DHCP and there are no lights on the connector or hub.
So it would seem to me that if i do not have a cable plugged in before the kernel starts up networking or i unplug it after it starts then it registers 0x7c0F1 and sets it to eth0 and i can no longer make a new connection when i plug a cable in : /.
Any ideas of the issue here? (0x7c0F1 seems to correspond to the BBB_PHY_ID in the original EVM Board file).


