This can be used as a wakeup source for power management.

Signed-off-by: Li Yang <le...@freescale.com>
---
 arch/powerpc/boot/dts/p2020ds.dts        |    9 ++++++++-
 arch/powerpc/platforms/85xx/mpc85xx_ds.c |   26 +++++++++++++++++++++++++-
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/boot/dts/p2020ds.dts 
b/arch/powerpc/boot/dts/p2020ds.dts
index 1101914..f4c6520 100644
--- a/arch/powerpc/boot/dts/p2020ds.dts
+++ b/arch/powerpc/boot/dts/p2020ds.dts
@@ -1,7 +1,7 @@
 /*
  * P2020 DS Device Tree Source
  *
- * Copyright 2009 Freescale Semiconductor Inc.
+ * Copyright 2009-2010 Freescale Semiconductor Inc.
  *
  * This program is free software; you can redistribute  it and/or modify it
  * under  the terms of  the GNU General  Public License as published by the
@@ -155,6 +155,13 @@
                        compatible = "fsl,elbc-fcm-nand";
                        reg = <0x6 0x0 0x40000>;
                };
+
+               ngpi...@3,0 {
+                       compatible = "fsl,p2020ds-fpga";
+                       reg = <0x3 0 0x30>;
+                       interrupt-parent = <&mpic>;
+                       interrupts = <0 0>;
+               };
        };
 
        s...@ffe00000 {
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c 
b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
index 8190bc2..a8807fe 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
@@ -4,7 +4,7 @@
  * Author Xianghua Xiao (x.x...@freescale.com)
  * Roy Zang <tie-fei.z...@freescale.com>
  *     - Add PCI/PCI Exprees support
- * Copyright 2007 Freescale Semiconductor Inc.
+ * Copyright 2007-2010 Freescale Semiconductor Inc.
  *
  * This program is free software; you can redistribute  it and/or modify it
  * under  the terms of  the GNU General  Public License as published by the
@@ -200,6 +200,30 @@ static void __init mpc85xx_ds_setup_arch(void)
        printk("MPC85xx DS board from Freescale Semiconductor\n");
 }
 
+static irqreturn_t event_isr(int irq, void *dev_id)
+{
+
+       printk(KERN_INFO "MPC85xxDS: Event button been pushed.\n");
+       return IRQ_HANDLED;
+}
+
+static int __init p2020ds_ngpixis_init(void)
+{
+       int event_irq, ret;
+       struct device_node *np;
+
+       np = of_find_compatible_node(NULL, NULL, "fsl,p2020ds-fpga");
+       if (np) {
+               event_irq = irq_of_parse_and_map(np, 0);
+               ret = request_irq(event_irq, event_isr, 0, "event", NULL);
+               if (ret)
+                       printk(KERN_ERR "Can't request board event int\n");
+               of_node_put(np);
+       }
+       return 0;
+}
+machine_device_initcall(p2020_ds, p2020ds_ngpixis_init);
+
 /*
  * Called very early, device-tree isn't unflattened
  */
-- 
1.6.6-rc1.GIT


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

Reply via email to