From 4404be23cbfc79e598efcff7ec54910666762c35 Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 25 Nov 2017 12:21:33 -0600 Subject: [PATCH] XMC4 Serial: The Alternative Receive Interrupt was not being configured. --- arch/arm/src/xmc4/xmc4_lowputc.c | 9 ++++++--- include/nuttx/board.h | 6 +++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/arch/arm/src/xmc4/xmc4_lowputc.c b/arch/arm/src/xmc4/xmc4_lowputc.c index 21a0fc642f..eda2567e5c 100644 --- a/arch/arm/src/xmc4/xmc4_lowputc.c +++ b/arch/arm/src/xmc4/xmc4_lowputc.c @@ -417,15 +417,18 @@ int xmc4_uart_configure(enum usic_channel_e channel, */ regval = getreg32(base + XMC4_USIC_INPR_OFFSET); - regval &= ~(USIC_INPR_TBINP_MASK | USIC_INPR_RINP_MASK | USIC_INPR_PINP_MASK); + regval &= ~(USIC_INPR_TBINP_MASK | USIC_INPR_RINP_MASK | + USIC_INPR_AINP_MASK | USIC_INPR_PINP_MASK); if (((unsigned int)channel & 1) != 0) { - regval |= (USIC_INPR_TBINP_SR1 | USIC_INPR_RINP_SR1 | USIC_INPR_PINP_SR1); + regval |= (USIC_INPR_TBINP_SR1 | USIC_INPR_RINP_SR1 | + USIC_INPR_AINP_SR1 | USIC_INPR_PINP_SR1); } else { - regval |= (USIC_INPR_TBINP_SR0 | USIC_INPR_RINP_SR0 | USIC_INPR_PINP_SR0); + regval |= (USIC_INPR_TBINP_SR0 | USIC_INPR_RINP_SR0 | + USIC_INPR_AINP_SR0 | USIC_INPR_PINP_SR0); } putreg32(regval, base + XMC4_USIC_INPR_OFFSET); diff --git a/include/nuttx/board.h b/include/nuttx/board.h index cfe38d4dd3..af120a8808 100644 --- a/include/nuttx/board.h +++ b/include/nuttx/board.h @@ -345,7 +345,8 @@ void board_tsc_teardown(void); * initialization, then this board interface should be provided. * * This is an internal OS interface. It is invoked by graphics sub-system - * initialization logic (nx_start()). + * initialization logic (nx_start()) or from the LCD framebuffer driver + * (when the NX server is not used). * ****************************************************************************/ @@ -388,6 +389,9 @@ int board_ioctl(unsigned int cmd, uintptr_t arg); * multiple LCD devices. * board_lcd_uninitialize - Uninitialize the LCD support * + * Alternatively, board_graphics_setup() may be used if external graphics + * initialization is configured. + * ****************************************************************************/ #ifdef CONFIG_LCD