mpc83xx: fix phy-connection-type fixup code
authorKim Phillips <kim.phillips@freescale.com>
Mon, 14 Jan 2008 22:14:46 +0000 (16:14 -0600)
committerKim Phillips <kim.phillips@freescale.com>
Wed, 16 Jan 2008 18:00:50 +0000 (12:00 -0600)
use tree passed to us in local blob, not global fdt.

Also use fdt_path_offset to convert to relative offset, since absolute
reference is needed to check for rgmii-id mode string value.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
board/freescale/mpc8360emds/mpc8360emds.c

index 2fcef8b4df8ee6129546f3c6e5305adfab679f83..c1691ae0606105bd05569633904400d02d070b4e 100644 (file)
@@ -318,28 +318,34 @@ void ft_board_setup(void *blob, bd_t *bd)
                const char *prop;
                const char *path;
 
-               nodeoffset = fdt_path_offset(fdt, "/aliases");
+               nodeoffset = fdt_path_offset(blob, "/aliases");
                if (nodeoffset >= 0) {
 #if defined(CONFIG_HAS_ETH0)
                        /* fixup UCC 1 if using rgmii-id mode */
                        path = fdt_getprop(blob, nodeoffset, "ethernet0", NULL);
                        if (path) {
-                               prop = fdt_getprop(blob, nodeoffset,
-                                                       "phy-connection-type", 0);
+                               path = fdt_path_offset(blob, path);
+                               prop = fdt_getprop(blob, path,
+                                                  "phy-connection-type", 0);
                                if (prop && (strcmp(prop, "rgmii-id") == 0))
-                                       fdt_setprop(blob, nodeoffset, "phy-connection-type",
-                                                   "rgmii-rxid", sizeof("rgmii-rxid"));
+                                       fdt_setprop(blob, path,
+                                                   "phy-connection-type",
+                                                   "rgmii-rxid",
+                                                   sizeof("rgmii-rxid"));
                        }
 #endif
 #if defined(CONFIG_HAS_ETH1)
                        /* fixup UCC 2 if using rgmii-id mode */
                        path = fdt_getprop(blob, nodeoffset, "ethernet1", NULL);
                        if (path) {
-                               prop = fdt_getprop(blob, nodeoffset,
-                                                       "phy-connection-type", 0);
+                               path = fdt_path_offset(blob, path);
+                               prop = fdt_getprop(blob, path,
+                                                  "phy-connection-type", 0);
                                if (prop && (strcmp(prop, "rgmii-id") == 0))
-                                       fdt_setprop(blob, nodeoffset, "phy-connection-type",
-                                                   "rgmii-rxid", sizeof("rgmii-rxid"));
+                                       fdt_setprop(blob, path,
+                                                   "phy-connection-type",
+                                                   "rgmii-rxid",
+                                                   sizeof("rgmii-rxid"));
                        }
 #endif
                }