From 9d393e167c1403dfff153ff94616d997f6add010 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 7 Dec 2013 11:46:08 -0600 Subject: [PATCH] A10: Handle UART BUSY interrupt; Back out change to mkconfig.c -- it causes problems for assembly --- ChangeLog | 5 +++++ arch/arm/src/a1x/a1x_serial.c | 7 ++++++- tools/mkconfig.c | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7ebfac3144..32e9073fde 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6374,3 +6374,8 @@ missing interrupt handling logic for UART4-7 (2014-1-6). * nuttx/tools/mkconfig.c: Cast size to unsigned in calculation of CONFIG_RAM_END to avoid complains about integer overflow (2013-1-6). + * nuttx/tools/mkconfig.c: Back out the last change, this causes + problems for assembly language. How to prevent the integer over- + flow warnings? (2014-1-6). + * arch/arm/src/a1x/a1x_serial.c: Handle BUSY interrupt (2014-1-6). + diff --git a/arch/arm/src/a1x/a1x_serial.c b/arch/arm/src/a1x/a1x_serial.c index d821377834..0864fb5518 100644 --- a/arch/arm/src/a1x/a1x_serial.c +++ b/arch/arm/src/a1x/a1x_serial.c @@ -1173,12 +1173,17 @@ static int uart_interrupt(struct uart_dev_s *dev) break; } + /* Busy detect. Just ignore. Cleared by reading the status register */ + + case UART_IIR_IID_BUSY: + break; + /* Otherwise, there is no (handled) interrupt pending */ case UART_IIR_IID_NONE: default: { - dbg("Unexpected IIR: %02x\n", status); + lldbg("Unexpected IIR: %02x\n", status); break; } } diff --git a/tools/mkconfig.c b/tools/mkconfig.c index 431a5cdb5a..18d91e7c75 100644 --- a/tools/mkconfig.c +++ b/tools/mkconfig.c @@ -182,7 +182,7 @@ int main(int argc, char **argv, char **envp) printf(" * of RAM plus the RAM size.\n"); printf(" */\n\n"); printf("#ifndef CONFIG_RAM_END\n"); - printf("# define CONFIG_RAM_END (CONFIG_RAM_START+(unsigned)CONFIG_RAM_SIZE)\n"); + printf("# define CONFIG_RAM_END (CONFIG_RAM_START+CONFIG_RAM_SIZE)\n"); printf("#endif\n\n"); printf("#ifndef CONFIG_RAM_VEND\n"); printf("# define CONFIG_RAM_VEND (CONFIG_RAM_VSTART+CONFIG_RAM_SIZE)\n");