[POWERPC] 85xx: Enable MSI support for 85xxds board
authorJason Jin <Jason.jin@freescale.com>
Fri, 23 May 2008 08:32:48 +0000 (16:32 +0800)
committerKumar Gala <galak@kernel.crashing.org>
Mon, 2 Jun 2008 19:44:24 +0000 (14:44 -0500)
This patch enabled MSI on 8544ds and 8572ds board.
So far only one MSI interrupt can generate on 8544 board.

Signed-off-by: Jason Jin <Jason.jin@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/boot/dts/mpc8544ds.dts
arch/powerpc/boot/dts/mpc8572ds.dts
arch/powerpc/platforms/85xx/mpc85xx_ds.c

index 6a0d8db96d97c8935838e6978ec88a3583deca42..1cfd97078170e27f54c0bf78f013a4225aeca3e5 100644 (file)
                        device_type = "open-pic";
                        big-endian;
                };
+
+               msi@41600 {
+                       compatible = "fsl,mpc8544-msi", "fsl,mpic-msi";
+                       reg = <0x41600 0x80>;
+                       msi-available-ranges = <0 0x100>;
+                       interrupts = <
+                               0xe0 0
+                               0xe1 0
+                               0xe2 0
+                               0xe3 0
+                               0xe4 0
+                               0xe5 0
+                               0xe6 0
+                               0xe7 0>;
+                       interrupt-parent = <&mpic>;
+               };
        };
 
        pci0: pci@e0008000 {
index 66f27ab613a28eb89f893c98283af7aef9ad2c25..174d51aff9240908e47471cca704e1c455a47add 100644 (file)
                        fsl,has-rstcr;
                };
 
+               msi@41600 {
+                       compatible = "fsl,mpc8572-msi", "fsl,mpic-msi";
+                       reg = <0x41600 0x80>;
+                       msi-available-ranges = <0 0x100>;
+                       interrupts = <
+                               0xe0 0
+                               0xe1 0
+                               0xe2 0
+                               0xe3 0
+                               0xe4 0
+                               0xe5 0
+                               0xe6 0
+                               0xe7 0>;
+                       interrupt-parent = <&mpic>;
+               };
+
                mpic: pic@40000 {
                        clock-frequency = <0>;
                        interrupt-controller;
index dfd8b4ad9b2854835ad27b9fe794a60b20537a81..b010dc9dec65cf5bd455291c55007cac33d23673 100644 (file)
@@ -78,7 +78,8 @@ void __init mpc85xx_ds_pic_init(void)
        }
 
        mpic = mpic_alloc(np, r.start,
-                         MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN,
+                         MPIC_PRIMARY | MPIC_WANTS_RESET |
+                         MPIC_BIG_ENDIAN | MPIC_BROKEN_FRR_NIRQS,
                        0, 256, " OpenPIC  ");
        BUG_ON(mpic == NULL);
 
@@ -195,6 +196,7 @@ static int __init mpc85xxds_publish_devices(void)
        return of_platform_bus_probe(NULL, mpc85xxds_ids, NULL);
 }
 machine_device_initcall(mpc8544_ds, mpc85xxds_publish_devices);
+machine_device_initcall(mpc8572_ds, mpc85xxds_publish_devices);
 
 /*
  * Called very early, device-tree isn't unflattened