malta: Tidy up UART address selection
authorPaul Burton <paul.burton@imgtec.com>
Tue, 17 May 2016 06:43:27 +0000 (07:43 +0100)
committerDaniel Schwierzeck <daniel.schwierzeck@gmail.com>
Wed, 25 May 2016 23:34:13 +0000 (01:34 +0200)
The address of the UART differs based upon the system controller because
it's actually within the I/O port region, which is in a different
location for each system controller. Rather than handling this as 2
UARTs with the correct one selected at runtime, use I/O port accessors
for the UART such that access to it gets translated into the I/O port
region automatically.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
board/imgtec/malta/malta.c
include/configs/malta.h

index 3a9e780..4955043 100644 (file)
@@ -12,7 +12,6 @@
 #include <pci_gt64120.h>
 #include <pci_msc01.h>
 #include <rtc.h>
-#include <serial.h>
 
 #include <asm/addrspace.h>
 #include <asm/io.h>
@@ -161,18 +160,6 @@ int misc_init_r(void)
        return 0;
 }
 
-struct serial_device *default_serial_console(void)
-{
-       switch (malta_sys_con()) {
-       case SYSCON_GT64120:
-               return &eserial1_device;
-
-       default:
-       case SYSCON_MSC01:
-               return &eserial2_device;
-       }
-}
-
 void pci_init_board(void)
 {
        pci_dev_t bdf;
index 04dca71..1c3c83c 100644 (file)
 #define CONFIG_BAUDRATE                        115200
 
 #define CONFIG_SYS_NS16550_SERIAL
+#define CONFIG_SYS_NS16550_PORT_MAPPED
 #define CONFIG_SYS_NS16550_REG_SIZE    1
 #define CONFIG_SYS_NS16550_CLK         (115200 * 16)
-#define CONFIG_SYS_NS16550_COM1                0xb80003f8
-#define CONFIG_SYS_NS16550_COM2                0xbb0003f8
+#define CONFIG_SYS_NS16550_COM1                0x3f8
 #define CONFIG_CONS_INDEX              1
 
 /*