Ver Fonte

[PATCH] [MPC52xx] Use IPB bus frequency for SOC peripherals

The soc node of the mpc52xx needs to be loaded with the IPB bus frequency,
not the XLB frequency.

This patch depends on the previous patches for MPC52xx device tree support

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Grant Likely há 18 anos atrás
pai
commit
726e90aacf
1 ficheiros alterados com 4 adições e 5 exclusões
  1. 4 5
      cpu/mpc5xxx/cpu.c

+ 4 - 5
cpu/mpc5xxx/cpu.c

@@ -112,21 +112,20 @@ void
 ft_cpu_setup(void *blob, bd_t *bd)
 ft_cpu_setup(void *blob, bd_t *bd)
 {
 {
 	u32 *p;
 	u32 *p;
-	ulong clock;
 	int len;
 	int len;
 
 
-	clock = bd->bi_busfreq;
+	/* Core XLB bus frequency */
 	p = ft_get_prop(blob, "/cpus/" OF_CPU "/bus-frequency", &len);
 	p = ft_get_prop(blob, "/cpus/" OF_CPU "/bus-frequency", &len);
 	if (p != NULL)
 	if (p != NULL)
-		*p = cpu_to_be32(clock);
+		*p = cpu_to_be32(bd->bi_busfreq);
 
 
+	/* SOC peripherals use the IPB bus frequency */
 	p = ft_get_prop(blob, "/" OF_SOC "/bus-frequency", &len);
 	p = ft_get_prop(blob, "/" OF_SOC "/bus-frequency", &len);
 	if (p != NULL)
 	if (p != NULL)
-		*p = cpu_to_be32(clock);
+		*p = cpu_to_be32(bd->bi_ipbfreq);
 
 
 	p = ft_get_prop(blob, "/" OF_SOC "/ethernet@3000/mac-address", &len);
 	p = ft_get_prop(blob, "/" OF_SOC "/ethernet@3000/mac-address", &len);
 	if (p != NULL)
 	if (p != NULL)
 		memcpy(p, bd->bi_enetaddr, 6);
 		memcpy(p, bd->bi_enetaddr, 6);
-
 }
 }
 #endif
 #endif