aboutsummaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorlaforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1>2006-09-21 09:50:49 +0000
committerlaforge <laforge@6dc7ffe9-61d6-0310-9af1-9938baff3ed1>2006-09-21 09:50:49 +0000
commit59a94d4e6a239be93523e6adf31691d9643f1eab (patch)
tree1b248c8cc35eee7a2ea2867529333664bc8f1344 /firmware
parentb0ec57cfec195e22f7b37d59f18d8ebefde0c99c (diff)
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
Diffstat (limited to 'firmware')
-rw-r--r--firmware/src/dfu/dbgu.c6
1 files changed, 5 insertions, 1 deletions
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);