This patch enabled MSI on 8544ds and 8572ds board.
only one MSI interrupt can generate on 8544 board.

Signed-off-by: Jason Jin <[EMAIL PROTECTED]>
---
 arch/powerpc/boot/dts/mpc8544ds.dts      |   16 ++++++++++++++++
 arch/powerpc/boot/dts/mpc8572ds.dts      |   16 ++++++++++++++++
 arch/powerpc/platforms/85xx/mpc85xx_ds.c |    7 ++++++-
 3 files changed, 38 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/boot/dts/mpc8544ds.dts 
b/arch/powerpc/boot/dts/mpc8544ds.dts
index 6a0d8db..1059281 100644
--- a/arch/powerpc/boot/dts/mpc8544ds.dts
+++ b/arch/powerpc/boot/dts/mpc8544ds.dts
@@ -219,6 +219,22 @@
                        device_type = "open-pic";
                        big-endian;
                };
+
+               [EMAIL PROTECTED] {
+                       compatible = "fsl,MPIC-msi";
+                       reg = <0x41600 0x80>;
+                       msi-available-ranges = <0 0x100>;
+                       interrupts = <
+                               0xb0 0
+                               0xb1 0
+                               0xb2 0
+                               0xb3 0
+                               0xb4 0
+                               0xb5 0
+                               0xb6 0
+                               0xb7 0>;
+                       interrupt-parent = <&mpic>;
+               };
        };
 
        pci0: [EMAIL PROTECTED] {
diff --git a/arch/powerpc/boot/dts/mpc8572ds.dts 
b/arch/powerpc/boot/dts/mpc8572ds.dts
index 66f27ab..1c5ae9d 100644
--- a/arch/powerpc/boot/dts/mpc8572ds.dts
+++ b/arch/powerpc/boot/dts/mpc8572ds.dts
@@ -221,6 +221,22 @@
                        fsl,has-rstcr;
                };
 
+               [EMAIL PROTECTED] {
+                       compatible = "fsl,MPIC-msi";
+                       reg = <0x41600 0x80>;
+                       msi-available-ranges = <0 0x100>;
+                       interrupts = <
+                               0xb0 0
+                               0xb1 0
+                               0xb2 0
+                               0xb3 0
+                               0xb4 0
+                               0xb5 0
+                               0xb6 0
+                               0xb7 0>;
+                       interrupt-parent = <&mpic>;
+               };
+
                mpic: [EMAIL PROTECTED] {
                        clock-frequency = <0>;
                        interrupt-controller;
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c 
b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
index dfd8b4a..2696d2f 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
@@ -79,9 +79,13 @@ void __init mpc85xx_ds_pic_init(void)
 
        mpic = mpic_alloc(np, r.start,
                          MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN,
-                       0, 256, " OpenPIC  ");
+                       64, 256, " OpenPIC  ");
        BUG_ON(mpic == NULL);
 
+       mpic_assign_isu(mpic, 0, r.start + 0x10000);
+       mpic_assign_isu(mpic, 1, r.start + 0x10800);
+       mpic_assign_isu(mpic, 2, r.start + 0x11600);
+
        mpic_init(mpic);
 
 #ifdef CONFIG_PPC_I8259
@@ -195,6 +199,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
-- 
1.5.4

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to