We are using an iMX6Q module on our carrier board. We use the KSZ9031 as Ethernet PHY but we have a small issue. We use only 4 lines on the KSZ9031, for 10/100 mode.
Without any configuration in the kernel, the 10/100 mode is detected but it takes a lot of time and block the kernel for 20sec.
[ 8.994243] fec 2188000.ethernet eth0: Freescale FEC PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=2188000.ethernet:07, irq=-1)
[ 9.043578] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 27.994108] libphy: 2188000.ethernet:07 - Link is Up - 100/Full
[ 28.000079] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
I read on the documentation that I need to change some registers to set 10/100 mode:
- Reg 0x0 set Bit to '0'
- Reg 0x9, set Bit[9:8] to '00'
- Reg 0x0, set Bit to '1'
But I don't know where I need to set this registers in the kernel, any advice?
Thanks a lot,