
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 --- cpu/mpc5xxx/cpu.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/cpu/mpc5xxx/cpu.c b/cpu/mpc5xxx/cpu.c index 20e6735..813aa79 100644 --- a/cpu/mpc5xxx/cpu.c +++ b/cpu/mpc5xxx/cpu.c @@ -112,21 +112,20 @@ void ft_cpu_setup(void *blob, bd_t *bd) { u32 *p; - ulong clock; int len;
- clock = bd->bi_busfreq; + /* Core XLB bus frequency */ p = ft_get_prop(blob, "/cpus/" OF_CPU "/bus-frequency", &len); 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); 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); if (p != NULL) memcpy(p, bd->bi_enetaddr, 6); - } #endif