XMC4 Serial: The Alternative Receive Interrupt was not being configured.

This commit is contained in:
Gregory Nutt 2017-11-25 12:21:33 -06:00
parent 5c27c0dad4
commit 4404be23cb
2 changed files with 11 additions and 4 deletions

View File

@ -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);

View File

@ -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