浏览代码

Update MPC8568 MDS to use libfdt

Updated the MPC8568 MDS config to use libfdt and assume use of aliases for
ethernet, pci, and serial for the various fixups that are done.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Kumar Gala 17 年之前
父节点
当前提交
c480861bf0
共有 2 个文件被更改,包括 22 次插入35 次删除
  1. 19 27
      board/mpc8568mds/mpc8568mds.c
  2. 3 8
      include/configs/MPC8568MDS.h

+ 19 - 27
board/mpc8568mds/mpc8568mds.c

@@ -30,10 +30,8 @@
 #include <spd.h>
 #include <spd.h>
 #include <i2c.h>
 #include <i2c.h>
 #include <ioports.h>
 #include <ioports.h>
-
-#if defined(CONFIG_OF_FLAT_TREE)
-#include <ft_build.h>
-#endif
+#include <libfdt.h>
+#include <fdt_support.h>
 
 
 #include "bcsr.h"
 #include "bcsr.h"
 
 
@@ -528,38 +526,32 @@ pci_init_board(void)
 }
 }
 #endif /* CONFIG_PCI */
 #endif /* CONFIG_PCI */
 
 
-#if defined(CONFIG_OF_FLAT_TREE) && defined(CONFIG_OF_BOARD_SETUP)
+#if defined(CONFIG_OF_BOARD_SETUP)
 void
 void
 ft_board_setup(void *blob, bd_t *bd)
 ft_board_setup(void *blob, bd_t *bd)
 {
 {
-	u32 *p;
-	int len;
+	int node, tmp[2];
+	const char *path;
 
 
 	ft_cpu_setup(blob, bd);
 	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);
-	}
 
 
+	node = fdt_path_offset(blob, "/aliases");
+	tmp[0] = 0;
+	if (node >= 0) {
 #ifdef CONFIG_PCI1
 #ifdef CONFIG_PCI1
-	p = (u32 *)ft_get_prop(blob, "/" OF_SOC "/pci@8000/bus-range", &len);
-	if (p != NULL) {
-		p[0] = 0;
-		p[1] = pci1_hose.last_busno - pci1_hose.first_busno;
-		debug("PCI@8000 first_busno=%d last_busno=%d\n",p[0],p[1]);
-	}
+		path = fdt_getprop(blob, node, "pci0", NULL);
+		if (path) {
+			tmp[1] = pci1_hose.last_busno - pci1_hose.first_busno;
+			do_fixup_by_path(blob, path, "bus-range", &tmp, 8, 1);
+		}
 #endif
 #endif
-
 #ifdef CONFIG_PCIE1
 #ifdef CONFIG_PCIE1
-	p = (u32 *)ft_get_prop(blob, "/" OF_SOC "/pcie@a000/bus-range", &len);
-	if (p != NULL) {
-		p[0] = 0;
-		p[1] = pcie1_hose.last_busno - pcie1_hose.first_busno;
-		debug("PCI@a000 first_busno=%d last_busno=%d\n",p[0],p[1]);
-	}
+		path = fdt_getprop(blob, node, "pci1", NULL);
+		if (path) {
+			tmp[1] = pcie1_hose.last_busno - pcie1_hose.first_busno;
+			do_fixup_by_path(blob, path, "bus-range", &tmp, 8, 1);
+		}
 #endif
 #endif
+	}
 }
 }
 #endif
 #endif
-
-

+ 3 - 8
include/configs/MPC8568MDS.h

@@ -296,14 +296,9 @@ extern unsigned long get_clock_freq(void);
 #endif
 #endif
 
 
 /* pass open firmware flat tree */
 /* pass open firmware flat tree */
-#define CONFIG_OF_FLAT_TREE	1
-#define CONFIG_OF_BOARD_SETUP	1
-
-#define OF_CPU			"PowerPC,8568@0"
-#define OF_SOC			"soc8568@e0000000"
-#define OF_QE			"qe@e0080000"
-#define OF_TBCLK		(bd->bi_busfreq / 8)
-#define OF_STDOUT_PATH		"/soc8568@e0000000/serial@4500"
+#define CONFIG_OF_LIBFDT		1
+#define CONFIG_OF_BOARD_SETUP		1
+#define CONFIG_OF_STDOUT_VIA_ALIAS	1
 
 
 /*
 /*
  * I2C
  * I2C