diff options
author | Stefan Roese <sr@denx.de> | 2006-11-28 17:55:49 +0100 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2006-11-28 17:55:49 +0100 |
commit | e59581c56ab5d6e0207ddac3b2c1d55cb36ec706 (patch) | |
tree | aa24a15300f3c94e06beab022d33a7155b1ff2b9 /cpu/mpc5xxx | |
parent | e732faec95a83cb468b4850ae807c8301dde8f6a (diff) | |
download | u-boot-imx-e59581c56ab5d6e0207ddac3b2c1d55cb36ec706.zip u-boot-imx-e59581c56ab5d6e0207ddac3b2c1d55cb36ec706.tar.gz u-boot-imx-e59581c56ab5d6e0207ddac3b2c1d55cb36ec706.tar.bz2 |
[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 <grant.likely@gmail.com>
Acked-by: Jon Loeliger <jdl@freescale.com>
Diffstat (limited to 'cpu/mpc5xxx')
-rw-r--r-- | cpu/mpc5xxx/cpu.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/cpu/mpc5xxx/cpu.c b/cpu/mpc5xxx/cpu.c index 6b6f828..20e6735 100644 --- a/cpu/mpc5xxx/cpu.c +++ b/cpu/mpc5xxx/cpu.c @@ -31,6 +31,10 @@ #include <mpc5xxx.h> #include <asm/processor.h> +#if defined(CONFIG_OF_FLAT_TREE) +#include <ft_build.h> +#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 |