We are using Micrel Phy:
KSZ8091RNBCA
For some reason Linux will not work from a cold boot if U-Boot is not configured for the Micrel Phy. Also the debug port becomes very sluggish and has lots of errors.
fec 2188000.ethernet eth0: Unable to connect to phy
RTNETLINK answers: No such device
bash# mii-diag eth0
SIOCGMIIPHY on eth0 failed: Operation not supported
We are using i.MX6ULL which has a single Ethernet port.
Linux seems to recognize our phy when U-Boot is configured and everything is normal.
Micrel KSZ8041 2188000.ethernet-1:01: attached PHY driver (mii_bus:phy_addr=2188000.ethernet-1:01, irq=POLL)
fec 2188000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
We would like to eliminate the U-Boot Ethernet driver, since we never use it, and we think it is better for security and boot simplicity if we do not have it. What could be causing Linux not to initialize the Ethernet properly?
For instance mii-diag is unable to contact the Phy on a cold boot without the U-Boot driver:
For some reason Linux will not work from a cold boot if U-Boot is not configured for the Micrel Phy.
>do you mean you would get cold boot issue when you disable ethernet in the uboot but enable in the kernel, right? but everything is ok when you enable it in the uboot and kernel, right? if yes, how did you disable it in the uboot?