aboutsummaryrefslogtreecommitdiffstats
path: root/src/atsam/serial.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/atsam/serial.c')
-rw-r--r--src/atsam/serial.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/atsam/serial.c b/src/atsam/serial.c
index 051256d4..62c8ac44 100644
--- a/src/atsam/serial.c
+++ b/src/atsam/serial.c
@@ -34,6 +34,28 @@ static const uint32_t tx_pin = GPIO('A', 10);
DECL_CONSTANT_STR("RESERVE_PINS_serial", "PA9,PA10");
#endif
+void __visible
+Serial_IRQ_Handler(void)
+{
+ uint32_t status = Port->UART_SR;
+ if (status & UART_SR_RXRDY)
+ serial_rx_byte(Port->UART_RHR);
+ if (status & UART_SR_TXRDY) {
+ uint8_t data;
+ int ret = serial_get_tx_byte(&data);
+ if (ret)
+ Port->UART_IDR = UART_IDR_TXRDY;
+ else
+ Port->UART_THR = data;
+ }
+}
+
+void
+serial_enable_tx_irq(void)
+{
+ Port->UART_IER = UART_IDR_TXRDY;
+}
+
void
serial_init(void)
{
@@ -57,25 +79,3 @@ serial_init(void)
Port->UART_CR = UART_CR_RXEN | UART_CR_TXEN;
}
DECL_INIT(serial_init);
-
-void __visible
-Serial_IRQ_Handler(void)
-{
- uint32_t status = Port->UART_SR;
- if (status & UART_SR_RXRDY)
- serial_rx_byte(Port->UART_RHR);
- if (status & UART_SR_TXRDY) {
- uint8_t data;
- int ret = serial_get_tx_byte(&data);
- if (ret)
- Port->UART_IDR = UART_IDR_TXRDY;
- else
- Port->UART_THR = data;
- }
-}
-
-void
-serial_enable_tx_irq(void)
-{
- Port->UART_IER = UART_IDR_TXRDY;
-}