diff options
author | Jon Loeliger <jdl@freescale.com> | 2006-08-09 14:41:17 -0500 |
---|---|---|
committer | Jon Loeliger <jdl@freescale.com> | 2006-08-09 14:41:17 -0500 |
commit | 92c427b18982167064de454ae5248ec466998919 (patch) | |
tree | a60a3a9e3f3dec07edf6e6505bfc45c9e0a2dc01 /cpu/mpc85xx/cpu.c | |
parent | 281f69ede28cd3d8be5d62a96b5a0b73e6065858 (diff) | |
parent | 34c3c0e01dbf1f8cc2bd08de92f2b89ba84921eb (diff) | |
download | u-boot-imx-92c427b18982167064de454ae5248ec466998919.zip u-boot-imx-92c427b18982167064de454ae5248ec466998919.tar.gz u-boot-imx-92c427b18982167064de454ae5248ec466998919.tar.bz2 |
Merge branch 'mpc85xx'
Conflicts:
include/ft_build.h
include/pci.h
Resolved, though.
Diffstat (limited to 'cpu/mpc85xx/cpu.c')
-rw-r--r-- | cpu/mpc85xx/cpu.c | 50 |
1 files changed, 49 insertions, 1 deletions
diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c index f7fe22e..0507c47 100644 --- a/cpu/mpc85xx/cpu.c +++ b/cpu/mpc85xx/cpu.c @@ -30,7 +30,10 @@ #include <command.h> #include <asm/cache.h> -/* ------------------------------------------------------------------------- */ +#if defined(CONFIG_OF_FLAT_TREE) +#include <ft_build.h> +#endif + int checkcpu (void) { @@ -227,3 +230,48 @@ int dma_xfer(void *dest, uint count, void *src) { return dma_check(); } #endif + + +#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 "/serial@4500/clock-frequency", &len); + if (p != NULL) + *p = cpu_to_be32(clock); + + p = ft_get_prop(blob, "/" OF_SOC "/serial@4600/clock-frequency", &len); + if (p != NULL) + *p = cpu_to_be32(clock); + +#if defined(CONFIG_MPC85XX_TSEC1) + p = ft_get_prop(blob, "/" OF_SOC "/ethernet@24000/mac-address", &len); + memcpy(p, bd->bi_enetaddr, 6); +#endif + +#if defined(CONFIG_HAS_ETH1) + p = ft_get_prop(blob, "/" OF_SOC "/ethernet@25000/mac-address", &len); + memcpy(p, bd->bi_enet1addr, 6); +#endif + +#if defined(CONFIG_HAS_ETH2) + p = ft_get_prop(blob, "/" OF_SOC "/ethernet@26000/mac-address", &len); + memcpy(p, bd->bi_enet2addr, 6); +#endif + +#if defined(CONFIG_HAS_ETH3) + p = ft_get_prop(blob, "/" OF_SOC "/ethernet@27000/mac-address", &len); + memcpy(p, bd->bi_enet3addr, 6); +#endif + +} +#endif |