Use KSZ9031 in 100MB mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Use KSZ9031 in 100MB mode

1,693 Views
pierre-olivierh
Contributor III

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

Labels (1)
0 Kudos
Reply
2 Replies

1,032 Views
igorpadykov
NXP Employee
NXP Employee

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

1,032 Views
pierre-olivierh
Contributor III

Thanks for the answer, I'll try to do this.

0 Kudos
Reply