This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8148 CPSW link detection problem

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!