From 59a94d4e6a239be93523e6adf31691d9643f1eab Mon Sep 17 00:00:00 2001 From: laforge 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/src') 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