|
@@ -21,11 +21,6 @@
|
|
* MA 02111-1307 USA
|
|
* MA 02111-1307 USA
|
|
*/
|
|
*/
|
|
|
|
|
|
-/* define DEBUG for debugging output (obviously ;-)) */
|
|
|
|
-#if 0
|
|
|
|
-#define DEBUG
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
#include <common.h>
|
|
#include <common.h>
|
|
#include <watchdog.h>
|
|
#include <watchdog.h>
|
|
#include <command.h>
|
|
#include <command.h>
|
|
@@ -39,37 +34,10 @@
|
|
|
|
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
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)
|
|
void ft_cpu_setup(void *blob, bd_t *bd)
|
|
{
|
|
{
|
|
char *cpu_path = "/cpus/" OF_CPU;
|
|
char *cpu_path = "/cpus/" OF_CPU;
|
|
sys_info_t sys_info;
|
|
sys_info_t sys_info;
|
|
- int offset;
|
|
|
|
- int i;
|
|
|
|
|
|
|
|
get_sys_info(&sys_info);
|
|
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);
|
|
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);
|
|
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 */
|
|
#endif /* CONFIG_OF_LIBFDT */
|