Browse Source

Patch by Steven Scholz, 04 Apr 2005:
Make sure that MDIO clock does not exceed 2.5 MHz on AT91

wdenk 20 years ago
parent
commit
ba83a30765
2 changed files with 8 additions and 0 deletions
  1. 3 0
      CHANGELOG
  2. 5 0
      cpu/at91rm9200/at91rm9200_ether.c

+ 3 - 0
CHANGELOG

@@ -2,6 +2,9 @@
 Changes for U-Boot 1.1.3:
 ======================================================================
 
+* Patch by Steven Scholz, 04 Apr 2005:
+  Make sure that MDIO clock does not exceed 2.5 MHz on AT91
+
 * Fix timer code for ARM systems: make sure that udelay() does not
   reset timers so it's save to use udelay() in timeout code.
 

+ 5 - 0
cpu/at91rm9200/at91rm9200_ether.c

@@ -210,6 +210,11 @@ int eth_init (bd_t * bd)
 	p_mac->EMAC_CFG |= AT91C_EMAC_RMII;
 #endif
 
+#if (AT91C_MASTER_CLOCK > 40000000)
+	/* MDIO clock must not exceed 2.5 MHz, so enable MCK divider */
+	p_mac->EMAC_CFG |= AT91C_EMAC_CLK_HCLK_64;
+#endif
+
 	p_mac->EMAC_CTL |= AT91C_EMAC_TE | AT91C_EMAC_RE;
 
 	at91rm92000_GetPhyInterface (& PhyOps);