+ // TODO: Programmable baud rate
+ //PIO_MOV_RI2(R0, 0x3F8), // TODO: programmable port number
+ PIO_ADD_RI2(R0, 1),
+ PIO_OUT_RI1(R0, 0x00), // +1 = 0x00 - Disable interrupts
+ PIO_ADD_RI2(R0, 2),
+ PIO_OUT_RI1(R0, 0x80), // +3 = 0x80 - Enable DLAB
+ PIO_SUB_RI2(R0, 3),
+ PIO_OUT_RI1(R0, 0x01), // +0 = 0x01 - Divisor low (115200 baud)
+ PIO_ADD_RI2(R0, 1),
+ PIO_OUT_RI1(R0, 0x00), // +1 = 0x00 - Divisor high
+ PIO_ADD_RI2(R0, 2),
+ PIO_OUT_RI1(R0, 0x03), // +3 = 0x03 - 8n1
+ PIO_SUB_RI2(R0, 1),
+ PIO_OUT_RI1(R0, 0xC7), // +2 = 0xC7 - Clear FIFO, 14-byte threshold
+ PIO_ADD_RI2(R0, 2),
+ PIO_OUT_RI1(R0, 0x0B), // +4 = 0x0B - IRQs enabled, RTS/DSR set
+ PIO_SUB_RI2(R0, 3),
+ PIO_OUT_RI1(R0, 0x0B), // +1 = 0x05 - Enable ERBFI (Rx Full), ELSI (Line Status)