This patch enable the MSI on 8610hpcd board.
Through the msi-available-ranges property, All the 256
msi interrupts can be tested on this board.

Signed-off-by: Jason Jin <[EMAIL PROTECTED]>
---
compatible name in dts was changed in V2 version.

 arch/powerpc/boot/dts/mpc8610_hpcd.dts     |   16 ++++++++++++++++
 arch/powerpc/platforms/86xx/mpc8610_hpcd.c |    6 +++++-
 2 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/boot/dts/mpc8610_hpcd.dts 
b/arch/powerpc/boot/dts/mpc8610_hpcd.dts
index bba234e..93e681b 100644
--- a/arch/powerpc/boot/dts/mpc8610_hpcd.dts
+++ b/arch/powerpc/boot/dts/mpc8610_hpcd.dts
@@ -128,6 +128,22 @@
                        big-endian;
                };
 
+               [EMAIL PROTECTED] {
+                       compatible = "fsl,86xx-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>;
+               };
+
                [EMAIL PROTECTED] {
                        compatible = "fsl,mpc8610-guts";
                        reg = <0xe0000 0x1000>;
diff --git a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c 
b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
index 5e1e8cf..59f75f7 100644
--- a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
+++ b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
@@ -70,9 +70,13 @@ static void __init mpc86xx_hpcd_init_irq(void)
        /* Alloc mpic structure and per isu has 16 INT entries. */
        mpic1 = mpic_alloc(np, res.start,
                        MPIC_PRIMARY | MPIC_WANTS_RESET | MPIC_BIG_ENDIAN,
-                       0, 256, " MPIC     ");
+                       64, 256, " MPIC     ");
        BUG_ON(mpic1 == NULL);
 
+       mpic_assign_isu(mpic1, 0, res.start + 0x10000);
+       mpic_assign_isu(mpic1, 1, res.start + 0x10800);
+       mpic_assign_isu(mpic1, 2, res.start + 0x11600);
+
        mpic_init(mpic1);
 }
 
-- 
1.5.4

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

Reply via email to