mpc83xx: move common /memory node update mechanism to cpu.c
authorKim Phillips <kim.phillips@freescale.com>
Thu, 16 Aug 2007 03:30:26 +0000 (22:30 -0500)
committerKim Phillips <kim.phillips@freescale.com>
Thu, 16 Aug 2007 03:36:33 +0000 (22:36 -0500)
also adds common prototypes to include/common.h.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
board/freescale/mpc8323erdb/mpc8323erdb.c
board/mpc8360emds/mpc8360emds.c
cpu/mpc83xx/cpu.c
include/common.h

index 1886f196b27d8bcd2e92cd0c1df913606c19a811..81b82b7606d7728ea01e940e41f79f0084af3f61 100644 (file)
@@ -17,7 +17,6 @@
 #include <miiphy.h>
 #include <command.h>
 #include <libfdt.h>
-#include <libfdt_env.h>
 #if defined(CONFIG_PCI)
 #include <pci.h>
 #endif
@@ -185,31 +184,10 @@ void pci_init_board(void)
 }
 
 #if defined(CONFIG_OF_BOARD_SETUP)
-
-/*
- * Prototypes of functions that we use.
- */
-void ft_cpu_setup(void *blob, bd_t *bd);
-
-#ifdef CONFIG_PCI
-void ft_pci_setup(void *blob, bd_t *bd);
-#endif
-
 void
 ft_board_setup(void *blob, bd_t *bd)
 {
-       int nodeoffset;
-       int tmp[2];
-
-       nodeoffset = fdt_find_node_by_path(blob, "/memory");
-       if (nodeoffset >= 0) {
-               tmp[0] = cpu_to_be32(bd->bi_memstart);
-               tmp[1] = cpu_to_be32(bd->bi_memsize);
-               fdt_setprop(blob, nodeoffset, "reg", tmp, sizeof(tmp));
-       }
-
        ft_cpu_setup(blob, bd);
-
 #ifdef CONFIG_PCI
        ft_pci_setup(blob, bd);
 #endif
index e37d2dcbeed746fc511486474532674e4d13fe64..eec46fb3ac7f1403dbe19d9fa58c948c6e4d567b 100644 (file)
@@ -29,7 +29,6 @@
 #include <ft_build.h>
 #elif defined(CONFIG_OF_LIBFDT)
 #include <libfdt.h>
-#include <libfdt_env.h>
 #endif
 
 const qe_iop_conf_t qe_iop_conf_tab[] = {
@@ -287,38 +286,10 @@ void sdram_init(void)
 
 #if (defined(CONFIG_OF_FLAT_TREE) || defined(CONFIG_OF_LIBFDT)) \
      && defined(CONFIG_OF_BOARD_SETUP)
-
-/*
- * Prototypes of functions that we use.
- */
-void ft_cpu_setup(void *blob, bd_t *bd);
-
-#ifdef CONFIG_PCI
-void ft_pci_setup(void *blob, bd_t *bd);
-#endif
-
 void
 ft_board_setup(void *blob, bd_t *bd)
 {
-#if defined(CONFIG_OF_LIBFDT)
-       int nodeoffset;
-       int tmp[2];
-
-       nodeoffset = fdt_find_node_by_path(blob, "/memory");
-       if (nodeoffset < 0) {
-               nodeoffset = fdt_add_subnode(blob, 0, "memory");
-               if (nodeoffset < 0)
-                       printf("WARNING: failed to add /memory node: %s\n",
-                               fdt_strerror(nodeoffset));
-       }
-       if (nodeoffset >= 0) {
-               fdt_setprop(blob, nodeoffset, "device_type",
-                           "memory", sizeof("memory"));
-               tmp[0] = cpu_to_be32(bd->bi_memstart);
-               tmp[1] = cpu_to_be32(bd->bi_memsize);
-               fdt_setprop(blob, nodeoffset, "reg", tmp, sizeof(tmp));
-       }
-#else
+#if defined(CONFIG_OF_FLAT_TREE)
        u32 *p;
        int len;
 
index 4deb5e516f1a3a7de8fa58fcc2320a9c07b61902..e634f0a25b25597f89b47cfe96a4f99d83d564c5 100644 (file)
@@ -523,9 +523,10 @@ static const struct {
 void
 ft_cpu_setup(void *blob, bd_t *bd)
 {
-       int  nodeoffset;
-       int  err;
-       int  j;
+       int nodeoffset;
+       int err;
+       int j;
+       int tmp[2];
 
        for (j = 0; j < (sizeof(fixup_props) / sizeof(fixup_props[0])); j++) {
                nodeoffset = fdt_find_node_by_path(blob, fixup_props[j].node);
@@ -534,15 +535,29 @@ ft_cpu_setup(void *blob, bd_t *bd)
                                                    fixup_props[j].prop, bd);
                        if (err < 0)
                                debug("Problem setting %s = %s: %s\n",
-                                       fixup_props[j].node,
-                                       fixup_props[j].prop,
-                                       fdt_strerror(err));
+                                     fixup_props[j].node, fixup_props[j].prop,
+                                     fdt_strerror(err));
                } else {
                        debug("Couldn't find %s: %s\n",
-                               fixup_props[j].node,
-                               fdt_strerror(nodeoffset));
+                             fixup_props[j].node, fdt_strerror(nodeoffset));
                }
        }
+
+       /* update, or add and update /memory node */
+       nodeoffset = fdt_find_node_by_path(blob, "/memory");
+       if (nodeoffset < 0) {
+               nodeoffset = fdt_add_subnode(blob, 0, "memory");
+               if (nodeoffset < 0)
+                       debug("failed to add /memory node: %s\n",
+                             fdt_strerror(nodeoffset));
+       }
+       if (nodeoffset >= 0) {
+               fdt_setprop(blob, nodeoffset, "device_type",
+                           "memory", sizeof("memory"));
+               tmp[0] = cpu_to_be32(bd->bi_memstart);
+               tmp[1] = cpu_to_be32(bd->bi_memsize);
+               fdt_setprop(blob, nodeoffset, "reg", tmp, sizeof(tmp));
+       }
 }
 #elif defined(CONFIG_OF_FLAT_TREE)
 void
index 27a660a4d69d51d8e03d17b40198a31ed55712cc..9a5a0ab7988ce58a24a21192793167cf10c11f0a 100644 (file)
@@ -434,6 +434,13 @@ int        checkdcache   (void);
 void   upmconfig     (unsigned int, unsigned int *, unsigned int);
 ulong  get_tbclk     (void);
 void   reset_cpu     (ulong addr);
+#if defined (CONFIG_OF_LIBFDT) && defined (CONFIG_OF_BOARD_SETUP)
+void ft_cpu_setup(void *blob, bd_t *bd);
+#ifdef CONFIG_PCI
+void ft_pci_setup(void *blob, bd_t *bd);
+#endif
+#endif
+
 
 /* $(CPU)/serial.c */
 int    serial_init   (void);