net: tsec: Fix Marvell 88E1121R phy init
authorAnatolij Gustschin <agust@denx.de>
Tue, 2 Dec 2008 09:31:04 +0000 (10:31 +0100)
committerBen Warren <biggerbadderben@gmail.com>
Fri, 5 Dec 2008 06:51:54 +0000 (22:51 -0800)
commit23afaba65ec5206757e589ef334a8b38168c045f
tree3c16f0e84b9cdcccac14644f05cdff7f9a150ba3
parent2e4970d8109d690adcf615d9e3cac7b5b2e8eaed
net: tsec: Fix Marvell 88E1121R phy init

This patch tries to ensure that phy interrupt pin
won't be asserted after booting. We experienced
following issues with current 88E1121R phy init:

Marvell 88E1121R phy can be hardware-configured
to share MDC/MDIO and interrupt pins for both ports
P0 and P1 (e.g. as configured on socrates board).
Port 0 interrupt pin will be shared by both ports
in such configuration. After booting Linux and
configuring eth0 interface, port 0 phy interrupts
are enabled. After rebooting without proper eth0
interface shutdown port 0 phy interrupts remain
enabled so any change on port 0 (link status, etc.)
cause assertion of the interrupt. Now booting Linux
and configuring eth1 interface will cause permanent
phy interrupt storm as the registered phy 1 interrupt
handler doesn't acknowledge phy 0 interrupts. This
of course should be fixed in Linux driver too.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
drivers/net/tsec.c
include/tsec.h