From e59581c56ab5d6e0207ddac3b2c1d55cb36ec706 Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Tue, 28 Nov 2006 17:55:49 +0100 Subject: [PATCH] Enable the IceCube/lite5200 variants to pass a device tree to Linux. This patch adds the code and configuration necessary to boot with an arch/powerpc Linux kernel. Signed-off-by: Grant Likely Acked-by: Jon Loeliger --- cpu/mpc5xxx/cpu.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'cpu/mpc5xxx') diff --git a/cpu/mpc5xxx/cpu.c b/cpu/mpc5xxx/cpu.c index 6b6f8282cf..20e6735de4 100644 --- a/cpu/mpc5xxx/cpu.c +++ b/cpu/mpc5xxx/cpu.c @@ -31,6 +31,10 @@ #include #include +#if defined(CONFIG_OF_FLAT_TREE) +#include +#endif + DECLARE_GLOBAL_DATA_PTR; int checkcpu (void) @@ -102,3 +106,27 @@ unsigned long get_tbclk (void) } /* ------------------------------------------------------------------------- */ + +#ifdef CONFIG_OF_FLAT_TREE +void +ft_cpu_setup(void *blob, bd_t *bd) +{ + u32 *p; + ulong clock; + int len; + + clock = bd->bi_busfreq; + p = ft_get_prop(blob, "/cpus/" OF_CPU "/bus-frequency", &len); + if (p != NULL) + *p = cpu_to_be32(clock); + + p = ft_get_prop(blob, "/" OF_SOC "/bus-frequency", &len); + if (p != NULL) + *p = cpu_to_be32(clock); + + p = ft_get_prop(blob, "/" OF_SOC "/ethernet@3000/mac-address", &len); + if (p != NULL) + memcpy(p, bd->bi_enetaddr, 6); + +} +#endif -- cgit