]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Initialise remaining UART registers on Yeeloong
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 16 Feb 2010 21:40:53 +0000 (22:40 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 16 Feb 2010 21:40:53 +0000 (22:40 +0100)
include/grub/serial.h
term/serial.c

index 1c35b409301bbc52e48c3f87b8a81146072fe73e..758b6fb3ef7905faa16e2c996048a70615892a1d 100644 (file)
 #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 */
index 05497ce40976e7980e1a2e0e494b169fc13f4108..2dbebc2f1c94c0a9b1315e82bd818ae3c4c1e1c9 100644 (file)
@@ -300,10 +300,17 @@ serial_hw_init (void)
   /* 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.  */