#define UART_DLAB 0x80
/* Enable the FIFO. */
-#define UART_ENABLE_FIFO 0xC7
+#define UART_ENABLE_FIFO_TRIGGER14 0xC7
+
+/* Enable the FIFO. */
+#define UART_ENABLE_FIFO_TRIGGER1 0x07
+
+/* Turn on DTR, RTS, and OUT2. */
+#define UART_ENABLE_DTRRTS 0x03
/* Turn on DTR, RTS, and OUT2. */
-#define UART_ENABLE_MODEM 0x0B
+#define UART_ENABLE_OUT2 0x08
#endif /* ! GRUB_SERIAL_MACHINE_HEADER */
/* In Yeeloong serial port has only 3 wires. */
#ifndef GRUB_MACHINE_MIPS_YEELOONG
/* Enable the FIFO. */
- grub_outb (UART_ENABLE_FIFO, serial_settings.port + UART_FCR);
+ grub_outb (UART_ENABLE_FIFO_TRIGGER1, serial_settings.port + UART_FCR);
+
+ /* Turn on DTR and RTS. */
+ grub_outb (UART_ENABLE_DTRRTS, serial_settings.port + UART_MCR);
+#else
+ /* Enable the FIFO. */
+ grub_outb (UART_ENABLE_FIFO_TRIGGER14, serial_settings.port + UART_FCR);
/* Turn on DTR, RTS, and OUT2. */
- grub_outb (UART_ENABLE_MODEM, serial_settings.port + UART_MCR);
+ grub_outb (UART_ENABLE_DTRRTS | UART_ENABLE_OUT2,
+ serial_settings.port + UART_MCR);
#endif
/* Drain the input buffer. */