]> git.sur5r.net Git - u-boot/commitdiff
Update MPC8560 ADS to use libfdt
authorKumar Gala <galak@kernel.crashing.org>
Thu, 29 Nov 2007 04:40:31 +0000 (22:40 -0600)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 12 Dec 2007 04:34:19 +0000 (22:34 -0600)
Updated the MPC8560 ADS 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>
board/mpc8560ads/mpc8560ads.c
include/configs/MPC8560ADS.h

index 4a30bce2a79d37e71b2623ad01455b580f43b997..7a7941f18ea8e09cf6efb2d4a6f1dc3949951a9a 100644 (file)
 #include <ioports.h>
 #include <spd.h>
 #include <miiphy.h>
-
-#if defined(CONFIG_OF_FLAT_TREE)
-#include <ft_build.h>
-#endif
+#include <libfdt.h>
+#include <fdt_support.h>
 
 #if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
 extern void ddr_enable_ecc(unsigned int dram_size);
@@ -547,35 +545,25 @@ pci_init_board(void)
 }
 
 
-#if defined(CONFIG_OF_FLAT_TREE) && defined(CONFIG_OF_BOARD_SETUP)
-void
-ft_soc_setup(void *blob, bd_t *bd)
-{
-       u32 *p;
-       int len;
-
-       p = ft_get_prop(blob, "/" OF_SOC "/cpm@e0000000/brg-frequency", &len);
-
-       if (p != NULL)
-               *p = cpu_to_be32(bd->bi_brgfreq);
-
-       p = ft_get_prop(blob,
-                       "/" OF_SOC "/cpm@e0000000/scc@91a00/current-speed",
-                       &len);
-       if (p != NULL)
-               *p = cpu_to_be32(bd->bi_baudrate);
-
-       p = ft_get_prop(blob,
-                       "/" OF_SOC "/cpm@e0000000/scc@91a20/current-speed",
-                       &len);
-       if (p != NULL)
-               *p = cpu_to_be32(bd->bi_baudrate);
-}
-
+#if defined(CONFIG_OF_BOARD_SETUP)
 void
 ft_board_setup(void *blob, bd_t *bd)
 {
+       int node, tmp[2];
+       const char *path;
+
        ft_cpu_setup(blob, bd);
-       ft_soc_setup(blob, bd);
+
+       node = fdt_path_offset(blob, "/aliases");
+       tmp[0] = 0;
+       if (node >= 0) {
+#ifdef CONFIG_PCI
+               path = fdt_getprop(blob, node, "pci0", NULL);
+               if (path) {
+                       tmp[1] = hose.last_busno - hose.first_busno;
+                       do_fixup_by_path(blob, path, "bus-range", &tmp, 8, 1);
+               }
+#endif
+       }
 }
 #endif
index a8f362fa134afa163e21f68e03a6b147117d099e..a24ac1540079496582d2c2e0c1627955afbcf6ee 100644 (file)
 #endif
 
 /* pass open firmware flat tree */
-#define CONFIG_OF_FLAT_TREE    1
-#define CONFIG_OF_BOARD_SETUP  1
-
-#define OF_CPU                 "PowerPC,8560@0"
-#define OF_SOC                 "soc8560@e0000000"
-#define OF_TBCLK               (bd->bi_busfreq / 8)
-#define OF_STDOUT_PATH         "/soc8560@e0000000/serial@4500"
+#define CONFIG_OF_LIBFDT               1
+#define CONFIG_OF_BOARD_SETUP          1
+#define CONFIG_OF_STDOUT_VIA_ALIAS     1
 
 /*
  * I2C
 #define CONFIG_ETH1ADDR  00:E0:0C:00:01:FD
 #define CONFIG_HAS_ETH2
 #define CONFIG_ETH2ADDR  00:E0:0C:00:02:FD
+#define CONFIG_HAS_ETH3
+#define CONFIG_ETH3ADDR  00:E0:0C:00:03:FD
 #endif
 
 #define CONFIG_IPADDR    192.168.1.253