summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2007-12-14 08:41:29 +0100
committerStefan Roese <sr@denx.de>2007-12-27 19:35:33 +0100
commit871e6ce188a7c6bc7321bcf8372857035d20f1cd (patch)
tree9ec006af36eee76c54320ea0e14af4c4d0937a98
parent136288847e3b04f2ff357a067ad45e10afa0a24c (diff)
ppc4xx: fdt: use fdt_fixup_ethernet()
By using aliases in the dts file, the ethernet node fixup is much easier with the recently added functions. Please note that the dts file needs the aliases for this to work. Signed-off-by: Stefan Roese <sr@denx.de>
-rw-r--r--cpu/ppc4xx/fdt.c73
1 files changed, 2 insertions, 71 deletions
diff --git a/cpu/ppc4xx/fdt.c b/cpu/ppc4xx/fdt.c
index 3ef30004fb7..f351b8bf3c0 100644
--- a/cpu/ppc4xx/fdt.c
+++ b/cpu/ppc4xx/fdt.c
@@ -21,11 +21,6 @@
* MA 02111-1307 USA
*/
-/* define DEBUG for debugging output (obviously ;-)) */
-#if 0
-#define DEBUG
-#endif
-
#include <common.h>
#include <watchdog.h>
#include <command.h>
@@ -39,37 +34,10 @@
DECLARE_GLOBAL_DATA_PTR;
-/*
- * The aliases needed for this generic etherne MAC address
- * fixup function are not in place yet. So don't use this
- * approach for now. This will be enabled later.
- */
-#undef USES_FDT_ALIASES
-
-#ifndef USES_FDT_ALIASES
-static void do_fixup_macaddr(void *fdt, int offset, const void *val, int i)
-{
- int rc;
-
- debug("Updating node EMAC%d\n", i);
-
- rc = fdt_setprop(fdt, offset, "mac-address", val, 6);
- if (rc)
- printf("Unable to update property %s, err=%s\n",
- "mac-address", fdt_strerror(rc));
- rc = fdt_setprop(fdt, offset, "local-mac-address", val, 6);
- if (rc)
- printf("Unable to update property %s, err=%s\n",
- "local-mac-address", fdt_strerror(rc));
-}
-#endif /* USES_FDT_ALIASES */
-
void ft_cpu_setup(void *blob, bd_t *bd)
{
char *cpu_path = "/cpus/" OF_CPU;
sys_info_t sys_info;
- int offset;
- int i;
get_sys_info(&sys_info);
@@ -86,47 +54,10 @@ void ft_cpu_setup(void *blob, bd_t *bd)
*/
do_fixup_by_compat_u32(blob, "ns16550", "clock-frequency", gd->uart_clk, 1);
-#ifdef USES_FDT_ALIASES
/*
- * The aliases needed for this generic etherne MAC address
- * fixup function are not in place yet. So don't use this
- * approach for now. This will be enabled later.
+ * Fixup all ethernet nodes
+ * Note: aliases in the dts are required for this
*/
fdt_fixup_ethernet(blob, bd);
-#else
- offset = -1;
- for (i = 0; i < 4; i++) {
- /*
- * FIXME: This will cause problems with emac3 compatible
- * devices, like on 405GP. But hopefully when we deal
- * with those devices, the aliases stuff will be in
- * place.
- */
- offset = fdt_node_offset_by_compatible(blob, offset, "ibm,emac4");
- if (offset < 0)
- break;
-
- switch (i) {
- case 0:
- do_fixup_macaddr(blob, offset, bd->bi_enetaddr, 0);
- break;
-#ifdef CONFIG_HAS_ETH1
- case 1:
- do_fixup_macaddr(blob, offset, bd->bi_enet1addr, 1);
- break;
-#endif
-#ifdef CONFIG_HAS_ETH2
- case 2:
- do_fixup_macaddr(blob, offset, bd->bi_enet2addr, 2);
- break;
-#endif
-#ifdef CONFIG_HAS_ETH3
- case 3:
- do_fixup_macaddr(blob, offset, bd->bi_enet3addr, 3);
- break;
-#endif
- }
- }
-#endif /* USES_FDT_ALIASES */
}
#endif /* CONFIG_OF_LIBFDT */