I have a custom DM8148 board, using GigE PHY Micrel KSZ9031. software is based on RDK2.8( PSP_04_04_00_01)
It's mostly working except one thing: linux doesn't detect the link after power up. If I unplug the cable and plug it back, it will detect the link.
It's probably not the PHY itself, but the CPSW driver. Here's what I observed:
1. After power up, during uboot stage, the link was detected by the PHY, I can see the link LED is on. I can also ping other devices in uboot.
2. when linux is up, right about the time kernel prints out "CPSW phy found : id is : 0x221621", I saw the link led went off.
3. I was trying to read MII registers from the PHY, but mii-diag didn't work, it always says "SIOCGMIIPHY on eth0 failed: Bad address"
mii-tool doesn't work either.
4. If I connect to a 100mbps switch, the link will be auto detected just fine.
Thanks for your help or suggestions!