]> git.baikalelectronics.ru Git - kernel.git/commit
net: mv643xx_eth: proper initialization for Kirkwood SoCs
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Wed, 29 May 2013 09:32:47 +0000 (09:32 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 31 May 2013 00:54:04 +0000 (17:54 -0700)
commit416d0cc2f3508ea6048677aa2a8d40158bdf767a
tree85fac3e4867bfb2657f0b1c997fd31ec15f298b8
parentd6fb91f245ecbbeed3154485ab32304b6294306e
net: mv643xx_eth: proper initialization for Kirkwood SoCs

Ethernet controllers found on Kirkwood SoCs not only suffer from loosing
MAC address register contents on clock gating but also some important
registers are reset to values that would break ethernet. This patch
clears the CLK125_BYPASS_EN bit for DT enabled Kirkwood only by using
of_device_is_compatible() instead of #ifdefs. Non-DT Kirkwood is not
affected as it installs a clock gating workaround because of the MAC
address issue above. Other Orion SoCs do not suffer from register reset,
do not have the bit in question, or do not have the register at all.
Moreover, system controllers on PPC using this driver should also be
protected from clearing that bit.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mv643xx_eth.c