SAM3/4 and SAMV7 UART: The IMR register is read-only. This means that sam_restoreints() does not actually re-enable UART interrupts.
This commit is contained in:
parent
9e1a7113f7
commit
35312b31f9
@ -299,8 +299,6 @@ void up_lowputc(char ch)
|
||||
/* Send the character */
|
||||
|
||||
putreg32((uint32_t)ch, SAM_CONSOLE_BASE + SAM_UART_THR_OFFSET);
|
||||
irqrestore(flags);
|
||||
return;
|
||||
}
|
||||
|
||||
irqrestore(flags);
|
||||
|
@ -652,7 +652,7 @@ static inline void up_restoreusartint(struct up_dev_s *priv, uint32_t imr)
|
||||
{
|
||||
/* Restore the previous interrupt state */
|
||||
|
||||
up_serialout(priv, SAM_UART_IMR_OFFSET, imr);
|
||||
up_serialout(priv, SAM_UART_IER_OFFSET, imr);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -226,8 +226,6 @@ void up_lowputc(char ch)
|
||||
/* Send the character */
|
||||
|
||||
putreg32((uint32_t)ch, SAM_CONSOLE_BASE + SAM_UART_THR_OFFSET);
|
||||
irqrestore(flags);
|
||||
return;
|
||||
}
|
||||
|
||||
irqrestore(flags);
|
||||
|
@ -712,7 +712,7 @@ static inline void sam_restoreusartint(struct sam_dev_s *priv, uint32_t imr)
|
||||
{
|
||||
/* Restore the previous interrupt state */
|
||||
|
||||
sam_serialout(priv, SAM_UART_IMR_OFFSET, imr);
|
||||
sam_serialout(priv, SAM_UART_IER_OFFSET, imr);
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
Loading…
Reference in New Issue
Block a user