From 59a94d4e6a239be93523e6adf31691d9643f1eab Mon Sep 17 00:00:00 2001
From: laforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1>
Date: Thu, 21 Sep 2006 09:50:49 +0000
Subject: use POSITIVE_EDGE as a workaround to the irq storm if HIGH_LEVEL is
 used.  This basically disables any input from the dbgu serial port, but we
 don't need it in DFU anyway.

git-svn-id: https://svn.openpcd.org:2342/trunk@213 6dc7ffe9-61d6-0310-9af1-9938baff3ed1
---
 firmware/src/dfu/dbgu.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

(limited to 'firmware')

diff --git a/firmware/src/dfu/dbgu.c b/firmware/src/dfu/dbgu.c
index a95322f..725d495 100644
--- a/firmware/src/dfu/dbgu.c
+++ b/firmware/src/dfu/dbgu.c
@@ -63,8 +63,12 @@ void AT91F_DBGU_Init(void)
 	AT91F_US_EnableIt((AT91PS_USART) AT91C_BASE_DBGU, AT91C_US_RXRDY);
 
 	/* open interrupt */
+
+	/* FIXME: This should be HIGH_LEVEL, but somehow this triggers an
+	 * interrupt storm. no idea why it's working in 'os' but not in 'dfu'
+	 * */
 	AT91F_AIC_ConfigureIt(AT91C_BASE_AIC, AT91C_ID_SYS, USART_SYS_LEVEL,
-			      AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL,
+			      AT91C_AIC_SRCTYPE_INT_POSITIVE_EDGE,
 			      DBGU_irq_handler);
 	AT91F_AIC_EnableIt(AT91C_BASE_AIC, AT91C_ID_SYS);
 
-- 
cgit v1.2.3