PPC: e500: dt: create global-utils node dynamically
authorAlexander Graf <agraf@suse.de>
Thu, 17 May 2012 12:52:46 +0000 (14:52 +0200)
committerAlexander Graf <agraf@suse.de>
Sat, 23 Jun 2012 23:04:48 +0000 (01:04 +0200)
Signed-off-by: Alexander Graf <agraf@suse.de>
hw/ppce500_mpc8544ds.c
pc-bios/mpc8544ds.dts

index 5c2b6ab..03938b2 100644 (file)
@@ -85,6 +85,7 @@ static int mpc8544_load_device_tree(CPUPPCState *env,
     char ser1[128];
     char mpic[128];
     uint32_t mpic_ph;
+    char gutil[128];
 
     filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, BINARY_DEVICE_TREE_FILE);
     if (!filename) {
@@ -247,6 +248,14 @@ static int mpc8544_load_device_tree(CPUPPCState *env,
     qemu_devtree_setprop_string(fdt, "/aliases", "serial0", ser0);
     qemu_devtree_setprop_string(fdt, "/chosen", "linux,stdout-path", ser0);
 
+    snprintf(gutil, sizeof(gutil), "%s/global-utilities@%x", soc,
+             MPC8544_UTIL_BASE - MPC8544_CCSRBAR_BASE);
+    qemu_devtree_add_subnode(fdt, gutil);
+    qemu_devtree_setprop_string(fdt, gutil, "compatible", "fsl,mpc8544-guts");
+    qemu_devtree_setprop_cells(fdt, gutil, "reg", MPC8544_UTIL_BASE -
+                               MPC8544_CCSRBAR_BASE, 0x1000);
+    qemu_devtree_setprop(fdt, gutil, "fsl,has-rstcr", NULL, 0);
+
     ret = rom_add_blob_fixed(BINARY_DEVICE_TREE_FILE, fdt, fdt_size, addr);
     if (ret < 0) {
         goto out;
index e536ab1..4c7bd75 100644 (file)
                        compatible = "chrp,open-pic";
                        device_type = "open-pic";
                };
-
-                global-utilities@e0000 {        //global utilities block
-                        compatible = "fsl,mpc8544-guts";
-                        reg = <0xe0000 0x1000>;
-                        fsl,has-rstcr;
-                };
        };
 
        pci0: pci@e0008000 {