Hi,
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[6] to '0'
- Reg 0x9, set Bit[9:8] to '00'
- Reg 0x0, set Bit[9] to '1'
But I don't know where I need to set this registers in the kernel, any advice?
Thanks a lot,
Pierre-Olivier
Hi Pierre-Olivier
there is example Documentation/devicetree/bindings/net/micrel-ksz90x1.txt for setting additional
phy registers, seems it can be reused in fec probe driver using get_property function.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks for the answer, I'll try to do this.