diff options
author | Gerald Van Baren <vanbaren@cideas.com> | 2007-03-31 12:23:51 -0400 |
---|---|---|
committer | Gerald Van Baren <vanbaren@cideas.com> | 2007-03-31 12:23:51 -0400 |
commit | 213bf8c822de8eecaf69860684469cdaba2e9e6a (patch) | |
tree | 178e19684d4024081de2caa27ec5f1806846672f /board/mpc8360emds/mpc8360emds.c | |
parent | 781e09ee6e3e3e392ab362c1f0ef1068adc76e3e (diff) | |
download | u-boot-imx-213bf8c822de8eecaf69860684469cdaba2e9e6a.zip u-boot-imx-213bf8c822de8eecaf69860684469cdaba2e9e6a.tar.gz u-boot-imx-213bf8c822de8eecaf69860684469cdaba2e9e6a.tar.bz2 |
Add a flattened device tree (fdt) command (2 of 2)
Modifications to the existing code to support the new fdt command.
Diffstat (limited to 'board/mpc8360emds/mpc8360emds.c')
-rw-r--r-- | board/mpc8360emds/mpc8360emds.c | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/board/mpc8360emds/mpc8360emds.c b/board/mpc8360emds/mpc8360emds.c index 535884c..deadb5f 100644 --- a/board/mpc8360emds/mpc8360emds.c +++ b/board/mpc8360emds/mpc8360emds.c @@ -31,6 +31,10 @@ #if defined(CONFIG_OF_FLAT_TREE) #include <ft_build.h> #endif +#if defined(CONFIG_OF_LIBFDT) +#include <libfdt.h> +#include <libfdt_env.h> +#endif const qe_iop_conf_t qe_iop_conf_tab[] = { /* GETH1 */ @@ -658,22 +662,36 @@ U_BOOT_CMD(ecc, 4, 0, do_ecc, " - disables injects\n" " - re-inits memory"); #endif /* if defined(CONFIG_DDR_ECC) && defined(CONFIG_DDR_ECC_CMD) */ -#if defined(CONFIG_OF_FLAT_TREE) && defined(CONFIG_OF_BOARD_SETUP) +#if (defined(CONFIG_OF_FLAT_TREE) || defined(CONFIG_OF_LIBFDT)) \ + && defined(CONFIG_OF_BOARD_SETUP) void ft_board_setup(void *blob, bd_t *bd) { +#if defined(CONFIG_OF_LIBFDT) + int nodeoffset; + int err; + int tmp[2]; + + nodeoffset = fdt_path_offset (fdt, "/memory"); + if (nodeoffset >= 0) { + tmp[0] = cpu_to_be32(bd->bi_memstart); + tmp[1] = cpu_to_be32(bd->bi_memsize); + err = fdt_setprop(fdt, nodeoffset, "reg", tmp, sizeof(tmp)); + } +#else u32 *p; int len; -#ifdef CONFIG_PCI - ft_pci_setup(blob, bd); -#endif - ft_cpu_setup(blob, bd); - p = ft_get_prop(blob, "/memory/reg", &len); if (p != NULL) { *p++ = cpu_to_be32(bd->bi_memstart); *p = cpu_to_be32(bd->bi_memsize); } +#endif + +#ifdef CONFIG_PCI + ft_pci_setup(blob, bd); +#endif + ft_cpu_setup(blob, bd); } #endif |