Hi, all!
I have custom board with micrel PHY KSZ9021GN. There is some hardware problem on board schematic, and my ethernet interface can operate only at 10 MBps. In u-boot I disable negotiation on PHY, set fixed speed to 10 MBps and modify ethernet driver. I can use network on u-boot stage. But when linux kernel start it is reset all my settings to default and can't tuned PHY. Here Linux boot messages:
net eth0: attached PHY driver [Micrel KSZ9021 Gigabit PHY] (mii_bus:phy_addr=0:)
ADDRCONF(NETDEV_UP): eth0: link is not ready
davinci_mdio davinci_mdio.0: resetting idled controller
Sending DHCP requests ...... timed out!
IP-Config: Reopening network devices...
net eth0: attached PHY driver [Micrel KSZ9021 Gigabit PHY] (mii_bus:phy_addr=0:)
ADDRCONF(NETDEV_UP): eth0: link is not ready
davinci_mdio davinci_mdio.0: resetting idled controller
Sending DHCP requests ...... timed out!
IP-Config: Auto-configuration of network failed.
Please, explain me:
- how to disable auto negotiation in linux network driver?
- how I can set fixed network speed value in linux?
Thank you!
P.S. Sorry for my English