summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/comm/sercomm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/target/firmware/comm/sercomm.c')
-rw-r--r--src/target/firmware/comm/sercomm.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/target/firmware/comm/sercomm.c b/src/target/firmware/comm/sercomm.c
index ddc852ce..490e2254 100644
--- a/src/target/firmware/comm/sercomm.c
+++ b/src/target/firmware/comm/sercomm.c
@@ -70,6 +70,7 @@ enum rx_state {
static struct {
int initialized;
+ int uart_id;
/* transmit side */
struct {
@@ -90,6 +91,18 @@ static struct {
} sercomm;
+#ifndef HOST_BUILD
+void sercomm_bind_uart(int uart)
+{
+ sercomm.uart_id = uart;
+}
+
+int sercomm_get_uart(void)
+{
+ return sercomm.uart_id;
+}
+#endif
+
void sercomm_init(void)
{
unsigned int i;
@@ -127,7 +140,7 @@ void sercomm_sendmsg(uint8_t dlci, struct msgb *msg)
#ifndef HOST_BUILD
/* tell UART that we have something to send */
- uart_irq_enable(SERCOMM_UART_NR, UART_IRQ_TX_EMPTY, 1);
+ uart_irq_enable(sercomm.uart_id, UART_IRQ_TX_EMPTY, 1);
#endif
}