summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/lpc17xx/lpc17_irq.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-11-17 03:16:26 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-11-17 03:16:26 +0000
commit4f3a80e30cf925912316179463f7f1288bd0aac8 (patch)
treec6eac2ed2d8c57861d33663cebc9c39e11a909ec /nuttx/arch/arm/src/lpc17xx/lpc17_irq.c
parent4d176147d29f98d75bcf15c0a377cf92048174e9 (diff)
downloadpx4-nuttx-4f3a80e30cf925912316179463f7f1288bd0aac8.tar.gz
px4-nuttx-4f3a80e30cf925912316179463f7f1288bd0aac8.tar.bz2
px4-nuttx-4f3a80e30cf925912316179463f7f1288bd0aac8.zip
misc updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3116 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/lpc17xx/lpc17_irq.c')
-rwxr-xr-xnuttx/arch/arm/src/lpc17xx/lpc17_irq.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/lpc17xx/lpc17_irq.c b/nuttx/arch/arm/src/lpc17xx/lpc17_irq.c
index 886bb7480..59802d87d 100755
--- a/nuttx/arch/arm/src/lpc17xx/lpc17_irq.c
+++ b/nuttx/arch/arm/src/lpc17xx/lpc17_irq.c
@@ -260,6 +260,33 @@ static int lpc17_irqinfo(int irq, uint32_t *regaddr, uint32_t *bit)
}
/****************************************************************************
+ * Name: lpc17_clrpend
+ *
+ * Description:
+ * Clear a pending interrupt.
+ *
+ ****************************************************************************/
+
+static inline void lpc17_clrpend(int irq)
+{
+#if 0 /* Necessary? */
+ /* Check for external interrupt */
+
+ if (irq >= LPC17_IRQ_EXTINT)
+ {
+ if (irq < (LPC17_IRQ_EXTINT+32))
+ {
+ putreg32(1 << (irq - LPC17_IRQ_EXTINT), NVIC_IRQ0_31_CLRPEND);
+ }
+ else if (irq < LPC17_IRQ_NIRQS)
+ {
+ putreg32(1 << (irq - LPC17_IRQ_EXTINT - 32), NVIC_IRQ32_63_CLRPEND);
+ }
+ }
+#endif
+}
+
+/****************************************************************************
* Public Functions
****************************************************************************/
@@ -426,6 +453,7 @@ void up_enable_irq(int irq)
void up_maskack_irq(int irq)
{
up_disable_irq(irq);
+ lpc17_clrpend(irq);
}
/****************************************************************************