Browse Source

Set edge conditioning circuitry on PPC405GPr for compatibility to existing PPC405GP designs.

stroese 22 years ago
parent
commit
38daa27d21
1 changed files with 10 additions and 0 deletions
  1. 10 0
      cpu/ppc4xx/cpu_init.c

+ 10 - 0
cpu/ppc4xx/cpu_init.c

@@ -124,6 +124,7 @@ int cpu_init_r (void)
 
 
 	bd_t *bd = gd->bd;
 	bd_t *bd = gd->bd;
 	unsigned long reg;
 	unsigned long reg;
+	uint pvr = get_pvr();
 
 
 	/*
 	/*
 	 * Write Ethernetaddress into on-chip register
 	 * Write Ethernetaddress into on-chip register
@@ -143,6 +144,15 @@ int cpu_init_r (void)
 	reg = reg << 8;
 	reg = reg << 8;
 	reg |= bd->bi_enetaddr[5];
 	reg |= bd->bi_enetaddr[5];
 	out32 (EMAC_IAL, reg);
 	out32 (EMAC_IAL, reg);
+
+	/*
+	 * Set edge conditioning circuitry on PPC405GPr
+	 * for compatibility to existing PPC405GP designs.
+	 */
+	if ((pvr & 0xfffffff0) == (PVR_405GPR_RA & 0xfffffff0)) {
+		mtdcr(ecr, 0x60606000);
+	}
+
 #endif  /* CONFIG_405GP */
 #endif  /* CONFIG_405GP */
 	return (0);
 	return (0);
 }
 }