[U-Boot-Users] [PATCH 3/5][RESEND] CSB637 - fix dm9161 PHY interrupt mask
Anders Larsen
alarsen at rea.de
Wed Aug 24 11:23:46 CEST 2005
Hi,
the patch below fixes a bug in the dm9161 interrupt masking;
a bit set /disables/ (masks) the interrupt.
Furthermore, the PHY is explicitly (re)connected when auto-
negotiation is started.
Cheers
Anders
Signed-off-by: Anders Larsen <alarsen at rea.de>
CHANGELOG:
Patch by Anders Larsen <alarsen at rea.de>, 2005-04-29
Mask DM9161 interrupts correctly
---
cpu/arm920t/at91rm9200/dm9161.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/cpu/arm920t/at91rm9200/dm9161.c b/cpu/arm920t/at91rm9200/dm9161.c
--- a/cpu/arm920t/at91rm9200/dm9161.c
+++ b/cpu/arm920t/at91rm9200/dm9161.c
@@ -138,9 +138,9 @@ UCHAR dm9161_InitPhy (AT91PS_EMAC p_mac)
/* Disable PHY Interrupts */
at91rm9200_EmacReadPhy (p_mac, DM9161_MDINTR, &IntValue);
- /* clear FDX, SPD, Link, INTR masks */
- IntValue &= ~(DM9161_FDX_MASK | DM9161_SPD_MASK |
- DM9161_LINK_MASK | DM9161_INTR_MASK);
+ /* set FDX, SPD, Link, INTR masks */
+ IntValue |= (DM9161_FDX_MASK | DM9161_SPD_MASK |
+ DM9161_LINK_MASK | DM9161_INTR_MASK);
at91rm9200_EmacWritePhy (p_mac, DM9161_MDINTR, &IntValue);
at91rm9200_EmacDisableMDIO (p_mac);
@@ -190,6 +190,7 @@ UCHAR dm9161_AutoNegotiate (AT91PS_EMAC
return FALSE;
/* Restart Auto_negotiation */
value |= DM9161_RESTART_AUTONEG;
+ value &= ~DM9161_ISOLATE;
if (!at91rm9200_EmacWritePhy (p_mac, DM9161_BMCR, &value))
return FALSE;
More information about the U-Boot
mailing list