0001
0002
0003
0004
0005
0006
0007 #include <linux/export.h>
0008 #include <asm/bootinfo.h>
0009 #include <asm/setup.h>
0010
0011 #include <loongson.h>
0012
0013
0014 unsigned long loongson_uart_base;
0015
0016 unsigned long _loongson_uart_base;
0017
0018 EXPORT_SYMBOL(loongson_uart_base);
0019 EXPORT_SYMBOL(_loongson_uart_base);
0020
0021 void prom_init_loongson_uart_base(void)
0022 {
0023 switch (mips_machtype) {
0024 case MACH_LEMOTE_FL2E:
0025 loongson_uart_base = LOONGSON_PCIIO_BASE + 0x3f8;
0026 break;
0027 case MACH_LEMOTE_FL2F:
0028 case MACH_LEMOTE_LL2F:
0029 loongson_uart_base = LOONGSON_PCIIO_BASE + 0x2f8;
0030 break;
0031 case MACH_LEMOTE_ML2F7:
0032 case MACH_LEMOTE_YL2F89:
0033 case MACH_DEXXON_GDIUM2F10:
0034 case MACH_LEMOTE_NAS:
0035 default:
0036
0037 loongson_uart_base = LOONGSON_LIO1_BASE + 0x3f8;
0038 break;
0039 }
0040
0041 _loongson_uart_base = TO_UNCAC(loongson_uart_base);
0042 setup_8250_early_printk_port(_loongson_uart_base, 0, 1024);
0043 }